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.39.tar.gz
(142.8 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.39-py3-none-any.whl
(198.3 kB
view details)
File details
Details for the file yaapp-0.0.39.tar.gz.
File metadata
- Download URL: yaapp-0.0.39.tar.gz
- Upload date:
- Size: 142.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63e78abd8466ac5e7fb1a72afb268ccab27e9cbf512b04adbf7cff406734ba71
|
|
| MD5 |
5ee4e3b6eaadd8a67d53e777b8aab747
|
|
| BLAKE2b-256 |
1e9db8f3313831988d4803e089b770f91fca2d2e107cd9e766240e494b4810cc
|
File details
Details for the file yaapp-0.0.39-py3-none-any.whl.
File metadata
- Download URL: yaapp-0.0.39-py3-none-any.whl
- Upload date:
- Size: 198.3 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 |
671f81875b74a14886079a5aa515adcdad1906a190bb3a767fb4b9863cf93f3e
|
|
| MD5 |
1da7beef52625f4082759d254fb92477
|
|
| BLAKE2b-256 |
fe06ec52acef796d7f57490be35d771dce0527c1ebadf6fe980216d994362abb
|