Yet Another Python Package - A library bridging FastAPI and CLI interfaces
Project description
yaapp - Yet Another App Framework
A powerful Python framework for building CLI and web applications with plugin-based architecture.
🚀 Quick Start
Try the Auth Plugin Demo
# Interactive demo launcher
./examples/plugins/auth/auth-demo.sh
# Or run directly
./examples/plugins/auth/quick-start.sh # Basic operations
python examples/plugins/auth/workflow.py # Complete demo (Python)
./examples/plugins/auth/workflow.sh # Complete demo (Shell)
Examples
- Auth Plugin:
examples/plugins/auth/- Complete authentication & authorization - Storage Plugin:
examples/plugins/storage/- Data persistence - Issues Plugin:
examples/plugins/issues/- Issue tracking
📖 Documentation
- Development Guide - How to develop with yaapp
- Design Documentation - Architecture and design decisions
- Testing Guide - Testing strategies and examples
🔧 Installation
# Install from source
pip install -e .
# For CLI support
pip install click
# For web server support
pip install fastapi uvicorn
📁 Project Structure
yaapp/
├── src/yaapp/ # Core framework
├── examples/ # Example applications
│ └── plugins/ # Plugin examples
│ ├── auth/ # Authentication & authorization
│ ├── storage/ # Data persistence
│ └── issues/ # Issue tracking
├── tests/ # Test suites
└── docs/ # Documentation
🎯 Features
- Plugin Architecture: Modular, extensible design
- Auto-Discovery: Automatic plugin detection and configuration
- Dual Interface: Both CLI and web API from the same code
- Type Safety: Full type hints and validation
- Configuration: JSON/YAML configuration with environment variables
- Storage: Multiple backends (memory, file, SQLite)
- Authentication: Built-in auth and authorization
- Testing: Comprehensive test framework
🤝 Contributing
See the development guide in docs/development.md for contribution guidelines.
📄 License
[Add your license here]
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
yaapp-0.0.31.tar.gz
(137.7 kB
view details)
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
yaapp-0.0.31-py3-none-any.whl
(189.7 kB
view details)
File details
Details for the file yaapp-0.0.31.tar.gz.
File metadata
- Download URL: yaapp-0.0.31.tar.gz
- Upload date:
- Size: 137.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6674c59528c310ea6e0c9f1558a5b3b5b27cf8b38cd5926742a7cadfe21d92f
|
|
| MD5 |
23f402c65a2420d28a00f0ba77af3f09
|
|
| BLAKE2b-256 |
64d18e313a3d36a41739bc1eb9a166e985dc9ed1212640eb0d8f93cfcefe4098
|
File details
Details for the file yaapp-0.0.31-py3-none-any.whl.
File metadata
- Download URL: yaapp-0.0.31-py3-none-any.whl
- Upload date:
- Size: 189.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f5ee38cd5ac122cbfeb369039d5bebecca86672334f66a079ab443a1ed6377c
|
|
| MD5 |
5673003924ce34d5c5110b9d25d69186
|
|
| BLAKE2b-256 |
2fbed9e600739b602eeaebeed017ce2667ca8ce0cf3e687bacbc2fc5d5e33a7d
|