Skip to content

PyUI Helper - Your JetBrains Streamlit, Gradio & NiceGUI support system

Notifications You must be signed in to change notification settings

ilscipio/pyui-helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

A screenshot of a JetBrains IDE showing Python code with Gradio, Streamlit, and NiceGUI code completion

PyUI Helper

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.

Feedback and Support

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.

Features

Code Intelligence

  • 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

Code Quality

  • Real-time inspections to catch common issues and deprecated APIs
  • Quick fixes that automatically resolve detected problems

Productivity

  • 90+ live templates with gr:, st:, and ui: prefixes for rapid scaffolding
  • File templates to bootstrap new framework apps instantly
  • Full support for framework-specific patterns and conventions

Supported Frameworks

Gradio

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

Streamlit

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)

NiceGUI

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)

Installation

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.

Usage

To use PyUI Helper, just start writing Python code with Gradio, Streamlit, or NiceGUI imports.

  1. Install the plugin and restart your IDE
  2. Open or create a Python file that imports one of the supported frameworks
  3. Start typing component names or framework functions—completion kicks in automatically
  4. Use Ctrl+Space (or Cmd+Space on Mac) to trigger code completion manually
  5. Type a live template prefix (gr:, st:, ui:) and press Tab to expand
  6. Hover over functions and components for inline documentation

Live Templates

Type a prefix and press Tab to expand:

Gradio (gr:)

  • gr:interface - Complete Gradio Interface app
  • gr:blocks - Gradio Blocks app with layout
  • gr:chatinterface - Conversational interface
  • gr:textbox, gr:button, gr:image - Components
  • gr:row, gr:column, gr:tabs - Layout
  • gr:click, gr:change - Event handlers

Streamlit (st:)

  • st:app - Basic Streamlit app
  • st:page - Multi-page app structure
  • st:sidebar - Sidebar with widgets
  • st:columns, st:container, st:expander - Layout
  • st:cache_data, st:cache_resource - Caching decorators
  • st:button, st:text_input, st:selectbox - Widgets

NiceGUI (ui:)

  • ui:app - Basic NiceGUI app
  • ui:page - Page with route
  • ui:button, ui:input, ui:select - Elements
  • ui:column, ui:row, ui:grid - Layout
  • ui:on_click, ui:timer - Events

Key Features in Action

  • 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

Requirements

  • JetBrains IDE with Python plugin
  • Python interpreter configured in your project
  • Framework packages installed in your environment (for runtime, not required for plugin features)

Troubleshooting

Completion Not Appearing?

  1. Ensure the framework is imported in your file (import gradio as gr, etc.)
  2. Check that your Python interpreter is configured correctly
  3. Try invalidating caches: File > Invalidate Caches

Live Templates Not Showing?

Templates are context-aware and only appear in Python files with the appropriate framework imported.

Contributing

We welcome contributions! If you'd like to improve the plugin or add new features, please feel free to submit issues.

About Ilscipio

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!

About

PyUI Helper - Your JetBrains Streamlit, Gradio & NiceGUI support system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors