Skip to main content

Professional API project generator for Python - Flask, FastAPI, Django-Rest

Project description

๐Ÿš€ vyte - Rapid Development Tool

PyPI version Python Version License: MIT Code style: black

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/yourusername/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/yourusername/Vyte.git
cd vyte

# Install with dev dependencies
poetry install

# Run tests
pytest

# Format code
black .
ruff check .

๐Ÿ“ License

MIT License - see LICENSE file for details.

๐Ÿ™ Acknowledgments

๐Ÿ“ง Contact


Made with โค๏ธ by the Vyte team

Project details


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.3.tar.gz (86.8 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.3-py3-none-any.whl (121.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vyte-2.0.3.tar.gz
Algorithm Hash digest
SHA256 1db008295cfd2827726970b0746939e67e0eca0f349da75fab394a7d01eb9b31
MD5 7a6717430fb6e65c8ba9cd18370f999f
BLAKE2b-256 8c233df6c7d83f30845004ddb4066c416c01fe6d70fbdd2c62c6180935c21a91

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for vyte-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 43b6c0c44a88c73161e188c0e1484e7ecc6be6fe77958fa15d121ce6004522ca
MD5 180ab0e45ec1a31b573184680bc6f492
BLAKE2b-256 81b3a09ef90f0c6a12a136055bbee95d196967cab82ad667497b20f8fe62f40e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page