robyn-config is a comprehensive CLI tool designed to bootstrap and manage Robyn applications. It streamlines your development workflow by generating production-ready project structures and automating repetitive tasks, allowing you to focus on building your business logic.
Think of it as the essential companion for your Robyn projects-handling everything from initial setup with best practices to injecting new feature components as your application grows.
You can simply use Pip for installation.
pip install robyn-configTo bootstrap a new project with your preferred architecture and ORM, run:
# Create a DDD project with SQLAlchemy
robyn-config create my-service --orm sqlalchemy --design ddd ./my-service# Create an MVC project with Tortoise ORM
robyn-config create newsletter --orm tortoise --design mvc ~/projects/newsletterOnce inside a project, you can easily add new entities (models, routes, repositories, etc.) using the add command. This automatically generates all necessary files and wiring based on your project's architecture.
# Add a 'product' entity to your project
cd my-service
robyn-config add productThis will:
- Generate models/tables.
- Create repositories.
- Setup routes and controllers.
- Register everything in the app configuration.
Usage: robyn-config [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
create Scaffold a new Robyn project.
add Add business logic component to an existing project.
create command options:
name: Sets the project name used in templated files likepyproject.tomlandREADME.md.--orm: Selects the database layer. Options:sqlalchemy,tortoise.--design: Toggles between the architecture templates. Options:ddd,mvc.destination: The target directory. Defaults to..
add command options:
name: The name of the entity/feature to add (e.g.,user,order-item).-p,--project-path: Path to the project root. Defaults to current directory.
robyn-config is compatible with the following Python versions:
Python >= 3.11
Please make sure you have the correct version of Python installed before starting to use this project.
- Rapid Scaffolding: Instantly generate robust, production-ready Robyn backend projects.
- Integrated Component Management: Use the CLI to inject models, routes, and repositories into your existing architecture, ensuring consistency and best practices.
- Architectural Flexibility: Native support for Domain-Driven Design (DDD) and Model-View-Controller (MVC) patterns.
- ORM Choice: Seamless integration with SQLAlchemy or Tortoise ORM.
- Production Ready: Includes Docker, Docker Compose, and optimized configurations out of the box.
- DevEx: Pre-configured with
ruff,pytest,black, andmypyfor a superior development experience.
Feel free to open an issue for any clarifications or suggestions.
- Python >= 3.11
uv(recommended) orpip
-
Clone the repository:
git clone https://github.com/Lehsqa/robyn-config.git
-
Setup a virtual environment and install dependencies:
uv venv && source .venv/bin/activate uv pip install -e .[dev]
-
Run linters and tests:
make check
Special thanks to the Robyn team for creating such an amazing framework!