A lightning-fast Flask REST API generator with built-in ML support, database integrations, and industry best practices π
- Quick Project Setup: Generate a complete Flask API project in seconds
- Multiple Database Support: Integration with MongoDB, PostgreSQL, Firebase, and Supabase
- Authentication Ready: JWT, OAuth2, and Basic authentication options
- ML Model Support: Easy integration of machine learning models
- API Documentation: Automatic Swagger/OpenAPI documentation
- Deployment Ready: Configuration for Docker, Heroku, and AWS
- Testing Framework: Pytest setup included
- Asynchronous Support: Optional async endpoints
- Version Management: Multiple template versions available
- Python 3.7+
- Git
curl -s https://raw.githubusercontent.com/DonArtkins/flaskify/master/installers/linux/install.sh | bashInvoke-WebRequest -Uri https://raw.githubusercontent.com/DonArtkins/flaskify/master/installers/windows/install.ps1 -OutFile install.ps1; .\install.ps1Or clone the repository and install manually:
git clone https://github.com/DonArtkins/flaskify.git
cd flaskify
pip install -e .flaskify createFollow the interactive prompts to configure your project:
- Project name
- Database integration
- ML model support
- Deployment target
- Authentication method
- Swagger documentation
- Async endpoints
- Testing setup
flaskify versions # Check available versions
flaskify set_version v1.0.0 # Set default version
flaskify info # Show Flaskify infoWhen you create a new project with Flaskify, it generates a structure like:
my_api/
βββ app/
β βββ __init__.py
β βββ routes/
β βββ models/
β βββ services/
β βββ utils/
βββ config/
β βββ config.py
βββ tests/
βββ requirements.txt
βββ run.py
βββ README.md
- MongoDB: Document-based NoSQL database
- PostgreSQL: Relational database
- Firebase: Google's mobile and web application platform
- Supabase: Open source Firebase alternative
- JWT: JSON Web Token authentication
- OAuth2: Authorization framework
- Basic: Simple username/password authentication
- Docker: Containerization for consistent deployment
- Heroku: PaaS for easy cloud deployment
- AWS: Amazon Web Services deployment configuration
When enabled, Flaskify adds:
- Model loading/inference endpoints
- File upload for model inputs
- Example prediction route
- Format conversion utilities
Includes pytest setup with:
- Fixture examples
- API test examples
- Test configuration
- GraphQL support
- Additional database integrations
- WebSocket support
- Admin dashboard
- CI/CD pipeline templates
Contributions are welcome! Please check out our contributing guidelines.
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
Created with β€οΈ by DonArtkins