A CLI tool for generating Flask resources
Project description
FlaskForge
FlaskForge is a versatile CLI tool designed to streamline the development of Flask applications by automating the creation and management of essential resources. Inspired by Laravel's Artisan CLI, FlaskForge simplifies the setup and generation of various components in your Flask projects, allowing you to focus on building your application.
Features
-
Initialize a Flask Project: Set up a new Flask project with customizable options using the
initappcommand. This command helps you quickly scaffold a new application with features like:- Project Name: Specify the name for your new Flask project.
- JWT Authentication: Enable or disable JSON Web Token (JWT) authentication (default: enabled).
- Swagger Documentation: Enable or disable Swagger OpenAPI documentation (default: enabled).
- Force Creation: Overwrite existing files if a project with the same name already exists.
-
Generate API Resources: Use the
createcommand to scaffold various API components, including models and their associated endpoints:- Model Creation: Define the name of the model to generate a new model class.
- Getter/Setter Methods: Optionally include getter and setter methods for private properties.
- Endpoint Methods: Specify which HTTP methods (e.g., 'GET,POST') to include or exclude for your model's endpoints.
- Model Only: Generate only the model class without additional endpoints.
- Search and Single Methods: Configure the model to use search methods instead of the default
get_all.
-
Authentication Resources: The
create:authenticationcommand generates authentication-related resources for a specified model:- Username Field: Define the field in the model for storing usernames.
- Password Field: Define the field in the model for storing passwords.
-
Resource Management: The
create:resourcecommand sets up resource-related components for a specified model, including:- Resource Name: Specify the name of the resource.
- Endpoint Methods: Define which HTTP methods to include or exclude.
- URL Prefix: Set a URL prefix for grouping related routes.
- Search and Single Methods: Configure methods for querying resources.
- Query Parameters: Define parameters and their types for filtering.
Installation
To install FlaskForge, use pip:
pip install flaskforge
Usage
Here are the commands available with FlaskForge:
Initialize a New Project:
flaskforge initapp <project_name> [--jwt-enable] [--swagger-enable] [--force]
Generate API Resources:
flaskforge create <model_name> [--getter-setter] [--endpoints <methods>] [--exclude-endpoints <methods>] [--model-only] [--use-search] [--use-single] [--param <param>] [--type <type>] [--force]
Create Authentication Resource
flaskforge create:authentication <model_name> --username-field <field_name> --password-field <field_name>
Create Resource Components:
flaskforge create:resource <model_name> --name <resource_name> [--endpoints <methods>] [--exclude-endpoints <methods>] [--url-prefix <prefix>] [--use-search] [--use-single] [--param <param>] [--type <type>]
Contributing
We welcome contributions to FlaskForge! If you have suggestions, improvements, or bug reports, please submit an issue or a pull request on our GitHub repository.
License
FlaskForge is licensed under the MIT License.
Project details
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 flaskforge-1.0.3.tar.gz.
File metadata
- Download URL: flaskforge-1.0.3.tar.gz
- Upload date:
- Size: 43.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6ec02282a236e13ed3c67c8202b488237d869f1d3c1296a10d162654622cf95
|
|
| MD5 |
312452f2bd0fad36a323cba69b22982c
|
|
| BLAKE2b-256 |
e1d0b329a65620d2877943cc1e013f4ce413bcb3ac32fff1a749022113c3d4e2
|
File details
Details for the file flaskforge-1.0.3-py3-none-any.whl.
File metadata
- Download URL: flaskforge-1.0.3-py3-none-any.whl
- Upload date:
- Size: 61.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce1ed806d5b922aa377e613db1177e5f2611d682e5f827eb07c0eab8d2cd781f
|
|
| MD5 |
c337cbdabbbfba5afe96eb9897ea0142
|
|
| BLAKE2b-256 |
cbc2cccdcfa2a5924f21170096f2d2301f13ca0271ba906d86476d458c8097a3
|