This is Starter template for creating a CLI project using Typer framework
Disclaimer:
The description and all doc strings were created with the help of AI, so please forgive any writing errors🙏. But the script was done by myself😠.
- Okta
Before starting the application, ensure you have uv installed. You can install the dependencies and set up the virtual environment in one of the following ways:
To install the core CLI dependencies (Typer, etc.):
uv sync & uv lockSince this boilerplate supports various data sources, you can install specific dependency groups depending on your engine's requirements:
| Group | Command | Description |
|---|---|---|
| All Groups | uv sync --all-groups |
Install All drivers |
| CKafka | uv sync --group kafka |
Install Conflunet Kafka driver |
| PostgreSQL | uv sync --group postgresql |
Install Psycopg driver |
| PG Alchemy | uv sync --group pg-alchemy |
Install SQLAlchemy, Pandas, Psycopg drivers |
| Elasticsearch | uv sync --group elastic |
Install Elasticsearch 7 & 8 Drivers |
| MongoDB | uv sync --group mongo |
Install PyMongo driver |
| RabbitMQ | uv sync --group rmq |
Install Pika driver |
then you can use the driver located in the src/connection/**/*.py path
One of the best features of uv is running your script without manually managing the virtual environment. It will respect your groups if you've synced them:
# Run the CLI directly
uv run python src/main.py --helpIf you notice, in pyproject.toml in the project.scripts section, there is a command, and it can be run like this
# Run the CLI directly
uv run cli-execThis project is licensed under the GNU General Public License v3.0 (GPL-3.0).
Copyright (C) 2026 Oktapiancaw
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for more details.