{"repo":"parneetsingh022/pygha","free":true,"listed":false,"github":"https://github.com/parneetsingh022/pygha","clone":"git clone https://github.com/parneetsingh022/pygha.git","description":"A Python-native CI/CD framework for defining, testing, and transpiling pipelines to GitHub Actions.","language":"Python","stars":12,"topics":["automation","cicd","continuous-integration","devops","framework","github-actions","pipeline","python","transpiler"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"A Python-native CI/CD framework for defining, testing, and transpiling pipelines to GitHub Actions. Read the Full Documentation --- --- Installation PyPI You can install pygha via pip: Example: Define a CI Pipeline with pygha Below is an example of a Python-defined pipeline that mirrors what most teams use in production — build, lint, test, coverage, and deploy — all orchestrated through pygha . Generating Workflows (CLI) Once you have defined your pipelines (by default, pygha looks for files matching pipeline .py or pipeline.py in a .pipe directory), use the CLI to generate the GitHub Actions YAML files. Options --src-dir : Source directory containing your Python pipeline definitions (default: .pipe). --out-dir : Output directory where the generated YAML files will be saved (default: .github/workflows). --clean : Automatically deletes YAML files in the output directory that are no longer registered in your pipelines. This is useful when you rename or remove pipelines. If you have a manually created workflow file in your output directory that you want to preserve (e.g., manual-deploy.yml ), add # pygha: keep to the first 10 lines of that file. The CLI will skip deleting it. Advanced: Conditional Logic pygha allows you to write conditional workflows using Python syntax instead of raw YAML strings. Job-Level Conditions Use the @run if decorator to skip entire jobs based on context. Step-Level Conditions Use the when context manager to group steps that should only run under cert","default_branch":null,"files":null,"tree":[],"storefront":"/r/parneetsingh022","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/parneetsingh022/pygha/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}