# flask-kickstart
This is a Python-based command-line tool for scaffolding a Flask project with a predefined structure. It generates a boilerplate for a Flask application, including basic configuration, routes, templates, and testing setup.
## Features
Automatically sets up a Flask project with a basic directory structure.
Includes boilerplate code for:
- app/__init__.py: Flask application factory.
- app/routes.py: Sample route with HTML template rendering.
- config.py: Configurable settings (e.g., SECRET_KEY).
- run.py: Application entry point.
- tests/test_app.py: Basic unit test for Flask routes.
- templates/base.html: Basic HTML template.
- requirements.txt: List of required dependencies (Flask, Flask-SQLAlchemy).
- Object-oriented design to ensure modularity and scalability.
## Prerequisites
Before using this tool, ensure you have the following installed:
- Python 3.6+
- Flask (pip install Flask)
## Customization
You can modify the template files in the templates/ directory to customize the structure of your Flask project.
Placeholders like {{secret_key}} in config.py.template can be dynamically replaced by the tool if needed.
## Usage
Create a virtual environment by executing the following command.
```
python -m venv .venv
```
Activate the virtual environment using the following script
```
On Windows
.venv\Scripts\activate
On Linux
source ./.venv/bin/activate
```
Install flask-kickstart.
```
pip install flask-kickstart
```
Once installed, you will be able to run flask_kickstart
Default configuration file is given below.
```
{
"project": {
"name": "NewFlaskProject",
"author": "Harikumar G",
"description": "Generated using Kickstarter",
"blueprints": [
"main",
"auth",
"api"
]
},
"outputFolder": "../generated"
}
```
You can customize the behavior by creating a new configuration file in similar format and passing it using '--setting'
```
flask_kickstart --setting myconfig.json
```
## Contribution
If you'd like to contribute to this project, feel free to submit a pull request or open an issue.
## License
This project is licensed under the MIT License - see the LICENSE file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "flask-kickstart",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Harikumar G <hgokulam@yahoo.com>",
"keywords": "flask, blueprint, sqlite, scaffold, generate, webdevelopment",
"author": null,
"author_email": "Harikumar G <hgokulam@yahoo.com>",
"download_url": "https://files.pythonhosted.org/packages/54/49/622e760213752a6a64a8098c249f02f83d4d77dead8f4d7fc9ac5fe6944f/flask_kickstart-0.3.tar.gz",
"platform": null,
"description": "# flask-kickstart\r\n\r\nThis is a Python-based command-line tool for scaffolding a Flask project with a predefined structure. It generates a boilerplate for a Flask application, including basic configuration, routes, templates, and testing setup.\r\n\r\n## Features\r\nAutomatically sets up a Flask project with a basic directory structure.\r\nIncludes boilerplate code for:\r\n- app/__init__.py: Flask application factory.\r\n- app/routes.py: Sample route with HTML template rendering.\r\n- config.py: Configurable settings (e.g., SECRET_KEY).\r\n- run.py: Application entry point.\r\n- tests/test_app.py: Basic unit test for Flask routes.\r\n- templates/base.html: Basic HTML template.\r\n- requirements.txt: List of required dependencies (Flask, Flask-SQLAlchemy).\r\n- Object-oriented design to ensure modularity and scalability.\r\n## Prerequisites\r\nBefore using this tool, ensure you have the following installed:\r\n\r\n- Python 3.6+\r\n- Flask (pip install Flask)\r\n\r\n## Customization\r\nYou can modify the template files in the templates/ directory to customize the structure of your Flask project.\r\nPlaceholders like {{secret_key}} in config.py.template can be dynamically replaced by the tool if needed.\r\n\r\n## Usage\r\n\r\nCreate a virtual environment by executing the following command.\r\n```\r\npython -m venv .venv\r\n```\r\nActivate the virtual environment using the following script\r\n```\r\nOn Windows\r\n.venv\\Scripts\\activate\r\n\r\nOn Linux\r\nsource ./.venv/bin/activate \r\n```\r\nInstall flask-kickstart.\r\n```\r\npip install flask-kickstart\r\n```\r\nOnce installed, you will be able to run flask_kickstart\r\n\r\nDefault configuration file is given below. \r\n```\r\n{\r\n \"project\": {\r\n \"name\": \"NewFlaskProject\",\r\n \"author\": \"Harikumar G\",\r\n \"description\": \"Generated using Kickstarter\",\r\n \"blueprints\": [\r\n \"main\",\r\n \"auth\",\r\n \"api\"\r\n ]\r\n },\r\n \"outputFolder\": \"../generated\"\r\n}\r\n```\r\nYou can customize the behavior by creating a new configuration file in similar format and passing it using '--setting'\r\n\r\n```\r\nflask_kickstart --setting myconfig.json\r\n```\r\n## Contribution\r\nIf you'd like to contribute to this project, feel free to submit a pull request or open an issue.\r\n\r\n## License\r\nThis project is licensed under the MIT License - see the LICENSE file for details.\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Flask application scaffolding tool",
"version": "0.3",
"project_urls": {
"Homepage": "https://hari-yahoo.github.io/flask-kickstart/",
"Issues": "https://github.com/hari-yahoo/flask-kickstart/issues",
"Repository": "https://github.com/hari-yahoo/flask-kickstart.git"
},
"split_keywords": [
"flask",
" blueprint",
" sqlite",
" scaffold",
" generate",
" webdevelopment"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "725246f487c1a6f5768fb756e77da65274ae7fc4cdb940ff4954055de3159235",
"md5": "6579508b57ae8067005d528b407b0399",
"sha256": "bb6d0d2240d838e6fcd2d5d348859181d5b9ea9a177fa30ac1ac1ce3b59549f8"
},
"downloads": -1,
"filename": "flask_kickstart-0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6579508b57ae8067005d528b407b0399",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 10255,
"upload_time": "2024-10-22T10:54:08",
"upload_time_iso_8601": "2024-10-22T10:54:08.966928Z",
"url": "https://files.pythonhosted.org/packages/72/52/46f487c1a6f5768fb756e77da65274ae7fc4cdb940ff4954055de3159235/flask_kickstart-0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5449622e760213752a6a64a8098c249f02f83d4d77dead8f4d7fc9ac5fe6944f",
"md5": "b63bfa3b33ff3bd83fac4a58362b9b61",
"sha256": "377c3cc93636c5a2a27c6a0a4fb6cf3388f85c992663a7b1eaafdb901767626c"
},
"downloads": -1,
"filename": "flask_kickstart-0.3.tar.gz",
"has_sig": false,
"md5_digest": "b63bfa3b33ff3bd83fac4a58362b9b61",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 6964,
"upload_time": "2024-10-22T10:54:11",
"upload_time_iso_8601": "2024-10-22T10:54:11.008825Z",
"url": "https://files.pythonhosted.org/packages/54/49/622e760213752a6a64a8098c249f02f83d4d77dead8f4d7fc9ac5fe6944f/flask_kickstart-0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-22 10:54:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hari-yahoo",
"github_project": "flask-kickstart",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "jinja2",
"specs": []
}
],
"lcname": "flask-kickstart"
}