# Faag-CLI
**FastAPI/Flask project generator with the best folder structure.** (Fast/Flask Architecture App Generator)
Flask / FastAPI app generator with a maintainable architecture and sample codes for the best practices.
Currently, supports generation of FastAPI apps only. Flask support is coming soon. Currently, in `pre-release`. Feel
free
to raise suggestions and issues. This package is made with [Typer](https://typer.tiangolo.com/).
## Installation
```bash
poetry add faag-cli
```
```bash
pip install faag-cli
```
# Usage
Currently, we support generation of apps only. Adding support for other features like adding models, routes, etc. is
coming soon.
## To generate a FastAPI/Flask app
```faag generate``` will automatically generate a Fast App by default. You can also specify the type of app you want to
generate with the `--type` flag. Default app will be generated with 'sample_app' as the name. You can also specify the
name of the app with the `--name` flag.
```bash
Usage: faag [OPTIONS] COMMAND [ARGS]...
FastAPI/Flask project generator with the best folder structure. Generate a new app using Faag CLI.
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --version -v Prints the version of Faag CLI │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the installation. │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ generate FastAPI/Flask project generator with the best folder structure. Generate a new app using Faag CLI │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```
1. Help
```bash
faag --help
```
2. Generate a FastAPI app
```bash
faag generate
```
3. Generate a FastAPI/Flask App with custom app name
```bash
faag generate --type fast --name fast_app
faag generate -t flask -n flask_app
```
4. View options for generating a FastAPI/Flask app
```bash
faag generate --help
```
# Setup for development
> ## Virtual environment setup with Poetry
> 1. Create a fork of the repository
> 2. Clone the repository to your local machine
`git clone git@github.com:<username>/PyNotion.git`
> 3. Install poetry with `pip install poetry` or `pip3 install poetry`
> 4. Navigate to the root of the project and run `poetry install`
> ## Setup Pre-commit hooks
> 1. Install pre-commit hooks `pre-commit install`
> 2. Migrate pre-commit configs `pre-commit migrate-config`
> 3. In case of error run `git config --global --unset-all core.hooksPath` or `git config --unset-all core.hooksPath`
## Contribution Guidelines
Thank your for taking your valuable time to contribute to Faag-CLI.
Pull requests are welcome. For major changes, please open an issue
first to discuss what you would like to change.
Raw data
{
"_id": null,
"home_page": "https://github.com/DevzoneCommunity/faag_cli",
"name": "faag-cli",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "FastAPI,Flask,SQLAlchemy,Poetry,Python,CLI,API,Application,Generator,Architecture,Faag",
"author": "Vetrichelvan",
"author_email": "pythonhubdev@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/66/7f/eb5580fc2f46d59bc2b0ed4c3c00e9421bf06dcc36a5d2d34ab52d900075/faag_cli-0.2.1.tar.gz",
"platform": null,
"description": "# Faag-CLI\n\n**FastAPI/Flask project generator with the best folder structure.** (Fast/Flask Architecture App Generator)\nFlask / FastAPI app generator with a maintainable architecture and sample codes for the best practices.\nCurrently, supports generation of FastAPI apps only. Flask support is coming soon. Currently, in `pre-release`. Feel\nfree\nto raise suggestions and issues. This package is made with [Typer](https://typer.tiangolo.com/).\n\n## Installation\n\n```bash\npoetry add faag-cli\n```\n\n```bash\npip install faag-cli\n```\n\n# Usage\n\nCurrently, we support generation of apps only. Adding support for other features like adding models, routes, etc. is\ncoming soon.\n\n## To generate a FastAPI/Flask app\n\n```faag generate``` will automatically generate a Fast App by default. You can also specify the type of app you want to\ngenerate with the `--type` flag. Default app will be generated with 'sample_app' as the name. You can also specify the\nname of the app with the `--name` flag.\n\n```bash\n Usage: faag [OPTIONS] COMMAND [ARGS]...\n\n FastAPI/Flask project generator with the best folder structure. Generate a new app using Faag CLI. \n\n\u256d\u2500 Options \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 --version -v Prints the version of Faag CLI \u2502\n\u2502 --install-completion Install completion for the current shell. \u2502\n\u2502 --show-completion Show completion for the current shell, to copy it or customize the installation. \u2502\n\u2502 --help Show this message and exit. \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\n\u256d\u2500 Commands \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 \u2502\n\u2502 generate FastAPI/Flask project generator with the best folder structure. Generate a new app using Faag CLI \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n```\n\n1. Help\n ```bash\n faag --help\n ```\n\n2. Generate a FastAPI app\n ```bash\n faag generate\n ```\n\n3. Generate a FastAPI/Flask App with custom app name\n ```bash\n faag generate --type fast --name fast_app\n faag generate -t flask -n flask_app\n ```\n\n4. View options for generating a FastAPI/Flask app\n ```bash\n faag generate --help\n ```\n\n# Setup for development\n\n> ## Virtual environment setup with Poetry\n> 1. Create a fork of the repository\n> 2. Clone the repository to your local machine\n `git clone git@github.com:<username>/PyNotion.git`\n> 3. Install poetry with `pip install poetry` or `pip3 install poetry`\n> 4. Navigate to the root of the project and run `poetry install`\n\n> ## Setup Pre-commit hooks\n> 1. Install pre-commit hooks `pre-commit install`\n> 2. Migrate pre-commit configs `pre-commit migrate-config`\n> 3. In case of error run `git config --global --unset-all core.hooksPath` or `git config --unset-all core.hooksPath`\n\n## Contribution Guidelines\n\nThank your for taking your valuable time to contribute to Faag-CLI.\nPull requests are welcome. For major changes, please open an issue\nfirst to discuss what you would like to change.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Flask/FastAPI Architecture Application Generator",
"version": "0.2.1",
"split_keywords": [
"fastapi",
"flask",
"sqlalchemy",
"poetry",
"python",
"cli",
"api",
"application",
"generator",
"architecture",
"faag"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "87514230e8898e48be76b6ce80937979c03e24a70512978678703dcde531dd3a",
"md5": "ce928300ba3df6fc48a69ea0e64624f3",
"sha256": "0a7a94233c3490aa47f535dd78c4cd33aecdb81a13d4e2af6a859ee062fb9806"
},
"downloads": -1,
"filename": "faag_cli-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ce928300ba3df6fc48a69ea0e64624f3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 25807,
"upload_time": "2023-04-06T11:27:16",
"upload_time_iso_8601": "2023-04-06T11:27:16.790116Z",
"url": "https://files.pythonhosted.org/packages/87/51/4230e8898e48be76b6ce80937979c03e24a70512978678703dcde531dd3a/faag_cli-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "667feb5580fc2f46d59bc2b0ed4c3c00e9421bf06dcc36a5d2d34ab52d900075",
"md5": "00d5202b64c3707d7ed58f5e006bd188",
"sha256": "4a7161a9cd92cba9eef25f25f1c877708fb69f3d8417dffd8029886eb3ebb581"
},
"downloads": -1,
"filename": "faag_cli-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "00d5202b64c3707d7ed58f5e006bd188",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 16461,
"upload_time": "2023-04-06T11:27:18",
"upload_time_iso_8601": "2023-04-06T11:27:18.790304Z",
"url": "https://files.pythonhosted.org/packages/66/7f/eb5580fc2f46d59bc2b0ed4c3c00e9421bf06dcc36a5d2d34ab52d900075/faag_cli-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-06 11:27:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "DevzoneCommunity",
"github_project": "faag_cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "faag-cli"
}