A comprehensive FastAPI project generator
Project description
โก StartFast
The Ultimate FastAPI Project Generator
Create scalable, production-ready FastAPI projects in seconds
โจ Features
| ๐ Project Types | API โข CRUD โข ML-API โข Microservice |
| ๐พ Databases | SQLite โข PostgreSQL โข MySQL โข MongoDB โข Redis |
| ๐ Authentication | JWT โข OAuth2 โข API Key โข None |
| ๐ณ DevOps Ready | Docker โข Docker Compose โข Production configs |
| ๐ Observability | Monitoring โข Logging โข Health checks |
| โก Performance | Async/Sync โข Background tasks โข Caching |
| ๐งช Quality | Testing suite โข Code formatting โข Documentation |
๐ฆ Installation
๐ฏ Quick Install
pip install startfast
๐ ๏ธ Development Install
git clone https://github.com/Incognitol07/startfast.git
cd startfast
pip install -e .
๐ Quick Start
โก Generate Your First Project
startfast my-awesome-api
๐จ Custom Configuration
startfast my-api --type crud --database postgresql --auth jwt --advanced
๐ฏ Usage
๐ Command Syntax
startfast PROJECT_NAME [OPTIONS]
โ๏ธ Configuration Options
| Option | Description | Values |
|---|---|---|
--path |
Project directory | Directory path |
--type |
Project architecture | api, crud, ml-api, microservice |
--database |
Database backend | sqlite, postgresql, mysql, mongodb, redis |
--auth |
Authentication method | none, jwt, oauth2, api-key |
--sync |
Synchronous implementation | Flag |
--advanced |
Advanced features | Flag |
--no-docker |
Skip Docker setup | Flag |
--no-tests |
Skip test configuration | Flag |
--no-docs |
Skip documentation | Flag |
--monitoring |
Include observability | Flag |
--celery |
Background task support | Flag |
--python-version |
Python version | Version string (default: 3.11) |
--force |
Overwrite existing files | Flag |
๐ Usage Examples
๐ง Simple API with SQLite
startfast simple-api
๐๏ธ CRUD API with PostgreSQL and JWT
startfast crud-api --type crud --database postgresql --auth jwt
๐ค ML API with Advanced Features
startfast ml-service --type ml-api --advanced --monitoring
๐๏ธ Microservice with MongoDB and Celery
startfast micro-service --type microservice --database mongodb --celery
๐๏ธ Project Architecture
Generated projects follow a clean, scalable structure:
๐ my-project/
โโโ ๐ app/
โ โโโ ๐ __init__.py
โ โโโ ๐ main.py # FastAPI app entry point
โ โโโ ๐ core/
โ โ โโโ โ๏ธ config.py # Configuration management
โ โ โโโ ๐ security.py # Authentication & security
โ โโโ ๐ api/
โ โ โโโ ๐ v1/ # API version 1
โ โโโ ๐ models/ # Database models
โ โโโ ๐ schemas/ # Pydantic schemas
โ โโโ ๐ services/ # Business logic
โ โโโ ๐ utils/ # Helper functions
โโโ ๐ tests/ # Test suite
โโโ ๐ docs/ # Documentation
โโโ ๐ requirements.txt # Dependencies
โโโ ๐ณ Dockerfile # Container configuration
โโโ ๐ docker-compose.yml # Multi-service setup
โโโ ๐ README.md # Project documentation
๐ ๏ธ Development
๐ง Setup Development Environment
# Clone the repository
git clone https://github.com/Incognitol07/startfast.git
cd startfast
# Install in development mode
pip install -e ".[dev]"
# Setup pre-commit hooks
pre-commit install
๐งช Running Tests
pytest # Run all tests
pytest -v # Verbose output
pytest --cov # With coverage report
๐จ Code Quality
black . # Format code
isort . # Sort imports
flake8 . # Lint code
mypy . # Type checking
๐ค Contributing
We welcome contributions! Here's how to get started:
๐ Contribution Workflow
- ๐ด Fork the repository
- ๐ฟ Create your feature branch
git checkout -b feature/amazing-feature
- ๐พ Commit your changes
git commit -m 'Add some amazing feature'
- ๐ค Push to the branch
git push origin feature/amazing-feature
- ๐ Open a Pull Request
๐ Contribution Guidelines
- Write clear, concise commit messages
- Add tests for new features
- Update documentation as needed
- Follow the existing code style
- Ensure all tests pass
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐บ๏ธ Roadmap
๐ฎ Upcoming Features
- ๐ Web UI for project generation
- ๐ More database adapters (ClickHouse, TimescaleDB)
- ๐จ Custom template support
- ๐ Plugin system for extensibility
- ๐ป IDE integrations (VS Code, PyCharm)
- โ๏ธ Cloud deployment templates
- ๐ฑ Mobile-first API templates
๐ Support & Community
๏ฟฝ Get Help & Connect
๐ Show Your Support
If StartFast helped you build amazing projects, consider giving it a โญ!
Made with โค๏ธ by developers, for developers
Happy coding! ๐
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 startfast-0.1.0.tar.gz.
File metadata
- Download URL: startfast-0.1.0.tar.gz
- Upload date:
- Size: 45.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68199e16ccec377ff44cc51b79960c0932b7d7c636e6aff6c184432f525da199
|
|
| MD5 |
0e1ae364975050ddd75eb15bc57c5dc0
|
|
| BLAKE2b-256 |
20295cf9bdfce845e849804696e4c032994e2b3d88bd007ad24ab21389b62b09
|
File details
Details for the file startfast-0.1.0-py3-none-any.whl.
File metadata
- Download URL: startfast-0.1.0-py3-none-any.whl
- Upload date:
- Size: 51.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da4efe807db0a196cc0e70be9d7a758ae95454c2b7c2dad6fe8d23920092f22a
|
|
| MD5 |
1fa2c113e5dde75b80aa74c1a56d54b1
|
|
| BLAKE2b-256 |
199a09a07fd4922833903c316ab3ff0664b831108389624bef6cb6edec533627
|