Skip to main content

ouro

ouro is a Python-based DSL (domain specific language) for generating GitHub Actions workflows, without needing to write YAML.

This package is currently under development.

Why ouro?

  • No more YAML
  • Fully programmable
  • Less duplication
  • Sync with GitHub Actions

Quickstart

  1. Install ouro
pip install ouro
  1. Create a Python script
from ouro.core import Workflow, Job, Step
from ouro.primitives import RunnerImage, GHAEvent


def create_workflow():
    steps = [
        Step(name="Checkout", uses="actions/checkout@v2"),
        Step(name="Install dependencies", run="pip install -r requirements.txt"),
        Step(name="Run tests", run="pytest"),
    ]

    jobs = {"test": Job(runs_on=RunnerImage.UBUNTU_LATEST, steps=steps)}

    return Workflow(
        name="CI",
        on={
            GHAEvent.PUSH: {"branches": ["main"], "tags": ["v*"]},
            GHAEvent.PULL_REQUEST: {"branches": ["main"]},
        },
        jobs=jobs,
    )
  1. Run ouro synth to generate your workflow(s)

Built with ❤️ and 🐍

Metadata

Release files for ouro-ci 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ouro-ci 0.1.0
File Size Uploaded
ouro_ci-0.1.0.tar.gz 6.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ouro-ci 0.1.0
File Interpreter ABI Platform
ouro_ci-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.7 kB

Release files / ouro_ci-0.1.0.tar.gz

Download URL ouro_ci-0.1.0.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
39fc4b3b5db08c2d9a68bb93f4ff9840bd7ddd7312c6b96681ede2d64598a94d
BLAKE2b-256 checksum
How to use checksums
163bddf1b9f5e89d03a068b7831c73386a6730f5027f23f3b155e773b5fad533
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.29

Release files / ouro_ci-0.1.0-py3-none-any.whl

Download URL ouro_ci-0.1.0-py3-none-any.whl
Size 6.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8cba524edd9d66baf8fea96f46198ea5d5386dc13c3ef88c7d8e818434034d2
BLAKE2b-256 checksum
How to use checksums
0deb4f60ebaefb01711b8b7af15759117933895886cd2f86a61b2197fa044d24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.29

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page