Skip to main content

A powerful CLI tool to bootstrap and manage production-ready Robyn applications with best practices built-in.

Project description

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robyn_config-0.2.0.tar.gz (53.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robyn_config-0.2.0-py3-none-any.whl (81.3 kB view details)

Uploaded Python 3

File details

Details for the file robyn_config-0.2.0.tar.gz.

File metadata

  • Download URL: robyn_config-0.2.0.tar.gz
  • Upload date:
  • Size: 53.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for robyn_config-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ff3232c5c327abff668ae3c0d28d93ff627ec4d82cc24fe9e33469ccf43308e8
MD5 622d39488ce7ee461563a309315950cd
BLAKE2b-256 b9fcd581d5a6e84c812869ea35566373bac2a1c10a78e0220916e90018b429de

See more details on using hashes here.

Provenance

The following attestation bundles were made for robyn_config-0.2.0.tar.gz:

Publisher: python-publish.yml on Lehsqa/robyn-config

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file robyn_config-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: robyn_config-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 81.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for robyn_config-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff0ae266ee57e6e23b0b56574d4fba16ed1f73bf8265bc063fb51e1618b5aeb6
MD5 a6dec25eb984793a1e186215f2059b27
BLAKE2b-256 358dae89dba48708e99e8891cb6331ee1878a48541dffb2e41315479c264b715

See more details on using hashes here.

Provenance

The following attestation bundles were made for robyn_config-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on Lehsqa/robyn-config

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page