Skip to main content

A Python CLI framework for project scaffolding and environment synchronization.

Project description

Status License

Corellia

What is Corellia

Corellia provides a unified CLI workflow for Python project management.

Corellia orchestrates Python version management, virtual environments, dependencies, project scripts and packaging through a single configuration file.

Instead of manually coordinating tools such as:

  • pyenv
  • venv
  • pip
  • build
  • git

Corellia provides a consistent project-oriented interface designed to simplify setup, synchronization and packaging workflows.


Why Corellia

Python projects often evolve into fragmented workflows:

  • Python versions are managed separately
  • virtual environments are manually recreated
  • dependencies drift across machines
  • scripts are undocumented or inconsistent
  • packaging metadata becomes duplicated
  • build workflows differ between projects

Corellia centralizes these concerns into a single source of truth:

corellia.toml

This allows projects to remain more reproducible, easier to synchronize, and more consistent across development environments.

Corellia does not aim to replace tools like pyenv, pip or venv. Instead, it orchestrates them through a unified workflow.


Features

  • Python version management integration (pyenv)
  • automatic virtual environment management
  • dependency synchronization
  • project script management
  • reproducible project configuration
  • package build workflow
  • structured project layouts
  • framework-aware scaffolding (experimental)

Installation

Requirements

  • Python 3.12+
  • pyenv
  • Git (optional, but recommended)

Install from PyPI

pipx install corellia-cli

Install from source

git clone https://github.com/lorenzo-petrecca/Corellia.git
cd Corellia
pipx install -e .

[!WARNING] Corellia is currently under active development. Workflows and configuration structures may evolve between releases.


Quick Start

Create a project

core create

The command interactively generates a new project and creates:

  • project structure
  • virtual environment
  • corellia.toml
  • Git repository
  • initial dependency setup

Synchronize the environment

core sync

This command recreates the local project environment from the configuration declared inside corellia.toml.

Add dependencies

core add <package>

Dependencies are tracked directly inside corellia.toml, for example:

core add requests

produces:

[dependencies]
requests = "2.32.3"

Execute project scripts

core run check

Scripts are declared directly inside the configuration:

[scripts.check]
command = "python --version"
mode = "strict"
description = "Check Python environment"

You can list available scripts with:

core run --list

Build a distributable package

core init-build
core build

Corellia generates a pyproject.toml artifact and builds the project using the standard Python packaging workflow.


Examples

Workflow example

core create
core add requests
core sync
core run check
core init-build
core build

Configuration example

# corellia.toml

[project]
name = "myproject"
version = "0.1.0"
python = "3.12.10"
category = "package"
description = "Example project"

[environment]
manager = "pyenv"
venv = ".venv"

[dependencies]
requests = "2.32.3"

[scripts.dev]
command = "python main.py"
mode = "strict"
description = "Run development script"

Package project structure

myproject/
├── .venv/
├── src/
│   └── myproject/
│       └── __init__.py
├── tests/
├── corellia.toml
├── README.md
└── .gitignore

Documentation

Full documentation is available in the /docs directory.

[!Warning] The documentation may not be fully up to date with the latest versions


Current Status

Corellia is currently focused on stabilizing the core project workflow experience for the package category. Some areas of the project are still considered experimental or only partially implemented.

[!IMPORTANT] Partially supported

  • app project workflows
  • deploy project workflows
  • framework-specific integrations
  • advanced build metadata generation

[!CAUTION] Not Yet Supported

  • Windows support
  • dependency structure validation inside corellia.toml
  • standalone executable builds
  • advanced deployment workflows

[!NOTE] The internal configuration model and project structure may continue to evolve during the current development phase.


License

This project is licensed under the MIT License.

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

corellia_cli-1.1.0.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

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

corellia_cli-1.1.0-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

Details for the file corellia_cli-1.1.0.tar.gz.

File metadata

  • Download URL: corellia_cli-1.1.0.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for corellia_cli-1.1.0.tar.gz
Algorithm Hash digest
SHA256 2be460bc8b43d977abd4264522cfdf94811179e96abe350006ba162438626087
MD5 17c6e0621a3a9985306a5d42d7bf20d8
BLAKE2b-256 effb337b31270b31413400659f06fa0fcc51b6be9421847d94d638dc533a04ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for corellia_cli-1.1.0.tar.gz:

Publisher: publish.yml on lorenzo-petrecca/Corellia

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

File details

Details for the file corellia_cli-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: corellia_cli-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for corellia_cli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c3efd959d8da38ab760f206d4935a2cc1281f2aa9d5cae0e23ef507ff211799
MD5 e369c29e67ef8c53f6c0f6bfc86bfe3f
BLAKE2b-256 f6d1fc32103b0e842a3e028a7d8badef726df276b38fd0a74697ecb6c1a00a51

See more details on using hashes here.

Provenance

The following attestation bundles were made for corellia_cli-1.1.0-py3-none-any.whl:

Publisher: publish.yml on lorenzo-petrecca/Corellia

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