PyUI Helper is a plugin for JetBrains IDEs that supercharges your Python GUI development with Gradio, Streamlit, and NiceGUI—bringing intelligent code completion, live templates, and real-time inspections to your workflow.
This repository exists as a community hub and issue tracker.
If you have any feedback, suggestions, or issues with the plugin, please use our GitHub repository to report them (you may have found it already). You can also use the repository to contribute to the plugin development or request new features.
- GitHub repository: PyUI Helper
- Ilscipio Agency: Ilscipio
- Our awesome developer tools: Aivory
- Smart, context-aware code completion for Gradio, Streamlit, and NiceGUI APIs
- Inline parameter hints while typing—never guess function signatures again
- Hover documentation for components, decorators, and framework functions
- Visual line markers for decorators and UI components
- Real-time inspections to catch common issues and deprecated APIs
- Quick fixes that automatically resolve detected problems
- 90+ live templates with
gr:,st:, andui:prefixes for rapid scaffolding - File templates to bootstrap new framework apps instantly
- Full support for framework-specific patterns and conventions
Build machine learning web interfaces with minimal code.
- Component completion (Textbox, Button, Image, Slider, Dropdown, etc.)
- Decorator support (@gr.Interface, @gr.Blocks, @gr.ChatInterface, @gr.render)
- Event handler completion (.click, .change, .submit, gr.on)
- Full parameter documentation
Create data apps in pure Python.
- API completion for all st.* functions
- Session state management support
- Cache decorator completion (@st.cache_data, @st.cache_resource)
- Layout components (columns, container, expander, tabs)
Build web-based user interfaces with Python.
- Element completion for ui.* components
- Page decorator support (@ui.page)
- Event binding (.on, .props, .classes, .style)
- Layout system (column, row, grid, card)
You can install PyUI Helper from the JetBrains Marketplace or directly from the IDE settings.
- From the Marketplace: Go to PyUI Helper and click on the Install button. Then restart your IDE to activate the plugin.
- From the IDE settings: Go to File > Settings > Plugins and search for PyUI Helper. Click on the Install button and restart your IDE to activate the plugin.
To use PyUI Helper, just start writing Python code with Gradio, Streamlit, or NiceGUI imports.
- Install the plugin and restart your IDE
- Open or create a Python file that imports one of the supported frameworks
- Start typing component names or framework functions—completion kicks in automatically
- Use
Ctrl+Space(orCmd+Spaceon Mac) to trigger code completion manually - Type a live template prefix (
gr:,st:,ui:) and pressTabto expand - Hover over functions and components for inline documentation
Type a prefix and press Tab to expand:
Gradio (gr:)
gr:interface- Complete Gradio Interface appgr:blocks- Gradio Blocks app with layoutgr:chatinterface- Conversational interfacegr:textbox,gr:button,gr:image- Componentsgr:row,gr:column,gr:tabs- Layoutgr:click,gr:change- Event handlers
Streamlit (st:)
st:app- Basic Streamlit appst:page- Multi-page app structurest:sidebar- Sidebar with widgetsst:columns,st:container,st:expander- Layoutst:cache_data,st:cache_resource- Caching decoratorsst:button,st:text_input,st:selectbox- Widgets
NiceGUI (ui:)
ui:app- Basic NiceGUI appui:page- Page with routeui:button,ui:input,ui:select- Elementsui:column,ui:row,ui:grid- Layoutui:on_click,ui:timer- Events
- Smart Completion: Get context-aware suggestions as you type framework APIs
- Parameter Hints: See function parameters inline without leaving your code
- Inspections: Catch deprecated APIs and common mistakes before runtime
- Live Templates: Scaffold entire components and app structures in seconds
- Documentation: Access framework docs without switching to your browser
- JetBrains IDE with Python plugin
- Python interpreter configured in your project
- Framework packages installed in your environment (for runtime, not required for plugin features)
- Ensure the framework is imported in your file (
import gradio as gr, etc.) - Check that your Python interpreter is configured correctly
- Try invalidating caches: File > Invalidate Caches
Templates are context-aware and only appear in Python files with the appropriate framework imported.
We welcome contributions! If you'd like to improve the plugin or add new features, please feel free to submit issues.
We are Ilscipio, developers with a passion for creating tools that make developers' lives easier. From E-Commerce solutions to AI projects and JetBrains plugins, we're committed to building quality software for the developer community.
Visit us at www.ilscipio.com or reach out at info@ilscipio.com for custom plugin development, consulting, or just to say hello!