# 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 FastAPI 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 generate --help
FastAPI/Flask project generator with the best folder structure. Generate a new FastAPI/Flask project
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --type -t TEXT Type of that should be generated. Default type is fast_api. Valid Options are: [fast_api, flask] [default: fast_api |
│ --name -n TEXT Name of the app [default: sampel_app] |
│ --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. |
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```
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 --name myapp
faag -n myapp
```
# 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",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "FastAPI,Flask,SQLAlchemy,Poetry,Python,CLI",
"author": "Vetrichelvan",
"author_email": "pythonhubdev@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ad/5c/42290035ccf773718899dcdd38dcf96e61a88346e584ffaa7df9f1ab7db1/faag-0.0.1.dev0.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\nFaag generate will automatically generate a FastAPI 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\nUsage: faag generate --help\n\n FastAPI/Flask project generator with the best folder structure. Generate a new FastAPI/Flask project\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\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\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 --type -t TEXT Type of that should be generated. Default type is fast_api. Valid Options are: [fast_api, flask] [default: fast_api |\n\u2502 --name -n TEXT Name of the app [default: sampel_app] |\n\u2502 --install-completion Install completion for the current shell. |\n\u2502 --show-completion Show completion for the current shell, to copy it or customize the installation. |\n\u2502 --help Show this message and exit. |\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\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\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 --name myapp\n faag -n myapp\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",
"bugtrack_url": null,
"license": "MIT",
"summary": "Flask/FastAPI Architecture Application Generator",
"version": "0.0.1.dev0",
"split_keywords": [
"fastapi",
"flask",
"sqlalchemy",
"poetry",
"python",
"cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9c7e5294870e5fee718be4743ebf7bff5cdde88f29b0a755aa5449d15c03e439",
"md5": "1e03ffe2da90c13e3396b09eb5b3c8db",
"sha256": "1273934273f433411b7aeea90802751db3a1c77fdc98c51bb0d32578798d45fd"
},
"downloads": -1,
"filename": "faag-0.0.1.dev0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1e03ffe2da90c13e3396b09eb5b3c8db",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 20132,
"upload_time": "2023-03-21T09:40:50",
"upload_time_iso_8601": "2023-03-21T09:40:50.116632Z",
"url": "https://files.pythonhosted.org/packages/9c/7e/5294870e5fee718be4743ebf7bff5cdde88f29b0a755aa5449d15c03e439/faag-0.0.1.dev0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ad5c42290035ccf773718899dcdd38dcf96e61a88346e584ffaa7df9f1ab7db1",
"md5": "0b62a36d4d8d2a6c7ea238805adb2b99",
"sha256": "5d584b8ba9f8c48f4954ebdf3152a818e1b6506beefc56001180195f8a065564"
},
"downloads": -1,
"filename": "faag-0.0.1.dev0.tar.gz",
"has_sig": false,
"md5_digest": "0b62a36d4d8d2a6c7ea238805adb2b99",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 13400,
"upload_time": "2023-03-21T09:40:52",
"upload_time_iso_8601": "2023-03-21T09:40:52.173655Z",
"url": "https://files.pythonhosted.org/packages/ad/5c/42290035ccf773718899dcdd38dcf96e61a88346e584ffaa7df9f1ab7db1/faag-0.0.1.dev0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-21 09:40:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "DevzoneCommunity",
"github_project": "faag_cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "faag"
}