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.3.tar.gz (43.0 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.3-py3-none-any.whl (61.0 kB view details)

Uploaded Python 3

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

Hashes for flaskforge-1.0.3.tar.gz
Algorithm Hash digest
SHA256 d6ec02282a236e13ed3c67c8202b488237d869f1d3c1296a10d162654622cf95
MD5 312452f2bd0fad36a323cba69b22982c
BLAKE2b-256 e1d0b329a65620d2877943cc1e013f4ce413bcb3ac32fff1a749022113c3d4e2

See more details on using hashes here.

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

Hashes for flaskforge-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ce1ed806d5b922aa377e613db1177e5f2611d682e5f827eb07c0eab8d2cd781f
MD5 c337cbdabbbfba5afe96eb9897ea0142
BLAKE2b-256 cbc2cccdcfa2a5924f21170096f2d2301f13ca0271ba906d86476d458c8097a3

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