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.37.tar.gz
(140.4 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.37-py3-none-any.whl
(192.5 kB
view details)
File details
Details for the file yaapp-0.0.37.tar.gz.
File metadata
- Download URL: yaapp-0.0.37.tar.gz
- Upload date:
- Size: 140.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04240b61c660a0705b29c8b7555f4fc2a02d3073506d69b025f526782b5f4ca3
|
|
| MD5 |
e9db856b8c15f9452b6b7b308a6e95e2
|
|
| BLAKE2b-256 |
eb95c0a435a5a9828885607890bfecae78c6beb7897ea62ec7b3fcf77f91538a
|
File details
Details for the file yaapp-0.0.37-py3-none-any.whl.
File metadata
- Download URL: yaapp-0.0.37-py3-none-any.whl
- Upload date:
- Size: 192.5 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 |
da5634621f2b9debac12d57324dfdffedccd4c994a14aa3efc32c17bc4ac6c45
|
|
| MD5 |
33af1c9c2184e54fa94c7d63a66fd0e7
|
|
| BLAKE2b-256 |
afb767bcaff5f106a2d6a7395256e93cf66e93309f38132f00045821f3179234
|