Skip to main content

CLI tool for FastAPI scaffolding with router, models, database, and templates.

Project description

Shafikul CLI

Shafikul CLI is a command-line tool to scaffold FastAPI projects quickly.
It helps you generate routers, models, database connections, HTML templates, full complete application with proper folder structure and auto updates for main.py and .env file.


Features

  • ✅ Create FastAPI routers, models, and database modules
  • ✅ Auto-generate main.py with imports and DB setup
  • ✅ Auto-generate or update .env file
  • ✅ Create HTML templates (index.html or custom names)
  • ✅ Interactive CLI (numeric and text options)
  • ✅ Colored console output
  • ✅ Version commands (--version, -v, -V)
  • ✅ About commands (--about, -a, -A)

Installation

Install from PyPI:

pip install shafikul_cli

Or Locally (editable):

git clone https://github.com/build-with-shafikul/shafikul_cli.git
cd shafikul_cli
pip install -e .

CLI help

shafikul_cli --help

Show version

shafikul_cli --version

About CLI

shafikul_cli --about

Create resources

shafikul_cli create app

Interactive Option

1: router
2: models
3: database
4: html
5: structure


You can select by number or by name Example for HTML template:
shafikul create app html
Enter file name default [index.html]: home.html

Database creation also auto updates main.py and .env

Project Structure

project_root/
│   .env
│   .gitignore
│   alembic.ini
│   main.py
│   README.md
│   requirements.txt
│   test.db
│   
├───app
│      database.py
│      models.py
│           
├───asset
│   ├───css
│   ├───images
│   └───js
├───migrations
│      env.py
│      README
│         ├───versions
│         b6bbf47f6a8a_create_users_table.py
│           
├───router
│       users.py
│       __init__.py
│       
├───static
│   └───images
│           logo.png
│           
├───templates
│       index.html
│       notfound.html
│       
└───utility
        helper_function.py

Development

If you want to contribute:
Fork the repo ↗
Create a feature branch: git checkout -b feature-name
Commit your changes: git commit -m "Add feature"
Push to the branch: git push origin feature-name
Open a Pull Request

License

MIT License

Author

Md Shafikul Islam GitHub ↗

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

shafikul_cli-2.1.2.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shafikul_cli-2.1.2-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file shafikul_cli-2.1.2.tar.gz.

File metadata

  • Download URL: shafikul_cli-2.1.2.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shafikul_cli-2.1.2.tar.gz
Algorithm Hash digest
SHA256 be7a865ea2fc310efe962dd4aec6297dd41db67cc7dfbf1df9ab5c71623145ef
MD5 1f8739ff82a621c4c0b3db388189dbb1
BLAKE2b-256 1eaf50a3369055c58026c01d9d5265b5b3e79591eeae8a20fa2d72d281909743

See more details on using hashes here.

Provenance

The following attestation bundles were made for shafikul_cli-2.1.2.tar.gz:

Publisher: workflow.yml on build-with-shafikul/shafikul_cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shafikul_cli-2.1.2-py3-none-any.whl.

File metadata

  • Download URL: shafikul_cli-2.1.2-py3-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shafikul_cli-2.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3d5c5e4f2f5698a32c594fd33aa7f4d7a1594c70f7a21f2df2a3d1006f77b9e2
MD5 9f1e8130cf123aebe8cb5b2c390aeb86
BLAKE2b-256 1ff802ae8d7347331d3d9efbdf192f171cf3848f84a68cb20a22ce5668a76da0

See more details on using hashes here.

Provenance

The following attestation bundles were made for shafikul_cli-2.1.2-py3-none-any.whl:

Publisher: workflow.yml on build-with-shafikul/shafikul_cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page