Skip to main content

A CLI tool to generate a Django-like structure for Flask projects

Project description

FlaskMason

FlaskMason is a command-line tool designed to quickly scaffold Flask applications with a Django-like project structure. It automates the creation of a boilerplate project with organized blueprints, configuration files, and other essential components, allowing developers to focus on building features instead of setting up their environment.

Features

  • Django-like Folder Structure: Automatically creates a structured layout for your Flask projects, including blueprints for authentication, admin, and more.
  • Predefined Boilerplate Code: Generates essential files with predefined content, reducing the need for repetitive setup.
  • Easy Installation: Installs all necessary dependencies with a single command.

Installation

You can install FlaskMason via pip. To install it along with its dependencies, run:

pip install flaskmason

Usage

To create a new Flask project, simply run:

flaskmason <project_name>

This command will generate a new directory called <project_name> containing the following structure:

<project_name>/
├── app.py
├── config.py
├── requirements.txt
├── .env
├── blueprints/
│   ├── __init__.py
│   ├── auth/
│   │   ├── __init__.py
│   │   ├── views.py
│   │   ├── models.py
│   │   └── forms.py
│   └── admin/
│       ├── __init__.py
│       ├── views.py
│       ├── models.py
│       └── forms.py
├── static/
└── templates/

Example Commands

  1. Create a new Flask project:

    flaskmason my_flask_project
    
  2. Change directory into the new project:

    cd my_flask_project
    
  3. Run the application:

    python app.py
    

File Descriptions

  • app.py: The main application file where the Flask app is created and configured.
  • config.py: Contains configuration settings for the application, such as database URI and secret keys.
  • blueprints/: Directory for organizing application features into blueprints, improving modularity and maintainability.
  • static/: Directory for static files (CSS, JavaScript, images).
  • templates/: Directory for HTML templates used in rendering views.

Contributing

Contributions are welcome! If you have suggestions or find bugs, please open an issue or submit a pull request.

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Author

Akash Nath

Acknowledgements

  • Thanks to the Flask community for providing an excellent framework for web development.

Notes:

  • Personalize the Author Section: Update the author section with your name and any other relevant details, like your LinkedIn or personal website, if desired.
  • Add More Details: Feel free to expand on any sections, add more examples, or include additional features you plan to implement in the future.
  • Contribution Guidelines: You might want to include more specific contribution guidelines if you expect contributions from others.

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

flaskmason-0.1.4.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

flaskmason-0.1.4-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file flaskmason-0.1.4.tar.gz.

File metadata

  • Download URL: flaskmason-0.1.4.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for flaskmason-0.1.4.tar.gz
Algorithm Hash digest
SHA256 5e79c05420006ce09f2b020a6cbaa27c8df97b1cacc26aa775e7026ffec7e285
MD5 232f46b93cf6b8cf6baea3fea9c91959
BLAKE2b-256 dcf86cf151c288a89cfe63081a38ba4d54d58785a8a113e26f10d87b750f0726

See more details on using hashes here.

File details

Details for the file flaskmason-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: flaskmason-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for flaskmason-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 687921ae7d4377a719925feec76ec9fe82e5cd66cea29667e4726be963862ebd
MD5 e5f3079b8da4b582beb2ec31312341ee
BLAKE2b-256 29b28142df721223ee2db8049e64d3d88e739674cac9be6ac87dd2630ed8c70a

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