Skip to main content

🚀 vyte - Rapid Development Tool

Vyte Logo

Professional API project generator for Python. Create production-ready REST APIs in seconds.

PyPI version Python Version License: MIT Code style: black Tests codecov Pre-commit Ruff
Documentation


✨ 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 projects
  • vyte 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


Made with ❤️ by Pablo Domínguez Blanco

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vyte-2.0.6.tar.gz (97.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vyte-2.0.6-py3-none-any.whl (119.8 kB view details)

Uploaded Python 3

File details

Details for the file vyte-2.0.6.tar.gz.

File metadata

  • Download URL: vyte-2.0.6.tar.gz
  • Upload date:
  • Size: 97.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for vyte-2.0.6.tar.gz
Algorithm Hash digest
SHA256 d740b70197fe2d1713f88e193cf7e65355d672734926a4ed817dbf7e77180634
MD5 d0791d9d534801dcec80489f66479530
BLAKE2b-256 6336e474e34f6af3bb3a657a87a6ec14e3679040af9fd0c3218f7ce917861f60

See more details on using hashes here.

File details

Details for the file vyte-2.0.6-py3-none-any.whl.

File metadata

  • Download URL: vyte-2.0.6-py3-none-any.whl
  • Upload date:
  • Size: 119.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for vyte-2.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 638e2918524eec618cb1cdf2e293dc85f43141cbc03059cf457bd7ec38c35958
MD5 dc0aaef0a40043b67bcb0083ec040b0d
BLAKE2b-256 a6507c488bf73613497bcdb5dec254132725abfc8529d91367282fa5edcda8bb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.6 This release

2 files

2.0.5

2 files

2.0.4

2 files

2.0.3

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page