SIDS: Selective Interface Design System 🚀
SIDS (Selective Interface Design System) integrates TailwindCSS with Python for building beautiful GUIs everywhere - web apps, desktop applications, and Jupyter notebooks.
🎯 Features
- Declarative Python API - Build UIs like React, but in Python
- TailwindCSS Integration - Beautiful, responsive styling out of the box
- Multi-Platform Rendering - Deploy to Flask, FastAPI, Jupyter, or Tkinter
- Component Library - Pre-built buttons, cards, forms, and more
- CLI Tools - Easy project setup and development
🚀 Quick Start
Installation
pip install sids
Basic Example
import sids as ui
# Create an app
app = ui.App()
# Define your UI
with app.page("Dashboard"):
ui.H1("Welcome to SIDS! 🎉", classes="text-blue-600")
ui.Button(
"Click Me",
color="blue",
on_click=lambda: print("Hello from SIDS!")
)
ui.Card(
"This is a beautiful card styled with Tailwind!",
classes="bg-gradient-to-r from-purple-500 to-pink-500"
)
# Run anywhere
app.run("flask") # Web app
app.run("jupyter") # Jupyter notebook
app.run("tkinter") # Desktop app
📦 Installation Options
# Basic installation
pip install sids
# With FastAPI support
pip install sids[fastapi]
# With Jupyter support
pip install sids[jupyter]
# With everything
pip install sids[all]
# For development
pip install sids[dev]
🛠️ CLI Usage
# Initialize a new SIDS project
sids init my-app
# Run development server
sids run
# Build for production
sids build
🏗️ Architecture
SIDS provides a unified API that renders to multiple backends:
┌─────────────────┐
│ Python API │ ← Your Code Here
├─────────────────┤
│ SIDS Core │ ← Component System
├─────────────────┤
│ Adapters │ ← Backend Integration
├─────┬─────┬─────┤
│Flask│Jptr │Tkntr│ ← Render Targets
└─────┴─────┴─────┘
📚 Documentation
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
📄 License
MIT License - see LICENSE file for details.
🙏 Acknowledgments
- Built with TailwindCSS
- Inspired by Streamlit and React
- Python packaging with setuptools
Metadata
Release files for sids 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sids-0.1.0.tar.gz | 10.1 kB | Without provenance | Details for sids-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sids-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for sids-0.1.0-py3-none-any.whl |
Total release size: 20.0 kB
Release files / sids-0.1.0.tar.gz
| Download URL | sids-0.1.0.tar.gz |
|---|---|
| Size | 10.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ec0a4089925367ef482c0a716b01c46f65f5de927a7d2e50293c809691e6845
|
|
BLAKE2b-256 checksum How to use checksums |
32910e1834d55daea16001a9a41d30ac03cab64300862d80fbe9e7f6a030f291
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / sids-0.1.0-py3-none-any.whl
| Download URL | sids-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46122ac78bed6ba47dd88d6a0bf8f7f43bf9cb9271487a517915f1a2bba50b41
|
|
BLAKE2b-256 checksum How to use checksums |
3ea81a3533cc2066406acce0ca4f22a41a911cc1e213e879e2d6496a91f57a2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Security for sids 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.