Skip to main content

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

  1. Create a new Fumes app:
fumes create my_app
cd my_app
  1. Edit app.py to 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()
  1. Run your app:
fumes run app.py

Available Components

  • Textbox: Text input field
  • Button: Interactive button
  • Markdown: Rich text display
  • Image: Image display
  • FileUpload: File upload component
  • Chart: Data visualization

CLI Commands

  • fumes create <app_name>: Create a new Fumes app
  • fumes run <app.py>: Run a Fumes app in development mode
  • fumes 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fumes-0.1.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fumes-0.1.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

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

Hashes for fumes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5bb8cfda706ff8daf92b59bbf7c762a9e215826783a8d9169e9316aa9491054a
MD5 bc99e7971f1816d9f9bf79409517505c
BLAKE2b-256 6496349be0e4d36282d2c787bb447d6a93dd2aa8f09dd0152a5d52f79a4baacd

See more details on using hashes here.

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

Hashes for fumes-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d993eb9a0a1459c4b6c33b7535d75fe85e3c7df78dbcbb2b054fd1c72ff96eab
MD5 83651689a2a202d8c0c8b290cd40838d
BLAKE2b-256 13083780c9a43badf8405ac09d36e49cec33595c85fb7c5059e0d23a327ff73e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page