Skip to content
/ vuepy Public

Vue.py is a progressive, incrementally-adoptable Python framework for building web interface in Jupyter Notebook. ✨

License

Notifications You must be signed in to change notification settings

vuepy/vuepy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

a progressive, incrementally-adoptable Python framework
for building web interface in Jupyter Notebook.

installation . docs . learn

About

Vue.py (pronounced /vjuːpaɪ/, like "view py") is a reactive Python framework for building web interface in Jupyter. It is built upon standard HTML, CSS, and Python, offering a declarative and component-based programming model that aids in the efficient development of user interfaces. Vue.py is capable of handling both simple and complex interfaces.

  • 🛠️ create custom web interface using pure Python in Jupyter
  • 🤖 prototype within .ipynb or .py files
  • 🪄 reactive: update the data, vuepy will reactively update all dependent view components
  • 🚀 batteries-included: built-in IPywUI includes 37+ commonly used UI components
  • 🚀 batteries-included: Panel-vuepy includes 130+ commonly used UI components
  • 🧩 extensible: can easily integrate third-party python libraries such as plotly, bokeh, panel, pandas, ipyleaflet etc
  • 🖐️ interactive: bind sliders, buttons, plots, and more to Python — no callbacks required
  • 🚀 run in Jupyter, JupyterLab, VSCode, Cursor, Google Colab and more
  • ✨ generate UI interface with one click through AI-driven conversation interface. provide llms.txt, llms-ctx.txt, llms-ctx-ipywui.md, llm-ctx-panel-vuepy.md

Installation

Vue.py is available on PyPI:

pip install vuepy-core

Usage

from vuepy import ref, create_app

def setup(*args):
    count = ref(0)
    
    def counter():
        count.value += 1
    
    return locals()


app = create_app({
    'setup': setup,
    'template': '''
    <Button :label="f'Count is: {count.value}'" 
      @click='counter()'
    ></Button>
    '''
})
app.mount()

Read the documentation to learn more.

Learn more

vuepy is easy to get started with, with lots of room for powers users.

Check out our docs, the examples/ folder, and our gallery to learn more.

Desc Link
Reactivity Read more
Interacting with plotly Read more
Run in VSCode Read more
Building vuepy app with LLMs Read more
vleaflet interactive maps demo Read more, docs

Support

Having trouble? Get help in our Discord or open a Discussion.

Contributing

New contributors welcome!

License

MIT

About

Vue.py is a progressive, incrementally-adoptable Python framework for building web interface in Jupyter Notebook. ✨

Resources

License

Stars

Watchers

Forks

Packages

No packages published