Fast (1.0.1)
Installation
pip install --index-url --extra-index-url https://pypi.org/ FastAbout this package
A fast and lightweight microservice web framework based on Flask.
FastFlask
FastFlask is a lightweight and high-performance web framework built on top of Flask, designed to simplify the development of web applications while maintaining the flexibility and power of Flask.
Components
- Task Manager: Handles background tasks and job scheduling including Celery and Redis integration.
- Access Manager: Manages access and rate limits for users and API endpoints.
- Secret Manager: Securely stores and manages sensitive information such as API keys and passwords.
- Load Manager: Distributes incoming traffic across multiple instances to ensure high availability and reliability.
- Data Manager: Provides an interface for data and file storage, including database integration via PostgreSQL.
- Bill Manager: Manages billing and payment processing for applications, including Stripe integration.
Task Manager
The Task Manager component is responsible for handling background tasks and job scheduling. It integrates with Celery and Redis to provide a robust task queue system.
Access Manager
The Access Manager component manages user access and rate limits for API endpoints. It ensures that users adhere to defined usage policies and prevents abuse.
Secret Manager
The Secret Manager component securely stores and manages sensitive information such as API keys, passwords, and other confidential data.
Load Manager
The Load Manager component distributes incoming traffic across multiple instances of the application to ensure high availability and reliability.
Data Manager
The Data Manager component provides an interface for data and file storage, including integration with PostgreSQL databases.
Bill Manager
The Bill Manager component handles billing and payment processing for applications, including integration with Stripe for secure transactions.
Features
- Lightweight: Minimalistic design to keep your applications fast and efficient.
- High Performance: Optimized for speed and scalability.
- Easy to Use: Simple and intuitive API for rapid development.
- Extensible: Easily integrate with other libraries and tools.
- Comprehensive Documentation: Well-documented with examples and tutorials.
- Active Community: Supported by a growing community of developers.
- Docker Support: Ready-to-use Docker configurations for easy deployment.
- Modular Architecture: Separate components for different functionalities, making it easy to manage and scale.
- Built-in Monitoring: Integrated with Prometheus for performance monitoring and metrics collection.
- Task Management: Includes a task manager for handling background jobs and asynchronous tasks.
- Access Control: Features an access manager for secure user authentication and authorization.
- Secret Management: Provides a secret manager for securely storing and managing sensitive information.
- Load Balancing: Equipped with a load manager to distribute traffic efficiently across multiple instances.
- Data Management: Comes with a data manager for handling database operations and data storage.
- Bill Management: Includes a bill manager for handling billing and payment processing.
Installation
You can install FastFlask using pip:
pip install fastflask
You can also clone the repository and install it manually:
git clone http://nxs.solutions:3000/gituser/FastFlask.git
cd FastFlask
pip install -r requirements.txt
Usage
FastFlask comes with a basic CLI to get you started quickly. You can create a new FastFlask application using the following command: You can run components using docker-compose style commands. I .docker there are all necessary files for each component. You should use the following commands to run each component. For example, to run the task_manager component, use:
source bin/activate
compose task_manager up -d
Alternatively, you can run a FastFlask component manually with Python:
python -m fastflask.<component_name>.app # Replace <component_name> with the desired component
For development we suggest using the blueprints instead of the app directly. Here is an example of how to use FastFlask in your own Flask application:
python -m fastflask.<component_name>.blueprint # Replace <component_name> with the desired component
Documentation
Comprehensive documentation is available at FastFlask Documentation.
Contributing
Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on how to contribute to the project.
License
FastFlask is licensed under the MIT License. See the LICENSE file for more information.
Contact
For questions or support, please contact the maintainers at
- Email: h.lorenzen@nxs.solutions
- Git Repository: FastFlask on GitLab
- Website: NXS Solutions
- LinkedIn: NXS Solutions LinkedIn