A simple CLI tool for bootstrapping new Python projects fast.
I often find myself building the same types of Python projects with the same dependencies over and over again. After a while, it gets tedious repeating the same CLI commands to create a simple project.
Zenforge combats this by using static configuration settings to build projects based on a single create
command. There are 7 types of projects available:
- basic: a simple project with Pydantic.
- api: a FastAPI project with Logfire.
- agents: an AI Agent project with PydanticAI and Logfire.
- dl: a Deep Learning project with PyTorch.
- api-agents: a FastAPI and PydanticAI project (API and AGENTS).
- api-dl: a Deep Learning API project (API and DL).
- all: a Deep Learning, API, AI Agent project (DL and API-AGENTS).
The packages are always updated to their latest versions with every newly created project and are bootstrapped as a Poetry
project.
They also come configured with a set of test dependencies:
- pytest - for unit tests.
- pytest-cov - for unit test line coverage.
- black - for code formatting.
- flake8 - for confirming Python style formatting.
- isort - for automatic import sorting.
- mypy - for static type checking.
-
Install the package using
pip
:pip install zenforge
-
Create a new project with
zenforge create
:zenforge create [PROJECT_NAME] [PROJECT_TYPE]
That's it!
The project_type
must be one of the following options: ['basic', 'api', 'agents', 'dl', 'api-agents', 'api-dl', 'all']
. It defaults to basic
.
There is also an optional flag for setting up a ci
dependencies group that comes configured with git-cliff
. You can add it with --ci-deps
flag, like so:
zenforge create [PROJECT_NAME] api-dl --ci-deps