composer-inspired Python web framework scaffolding tool
Project description
๐ AMEN CLI 
A laravel installer inspired Python Web Application Scaffolding Tool that helps you create web applications with ease!
โจ Features
- ๐ฏ Interactive project setup wizard
- ๐ง Multiple framework support:
- Flask - Lightweight WSGI framework
- FastAPI - Modern, fast API framework
- Bottle - Simple micro web framework ๐ง
- Pyramid - Flexible web framework ๐ง
- ๐จ Project templates for both web apps and APIs
- ๐ Automatic virtual environment setup
- ๐ฆ Dependency management
- ๐๏ธ Structured project scaffolding
- ๐งช Test scaffolding with pytest
- ๐ Update checker for the CLI
- ๐ Command to run your application
๐ ๏ธ Installation
pip install amen-cli
๐ Usage
# Create a new project
amen create
# You can also use flags to specify the framework, type, and name:
amen create -f flask -t webapp -n myapp
# Available options:
# -f, --framework Framework to use (flask, fastapi, bottle, pyramid)
# -t, --type Type of application (webapp, api)
# -n, --name Name of the application
# If flags are not provided, the interactive prompts will be used.
# Follow the interactive prompts to:
# 1. Select a framework
# 2. Choose application type (webapp/api)
# 3. Name your project
Additional Commands
# Run your application
amen run <app_name>
# Example:
amen run myapp
# Run tests for your application
amen test <app_name>
# Example:
amen test myapp
# Check for updates to the CLI
amen check-update
๐ Project Structure
When you create a project, AMEN generates:
your-app/
โโโ venv/ # Virtual environment
โโโ app/ # Main application code
โ โโโ templates/ # HTML templates (webapp)
โ โโโ static/ # Static files
โ โโโ css/ # Stylesheets
โ โโโ js/ # JavaScript files
โโโ tests/ # Test directory
โโโ requirements.txt # Python dependencies
โโโ .env # Environment variables
โโโ README.md # Project documentation
๐ฏ Supported Frameworks
| Framework | Description | Default Port | Status |
|---|---|---|---|
| Flask | Lightweight WSGI web framework | 5000 | โ |
| FastAPI | Modern, fast web framework | 8000 | โ |
| Django | High-level Python web framework | 8000 | โ |
| Bottle | Fast, simple micro framework | 8080 | ๐ง |
| Pyramid | Flexible web framework | 6543 | ๐ง |
Work in Progress
Currently implementing support for additional web frameworks:
- Bottle: Integration in development
- Pyramid: Initial implementation phase
These frameworks will enable:
- Route mapping and handling
- Request/response processing
- Middleware integration
- Template rendering support
Check back for updates or follow the project's issues for implementation progress. Contributions are welcome!
Note: For now, please use our stable implementations for Flask or FastAPI.
๐ Quick Start
# Install AMEN CLI
pip install amen-cli
# Create a new project
amen create
# Follow the interactive prompts
# Navigate to your project
cd your-project-name
# Activate virtual environment
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Run your application
python run.py
๐ง Development
# Clone the repository
git clone https://github.com/taqsblaze/amen-cli.git
# Install for development and testing
pip install -e .
pip install pytest pytest-cov
# Run tests
pytest
# Run tests with coverage
pytest --cov
๐ค Contributing
Contributions are welcome! Here's how:
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ฅ Contact & Support
- ๐ GitHub Repository
- ๐ Issue Tracker
- ๐ง Send Email
โญ Credits
Created by Tanaka Chinengundu
Inspired by Laravel's elegant development experience
Made with โค๏ธ by Tanaka Chinengundu
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
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
File details
Details for the file amen_cli-0.3.0.tar.gz.
File metadata
- Download URL: amen_cli-0.3.0.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed0e295b619dd495f57e832ccb091f5321d079459a4564834762b8ea9c0d03ce
|
|
| MD5 |
24de6cf8abdc7d83653414dc6b6caf05
|
|
| BLAKE2b-256 |
5eec275e8bc3d807e37dbbe0e3dcf575767fcd144c0a5efdbeb9d76cf2699d3a
|
File details
Details for the file amen_cli-0.3.0-py3-none-any.whl.
File metadata
- Download URL: amen_cli-0.3.0-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
531af6994245f53f770751ef18ff71ffd7f441bd4b6f815ab85b24626d7e9db4
|
|
| MD5 |
9224bb71de593b12bc86dca174bc3a46
|
|
| BLAKE2b-256 |
f1e9d7715972658f0967790bcee1e0c0a4417e3c49e899063a6bce285c363709
|