A Python library for building web-based AI/data apps with custom frontends
Project description
Fumes
A Python library for building web-based AI/data apps with custom frontends. Fumes provides an intuitive Python API for creating interactive web applications, similar to Streamlit or Gradio, but with a unique design and modern features.
Features
- 🎨 Intuitive Python API for defining UIs using decorators
- 🔄 Real-time updates via WebSocket
- 🎯 Modern, responsive UI with dark mode
- 🚀 Hot-reload for development
- 📦 Easy deployment with CLI tools
- 🎮 Rich set of UI components
- 🔌 FastAPI backend for high performance
Installation
pip install fumes
Quick Start
- Create a new Fumes app:
fumes create my_app
cd my_app
- Edit
app.pyto build your UI:
from fumes import App, Textbox, Button
app = App(title="My AI Tool")
input = Textbox(label="Enter text")
btn = Button("Generate")
@app.bind(btn)
def on_click():
return f"You typed: {input.value}"
if __name__ == "__main__":
app.mount()
- Run your app:
fumes run app.py
Available Components
Textbox: Text input fieldButton: Interactive buttonMarkdown: Rich text displayImage: Image displayFileUpload: File upload componentChart: Data visualization
CLI Commands
fumes create <app_name>: Create a new Fumes appfumes run <app.py>: Run a Fumes app in development modefumes serve <app.py>: Serve a Fumes app in production mode
Development
# Clone the repository
git clone https://github.com/t4zn/fumes.git
cd fumes
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
License
MIT License - see LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fumes-0.1.0.tar.gz.
File metadata
- Download URL: fumes-0.1.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.12.0 readme-renderer/44.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.2.3 tqdm/4.67.1 importlib-metadata/8.5.0 keyring/25.6.0 rfc3986/1.5.0 colorama/0.4.6 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bb8cfda706ff8daf92b59bbf7c762a9e215826783a8d9169e9316aa9491054a
|
|
| MD5 |
bc99e7971f1816d9f9bf79409517505c
|
|
| BLAKE2b-256 |
6496349be0e4d36282d2c787bb447d6a93dd2aa8f09dd0152a5d52f79a4baacd
|
File details
Details for the file fumes-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fumes-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.12.0 readme-renderer/44.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.2.3 tqdm/4.67.1 importlib-metadata/8.5.0 keyring/25.6.0 rfc3986/1.5.0 colorama/0.4.6 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d993eb9a0a1459c4b6c33b7535d75fe85e3c7df78dbcbb2b054fd1c72ff96eab
|
|
| MD5 |
83651689a2a202d8c0c8b290cd40838d
|
|
| BLAKE2b-256 |
13083780c9a43badf8405ac09d36e49cec33595c85fb7c5059e0d23a327ff73e
|