Skip to content

🧩 Production-ready Robyn backend boilerplate generator with flexible project layouts, ORM support, and CLI tooling for fast project setup

License

Notifications You must be signed in to change notification settings

Lehsqa/robyn-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

robyn-config

Downloads PyPI version License Python

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.

πŸ“¦ Installation

You can simply use Pip for installation.

pip install robyn-config

πŸ€” Usage

πŸš€ Create a Project

To 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/newsletter

βž• Add Business Logic

Once 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 product

This will:

  • Generate models/tables.
  • Create repositories.
  • Setup routes and controllers.
  • Register everything in the app configuration.

πŸƒ CLI Options

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 like pyproject.toml and README.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.

🐍 Python Version Support

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.

πŸ’‘ Features

  • 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, and mypy for a superior development experience.

πŸ—’οΈ How to contribute

🏁 Get started

Feel free to open an issue for any clarifications or suggestions.

βš™οΈ To Develop Locally

Prerequisites

  • Python >= 3.11
  • uv (recommended) or pip

Setup

  1. Clone the repository:

    git clone https://github.com/Lehsqa/robyn-config.git
  2. Setup a virtual environment and install dependencies:

    uv venv && source .venv/bin/activate
    uv pip install -e .[dev]
  3. Run linters and tests:

    make check

✨ Special thanks

Special thanks to the Robyn team for creating such an amazing framework!

About

🧩 Production-ready Robyn backend boilerplate generator with flexible project layouts, ORM support, and CLI tooling for fast project setup

Topics

Resources

License

Stars

Watchers

Forks