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.24.tar.gz
(133.2 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.24-py3-none-any.whl
(187.6 kB
view details)
File details
Details for the file yaapp-0.0.24.tar.gz.
File metadata
- Download URL: yaapp-0.0.24.tar.gz
- Upload date:
- Size: 133.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70c7b4df6903b008dbea985437f11beb14756188fb51020cce1fb178da0fd7fd
|
|
| MD5 |
e13714dd7183df90812bc84a8103b12a
|
|
| BLAKE2b-256 |
2a79bda964ff3c8a73be6a0a6e1c048b93dd85040d8afa3612f74f409364927f
|
File details
Details for the file yaapp-0.0.24-py3-none-any.whl.
File metadata
- Download URL: yaapp-0.0.24-py3-none-any.whl
- Upload date:
- Size: 187.6 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 |
77bd5e81fadb21c4f4c90e95aed5d0ff1d99d02f9d02ce840dc0577f10d00ece
|
|
| MD5 |
83b506a6f8b21f3d8d55020477110e6f
|
|
| BLAKE2b-256 |
9bed1080502b05f97c91a0d5d8f73cf2a7285c5e7ef5717e5cec26930674e47a
|