🚀 vyte - Rapid Development Tool
Professional API project generator for Python. Create production-ready REST APIs in seconds.
✨ Features
- 🎯 Multiple Frameworks: Flask-Restx, FastAPI, Django-Rest
- 🗄️ Multiple ORMs: SQLAlchemy, TortoiseORM, Peewee, Django ORM
- 💾 Database Support: PostgreSQL, MySQL, SQLite
- 🔐 JWT Authentication: Secure authentication out of the box
- 🐳 Docker Ready: Complete Docker and docker-compose setup
- 🧪 Testing Suite: Pytest with coverage reports
- 📚 Auto Documentation: Swagger/OpenAPI automatic docs
- ⚡ Modern Stack: Python 3.11+, Pydantic v2, async support
- 🎨 Beautiful CLI: Rich terminal UI with interactive setup
🚀 Quick Start
Installation
# Using pip
pip install vyte
# Using pipx (recommended)
pipx install vyte
# From source
git clone https://github.com/PabloDomi/Vyte.git
cd vyte
pip install -e .
Create Your First Project
# Interactive mode (recommended)
vyte create
# Or specify options directly
vyte create \
--name my-api \
--framework FastAPI \
--orm SQLAlchemy \
--database PostgreSQL
What You Get
my-api/
├── src/
│ ├── __init__.py # App factory
│ ├── main.py # Entry point
│ ├── config/
│ │ └── config.py # Pydantic settings
│ ├── models/
│ │ └── models.py # Database models
│ ├── routes/
│ │ └── routes_example.py
│ ├── services/
│ └── security.py # JWT & security
├── tests/
│ ├── test_api.py
│ ├── test_models.py
│ └── conftest.py
├── requirements.txt
├── requirements-dev.txt
├── Dockerfile
├── docker-compose.yml
├── .env.example
├── .gitignore
├── pytest.ini
└── README.md
📖 Usage
Interactive Mode
The easiest way to create a project:
vyte create
Follow the prompts to configure your project.
Command Line Options
vyte create \
--name my-api \
--framework FastAPI \
--orm SQLAlchemy \
--database PostgreSQL \
--auth \
--docker \
--tests \
--git
Available Commands
# Create new project
vyte create
# Show framework information
vyte info FastAPI
# List all frameworks and ORMs
vyte list
# Show dependencies for configuration
vyte deps FastAPI --orm SQLAlchemy
# Validate existing project
vyte validate ./my-api
# Open documentation
vyte docs
# Show version
vyte --version
🎯 Supported Combinations
| Framework | Compatible ORMs | Async Support |
|---|---|---|
| Flask-Restx | SQLAlchemy, Peewee | ❌ Sync |
| FastAPI | SQLAlchemy (async), TortoiseORM | ✅ Async |
| Django-Rest | Django ORM | ❌ Sync |
🔧 Configuration
Projects use Pydantic Settings for configuration:
# .env file
DATABASE_URL=postgresql://user:pass@localhost:5432/mydb
JWT_SECRET_KEY=your-secret-key-here
ENVIRONMENT=development
DEBUG=True
🧪 Testing
Generated projects include complete testing setup:
# Run tests
pytest
# With coverage
pytest --cov=src --cov-report=html
# Open coverage report
open htmlcov/index.html
🐳 Docker Support
Run your project with Docker:
# Build and run
docker-compose up -d
# View logs
docker-compose logs -f
# Stop
docker-compose down
📚 Documentation
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide.
# Clone repo
git clone https://github.com/PabloDomi/Vyte.git
cd vyte
# Setup development environment
pip install -e ".[dev]"
pip install pre-commit black ruff isort
# Install pre-commit hooks
pre-commit install
# Run tests
pytest
# Format code
make format
# Run linters
make lint
# Run full CI suite
make ci
🗺️ Roadmap
Check out our Roadmap to see what's planned for future releases!
Coming in v2.1.0:
vyte upgrade- Upgrade existing projectsvyte add-model- Add models to projects- Customizable templates
- MongoDB support
📝 License
MIT License - see LICENSE file for details.
🙏 Acknowledgments
📊 Project Stats
- Test Coverage: 73%
- Code Quality: A+ (Ruff, Black)
- Security: Scanned with Bandit
- Python Versions: 3.11, 3.12
- Platforms: Linux, macOS, Windows
📧 Contact
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: Domi@usal.es
Made with ❤️ by Pablo Domínguez Blanco
Metadata
Release files for vyte 2.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| vyte-2.0.6.tar.gz | 97.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vyte-2.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 217.1 kB
Release files / vyte-2.0.6.tar.gz
| Download URL | vyte-2.0.6.tar.gz |
|---|---|
| Size | 97.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d740b70197fe2d1713f88e193cf7e65355d672734926a4ed817dbf7e77180634
|
|
BLAKE2b-256 checksum How to use checksums |
6336e474e34f6af3bb3a657a87a6ec14e3679040af9fd0c3218f7ce917861f60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / vyte-2.0.6-py3-none-any.whl
| Download URL | vyte-2.0.6-py3-none-any.whl |
|---|---|
| Size | 119.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
638e2918524eec618cb1cdf2e293dc85f43141cbc03059cf457bd7ec38c35958
|
|
BLAKE2b-256 checksum How to use checksums |
a6507c488bf73613497bcdb5dec254132725abfc8529d91367282fa5edcda8bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for vyte 2.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.