# 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:
```bash
pip install flaskmason
```
## Usage
To create a new Flask project, simply run:
```bash
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**:
```bash
flaskmason my_flask_project
```
2. **Change directory into the new project**:
```bash
cd my_flask_project
```
3. **Run the application**:
```bash
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](LICENSE) file for details.
## Author
[Akash Nath](https://www.akashnath.me/)
## 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/Akash-nath29/flaskgen",
"name": "flaskmason",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Akash Nath",
"author_email": "devakash2905@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/dc/f8/6cf151c288a89cfe63081a38ba4d54d58785a8a113e26f10d87b750f0726/flaskmason-0.1.4.tar.gz",
"platform": null,
"description": "# FlaskMason\r\n\r\nFlaskMason 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.\r\n\r\n## Features\r\n\r\n- **Django-like Folder Structure**: Automatically creates a structured layout for your Flask projects, including blueprints for authentication, admin, and more.\r\n- **Predefined Boilerplate Code**: Generates essential files with predefined content, reducing the need for repetitive setup.\r\n- **Easy Installation**: Installs all necessary dependencies with a single command.\r\n\r\n## Installation\r\n\r\nYou can install FlaskMason via pip. To install it along with its dependencies, run:\r\n\r\n```bash\r\npip install flaskmason\r\n```\r\n\r\n## Usage\r\n\r\nTo create a new Flask project, simply run:\r\n\r\n```bash\r\nflaskmason <project_name>\r\n```\r\n\r\nThis command will generate a new directory called `<project_name>` containing the following structure:\r\n\r\n```\r\n<project_name>/\r\n\u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac app.py\r\n\u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac config.py\r\n\u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac requirements.txt\r\n\u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac .env\r\n\u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac blueprints/\r\n\u00e2\u201d\u201a \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac __init__.py\r\n\u00e2\u201d\u201a \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac auth/\r\n\u00e2\u201d\u201a \u00e2\u201d\u201a \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac __init__.py\r\n\u00e2\u201d\u201a \u00e2\u201d\u201a \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac views.py\r\n\u00e2\u201d\u201a \u00e2\u201d\u201a \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac models.py\r\n\u00e2\u201d\u201a \u00e2\u201d\u201a \u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac forms.py\r\n\u00e2\u201d\u201a \u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac admin/\r\n\u00e2\u201d\u201a \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac __init__.py\r\n\u00e2\u201d\u201a \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac views.py\r\n\u00e2\u201d\u201a \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac models.py\r\n\u00e2\u201d\u201a \u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac forms.py\r\n\u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac static/\r\n\u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac templates/\r\n```\r\n\r\n### Example Commands\r\n\r\n1. **Create a new Flask project**:\r\n ```bash\r\n flaskmason my_flask_project\r\n ```\r\n\r\n2. **Change directory into the new project**:\r\n ```bash\r\n cd my_flask_project\r\n ```\r\n\r\n3. **Run the application**:\r\n ```bash\r\n python app.py\r\n ```\r\n\r\n## File Descriptions\r\n\r\n- **app.py**: The main application file where the Flask app is created and configured.\r\n- **config.py**: Contains configuration settings for the application, such as database URI and secret keys.\r\n- **blueprints/**: Directory for organizing application features into blueprints, improving modularity and maintainability.\r\n- **static/**: Directory for static files (CSS, JavaScript, images).\r\n- **templates/**: Directory for HTML templates used in rendering views.\r\n\r\n## Contributing\r\n\r\nContributions are welcome! If you have suggestions or find bugs, please open an issue or submit a pull request.\r\n\r\n1. Fork the repository.\r\n2. Create your feature branch (`git checkout -b feature/YourFeature`).\r\n3. Commit your changes (`git commit -m 'Add some feature'`).\r\n4. Push to the branch (`git push origin feature/YourFeature`).\r\n5. Open a pull request.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\r\n\r\n## Author\r\n\r\n[Akash Nath](https://www.akashnath.me/)\r\n\r\n## Acknowledgements\r\n\r\n- Thanks to the Flask community for providing an excellent framework for web development.\r\n\r\n### Notes:\r\n- **Personalize the Author Section**: Update the author section with your name and any other relevant details, like your LinkedIn or personal website, if desired.\r\n- **Add More Details**: Feel free to expand on any sections, add more examples, or include additional features you plan to implement in the future.\r\n- **Contribution Guidelines**: You might want to include more specific contribution guidelines if you expect contributions from others. \r\n",
"bugtrack_url": null,
"license": null,
"summary": "A CLI tool to generate a Django-like structure for Flask projects",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/Akash-nath29/flaskgen"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "29b28142df721223ee2db8049e64d3d88e739674cac9be6ac87dd2630ed8c70a",
"md5": "e5f3079b8da4b582beb2ec31312341ee",
"sha256": "687921ae7d4377a719925feec76ec9fe82e5cd66cea29667e4726be963862ebd"
},
"downloads": -1,
"filename": "flaskmason-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e5f3079b8da4b582beb2ec31312341ee",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 4956,
"upload_time": "2024-11-06T16:07:18",
"upload_time_iso_8601": "2024-11-06T16:07:18.515867Z",
"url": "https://files.pythonhosted.org/packages/29/b2/8142df721223ee2db8049e64d3d88e739674cac9be6ac87dd2630ed8c70a/flaskmason-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dcf86cf151c288a89cfe63081a38ba4d54d58785a8a113e26f10d87b750f0726",
"md5": "232f46b93cf6b8cf6baea3fea9c91959",
"sha256": "5e79c05420006ce09f2b020a6cbaa27c8df97b1cacc26aa775e7026ffec7e285"
},
"downloads": -1,
"filename": "flaskmason-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "232f46b93cf6b8cf6baea3fea9c91959",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 4740,
"upload_time": "2024-11-06T16:07:19",
"upload_time_iso_8601": "2024-11-06T16:07:19.788701Z",
"url": "https://files.pythonhosted.org/packages/dc/f8/6cf151c288a89cfe63081a38ba4d54d58785a8a113e26f10d87b750f0726/flaskmason-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-06 16:07:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Akash-nath29",
"github_project": "flaskgen",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "flaskmason"
}