Skip to main content

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 initapp command. 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 create command 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:authentication command 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:resource command 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

flaskforge-1.0.4.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flaskforge-1.0.4-py3-none-any.whl (61.3 kB view details)

Uploaded Python 3

File details

Details for the file flaskforge-1.0.4.tar.gz.

File metadata

  • Download URL: flaskforge-1.0.4.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for flaskforge-1.0.4.tar.gz
Algorithm Hash digest
SHA256 333e403a6cad8d6e3ffc2b8ac3ef9909e25cb73d722dbc7967716f1c6a7560b2
MD5 59ed746e4577663b373b5b18480ad2d7
BLAKE2b-256 e8af23a3acbe8c68e800c95099ded0f976e4368930764480971f15bff1cbcff3

See more details on using hashes here.

File details

Details for the file flaskforge-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: flaskforge-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 61.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for flaskforge-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bb8ac682d860e92eea020c023fa4d62fcee55bc6f85324205503b01c6ae50e35
MD5 ebc2fadd00dc8a94fadb82b41ff6c65d
BLAKE2b-256 145ab8a20d4971064dc0b1f130774d6c09ae2b11df31538b4177446e33eb8acb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page