https://github.com/donartkins/flaskify
A lightning-fast Flask REST API generator with built-in ML support, database integrations, and industry best practices
https://github.com/donartkins/flaskify
cli-tools flask flaskify python template-generator
Last synced: 8 months ago
JSON representation
A lightning-fast Flask REST API generator with built-in ML support, database integrations, and industry best practices
- Host: GitHub
- URL: https://github.com/donartkins/flaskify
- Owner: DonArtkins
- License: mit
- Created: 2025-04-28T08:22:19.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-04-28T10:10:08.000Z (10 months ago)
- Last Synced: 2025-04-28T10:28:16.289Z (10 months ago)
- Topics: cli-tools, flask, flaskify, python, template-generator
- Language: Shell
- Homepage:
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Flaskify ๐
[](https://flaskify.readthedocs.io/en/latest/?badge=latest)
[](https://github.com/DonArtkins/flaskify/blob/main/LICENSE)
[](https://www.python.org/downloads/)
[](https://badge.fury.io/py/flaskify)


*A lightning-fast Flask REST API generator with built-in ML support, database integrations, and industry best practices* ๐
[DOCUMENTATION](https://flaskify.readthedocs.io/en/latest/index.html) | [CONTRIBUTING](CONTRIBUTING.md) | [LICENSE](LICENSE)
---
## ๐ Features
- **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
## ๐ Requirements
- Python 3.7+
- Git
## ๐ป Installation
### Linux/macOS
```bash
curl -s https://raw.githubusercontent.com/DonArtkins/flaskify/master/installers/linux/install.sh | bash
```
### Windows
```powershell
Invoke-WebRequest -Uri https://raw.githubusercontent.com/DonArtkins/flaskify/master/installers/windows/install.ps1 -OutFile install.ps1; .\install.ps1
```
Or clone the repository and install manually:
```bash
git clone https://github.com/DonArtkins/flaskify.git
cd flaskify
pip install -e .
```
## ๐ ๏ธ Usage
### Create a New Project
```bash
flaskify create
```
Follow the interactive prompts to configure your project:
- Project name
- Database integration
- ML model support
- Deployment target
- Authentication method
- Swagger documentation
- Async endpoints
- Testing setup
### Additional Commands
```bash
flaskify versions # Check available versions
flaskify set_version v1.0.0 # Set default version
flaskify info # Show Flaskify info
```
## ๐ Project Structure
When 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
```
## ๐ Supported Integrations
### Databases
- **MongoDB**: Document-based NoSQL database
- **PostgreSQL**: Relational database
- **Firebase**: Google's mobile and web application platform
- **Supabase**: Open source Firebase alternative
### Authentication
- **JWT**: JSON Web Token authentication
- **OAuth2**: Authorization framework
- **Basic**: Simple username/password authentication
### Deployment
- **Docker**: Containerization for consistent deployment
- **Heroku**: PaaS for easy cloud deployment
- **AWS**: Amazon Web Services deployment configuration
## ๐ค ML Support
When enabled, Flaskify adds:
- Model loading/inference endpoints
- File upload for model inputs
- Example prediction route
- Format conversion utilities
## ๐งช Testing
Includes pytest setup with:
- Fixture examples
- API test examples
- Test configuration
## ๐ฃ๏ธ Roadmap
- GraphQL support
- Additional database integrations
- WebSocket support
- Admin dashboard
- CI/CD pipeline templates
## ๐ฅ Contributing
Contributions are welcome! Please check out our [contributing guidelines](CONTRIBUTING.md).
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgements
- [Flask](https://flask.palletsprojects.com/)
- [Click](https://click.palletsprojects.com/)
- [Inquirer](https://github.com/magmax/python-inquirer)
- All the amazing open-source projects that made this possible
---
Created with โค๏ธ by [DonArtkins](https://github.com/DonArtkins)