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
- Install
ouro
pip install ouro
- 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,
)
- Run
ouro synthto 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)
| File | Size | Uploaded | |
|---|---|---|---|
| ouro_ci-0.1.0.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|