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
-
Create a new Flask project:
flaskmason my_flask_project -
Change directory into the new project:
cd my_flask_project
-
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.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeature). - Open a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Author
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e79c05420006ce09f2b020a6cbaa27c8df97b1cacc26aa775e7026ffec7e285
|
|
| MD5 |
232f46b93cf6b8cf6baea3fea9c91959
|
|
| BLAKE2b-256 |
dcf86cf151c288a89cfe63081a38ba4d54d58785a8a113e26f10d87b750f0726
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
687921ae7d4377a719925feec76ec9fe82e5cd66cea29667e4726be963862ebd
|
|
| MD5 |
e5f3079b8da4b582beb2ec31312341ee
|
|
| BLAKE2b-256 |
29b28142df721223ee2db8049e64d3d88e739674cac9be6ac87dd2630ed8c70a
|