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