No project description provided
Project description
๐ Karigor CLI
Laravel Artisan Inspired CLI Tool for Python Developers
Karigor helps you bootstrap scalable Python applications, manage database migrations, generate code scaffolding, and streamline development workflows with a familiar Artisan-like experience.
โก Quick Commands
karigor init
karigor serve
karigor db:install
karigor create:migration users
karigor migrate "create users table"
karigor create:model app/models/User.py
karigor create:controller app/controllers/UserController.py
๐ฏ Available Commands
| Command | Description |
|---|---|
karigor init |
Initialize a new project |
karigor serve |
Run the application |
karigor db:install |
Install Alembic and database drivers |
karigor create:migration <name> |
Create migration file |
karigor migrate "<message>" |
Generate and run migrations |
karigor create:model <path> |
Generate a model class |
karigor create:controller <path> |
Generate a controller class |
๐ฆ Installation
Install from PyPI:
pip install karigor
Verify installation:
karigor --help
๐ Getting Started
Create a new project:
karigor init
Start the application:
karigor serve
๐๏ธ Command Reference
โก karigor init
Initialize a new Karigor project.
karigor init
What it creates
app/
config/
database/
main.py
.env
.env.example
Installed Packages
fastapi
uvicorn[standard]
pydantic-settings
sqlalchemy
โถ๏ธ karigor serve
Run your application.
karigor serve
Equivalent:
python main.py
If main.py is missing, Karigor will suggest running:
karigor init
๐๏ธ karigor db:install
Install database support and Alembic.
karigor db:install
Installs
alembic
Optional Drivers:
PostgreSQL
psycopg2-binary
MySQL
pymysql
mysqlclient
Generates
alembic/
alembic/env.py
๐ karigor create:migration
Generate a migration file.
karigor create:migration users
Features
- Automatic migration registration
- Duplicate table protection
- Smart singular/plural naming
- SQLAlchemy compatible
Generated in:
database/migrations/
๐ karigor migrate
Generate and execute migrations.
karigor migrate "create users table"
Internally runs:
alembic revision --autogenerate -m "create users table"
alembic upgrade head
๐๏ธ karigor create:model
Generate a model file.
karigor create:model app/models/User.py
Generated Template:
class User:
pass
๐ฎ karigor create:controller
Generate a controller file.
karigor create:controller app/controllers/UserController.py
Generated Template:
class UserController:
pass
๐ Project Structure
After running:
karigor init
Your project structure will look like:
project/
โโโ app/
โ โโโ controllers/
โ โโโ models/
โ โโโ __init__.py
โ
โโโ config/
โ โโโ env_setting.py
โ โโโ meta_data.py
โ
โโโ database/
โ โโโ migrations/
โ โ โโโ base.py
โ
โโโ main.py
โโโ .env
โโโ .env.example
โ
โโโ alembic/
โก Typical Workflow
1. Create Project
karigor init
2. Install Database Support
karigor db:install
3. Create Models
karigor create:model app/models/User.py
4. Generate Migration
karigor create:migration users
5. Run Migration
karigor migrate "create users table"
6. Start Application
karigor serve
โค๏ธ Why Karigor?
Karigor brings Laravel Artisan-like productivity to Python projects.
Benefits
โ Fast Project Setup
โ Migration Management
โ Model Generator
โ Controller Generator
โ Interactive CLI
โ FastAPI Ready
โ SQLAlchemy Ready
โ Clean Folder Structure
โ Rich Terminal Output
๐ง Requirements
- Python 3.10+
- FastAPI
- SQLAlchemy
- Alembic
Most dependencies are installed automatically by Karigor.
๐ฃ๏ธ Roadmap
Upcoming features:
- Repository Generator
- Service Generator
- Route Generator
- CRUD Generator
- Authentication Boilerplate
- Docker Support
- Clean Architecture Template
- Async SQLAlchemy Support
- PostgreSQL Extensions
๐ค Contributing
Contributions are welcome.
Clone the repository:
git clone https://github.com/yourusername/karigor.git
cd karigor
pip install -e .
Run tests:
pytest
Please open an issue before submitting major changes.
๐ License
MIT License
Made with โค๏ธ for Python Developers
Karigor โ Build Faster, Code Smarter.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file karigor-1.0.6.tar.gz.
File metadata
- Download URL: karigor-1.0.6.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30b9ca6059cc798718e1c51595d3941c5ffddfffd468be9d550b1618c8e2a9be
|
|
| MD5 |
2171ab7926f583869dd4f0afae84404c
|
|
| BLAKE2b-256 |
89abf6b640534c4a831d1cbb47eb957101e922cbb1bdd1ba82bc600c2dc420f8
|
Provenance
The following attestation bundles were made for karigor-1.0.6.tar.gz:
Publisher:
publish.yml on tawhidjony/karigor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
karigor-1.0.6.tar.gz -
Subject digest:
30b9ca6059cc798718e1c51595d3941c5ffddfffd468be9d550b1618c8e2a9be - Sigstore transparency entry: 1935643730
- Sigstore integration time:
-
Permalink:
tawhidjony/karigor@1f68c851e7bab1baa2417d584a6595caaf6137bc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tawhidjony
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1f68c851e7bab1baa2417d584a6595caaf6137bc -
Trigger Event:
push
-
Statement type:
File details
Details for the file karigor-1.0.6-py3-none-any.whl.
File metadata
- Download URL: karigor-1.0.6-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
155db7538facd64300b0ffa1b651cc15a2f135ffc57ead1d1806448f3ddc3ab9
|
|
| MD5 |
d06f243b50d67cadc24b37ff0fd0f57b
|
|
| BLAKE2b-256 |
2f88ba707180e12d2513cbc5e0e6a872a568a45be9d623215c9c5d24b960c3bb
|
Provenance
The following attestation bundles were made for karigor-1.0.6-py3-none-any.whl:
Publisher:
publish.yml on tawhidjony/karigor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
karigor-1.0.6-py3-none-any.whl -
Subject digest:
155db7538facd64300b0ffa1b651cc15a2f135ffc57ead1d1806448f3ddc3ab9 - Sigstore transparency entry: 1935643768
- Sigstore integration time:
-
Permalink:
tawhidjony/karigor@1f68c851e7bab1baa2417d584a6595caaf6137bc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tawhidjony
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1f68c851e7bab1baa2417d584a6595caaf6137bc -
Trigger Event:
push
-
Statement type: