CLI for scaffolding Robyn backend templates (DDD/MVC with SQLAlchemy or Tortoise).
Project description
robyn-config
robyn-config is a small CLI that scaffolds Robyn backend projects from the bundled templates. It can generate either DDD or MVC layouts and swaps between SQLAlchemy and Tortoise implementations on demand.
Installation
pip install .
# or
uv tool install .
Usage
Create a project with your preferred ORM and architecture:
robyn-config create my-service --orm sqlalchemy --design ddd ./my-service
robyn-config create newsletter --orm tortoise --design mvc ~/projects/newsletter
Options:
namesets the project name used in templated files likepyproject.tomlandREADME.md.--orm(sqlalchemy|tortoise) selects the database layer.--design(ddd|mvc) toggles between the Domain-Driven and MVC templates.destinationis the target directory (defaults to.); if it is not empty, you will be prompted before overwriting conflicts.
The command copies:
- Common project files (docker-compose, Makefile, env templates, README, pyproject, uv.lock).
- Application code from
src/app_dddorsrc/app_mvcintosrc/app. - Compose helpers from
src/common/compose/appwith ORM-specific dev/prod runners. - For Tortoise projects, Alembic artifacts are omitted from the Docker image.
Template contents
The shipped templates live alongside the CLI:
- Root-level files sit under
src/common. - Compose files are under
src/common/compose/app. - Application code is under
src/dddandsrc/mvc.
Feel free to modify these in-place to customize the generated projects.
Development
Run the linters/tests locally:
uv venv && source .venv/bin/activate
uv pip install -e .[dev]
ruff check src
pytest
Build a wheel for distribution:
python -m build
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 robyn_config-0.1.0.tar.gz.
File metadata
- Download URL: robyn_config-0.1.0.tar.gz
- Upload date:
- Size: 126.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa4a9bc2fa11dc62aea28d4bf2eb2add90b06187f4260a32af014921782aa4bd
|
|
| MD5 |
0161e77f53f127783199d20b45ca8676
|
|
| BLAKE2b-256 |
311da47977e160eece1ef2d40a6a27ed3f74a3d502e90aa3a201df8764fa21b3
|
File details
Details for the file robyn_config-0.1.0-py3-none-any.whl.
File metadata
- Download URL: robyn_config-0.1.0-py3-none-any.whl
- Upload date:
- Size: 156.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05ad5b094ca1cf83fe8765fc2a82ce93a67dbc48b871c06abd1b84575ae8b5ec
|
|
| MD5 |
49d7cd1216e4bccbfe5dfd0ac5f691c8
|
|
| BLAKE2b-256 |
c5e3033eaa9c2890093b3bea88f49b121d6372d91c9a18846ff087f341016616
|