All Projects → pypyr → Pypyr

pypyr / Pypyr

Licence: apache-2.0
pypyr task-runner cli & api for automation pipelines. Automate anything by combining commands, different scripts in different languages & applications into one pipeline process.

Programming Languages

python
139335 projects - #7 most used programming language
script
160 projects

Projects that are alternatives of or similar to Pypyr

Argo Cd
Declarative continuous deployment for Kubernetes.
Stars: ✭ 7,887 (+4458.96%)
Mutual labels:  pipeline, devops, ci-cd, cd
Lambdacd
a library to define a continuous delivery pipeline in code
Stars: ✭ 655 (+278.61%)
Mutual labels:  pipeline, tool, ci, cd
Lastbackend
System for containerized apps management. From build to scaling.
Stars: ✭ 1,536 (+787.86%)
Mutual labels:  pipeline, devops, ci, cd
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (+25.43%)
Mutual labels:  automation, devops, ci, cd
Webhook
webhook is a lightweight incoming webhook server to run shell commands
Stars: ✭ 7,201 (+4062.43%)
Mutual labels:  automation, devops, ci
Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+3549.71%)
Mutual labels:  ci, ci-cd, cd
Cimonitor
Displays CI statuses on a dashboard and triggers fun modules representing the status!
Stars: ✭ 34 (-80.35%)
Mutual labels:  pipeline, ci, cd
Docker Builder
Docker builder builds Docker images from a friendly config file.
Stars: ✭ 81 (-53.18%)
Mutual labels:  ci, ci-cd, cd
Pipeline
Pipeline is a package to build multi-staged concurrent workflows with a centralized logging output.
Stars: ✭ 433 (+150.29%)
Mutual labels:  pipeline, ci, ci-cd
Doact
A Terraform module for hosting your own runner for CI/CD on Digital Ocean to run jobs in your GitHub Actions workflows. 🚀
Stars: ✭ 42 (-75.72%)
Mutual labels:  devops, ci, ci-cd
Nevergreen
🐤 A build monitor with attitude
Stars: ✭ 170 (-1.73%)
Mutual labels:  ci, ci-cd, cd
Pipelines
Build pipelines for automation, deployment, testing...
Stars: ✭ 105 (-39.31%)
Mutual labels:  automation, ci, cd
Flint
Fast and configurable filesystem (file and directory names) linter
Stars: ✭ 115 (-33.53%)
Mutual labels:  devops, ci, cd
Git Push Deploy
Simple Automated CI/CD Pipeline for GitHub and GitLab Projects
Stars: ✭ 21 (-87.86%)
Mutual labels:  automation, pipeline, ci-cd
Gaia
Build powerful pipelines in any programming language.
Stars: ✭ 4,534 (+2520.81%)
Mutual labels:  automation, pipeline, devops
Flow Core X
Powerful and user-friendly CI / CD server with high availability, parallel build, agent scaling
Stars: ✭ 1,108 (+540.46%)
Mutual labels:  devops, ci, ci-cd
Solo Ci
A lightweight CI/CD tool powered by Golang
Stars: ✭ 168 (-2.89%)
Mutual labels:  devops, ci, cd
Nvwa Io
Nvwa-io is a open source DevOps CI/CD auto-build and auto-deploy system(女娲 - 开源 DevOps CI/CD 自动构建和自动部署系统). http://nvwa-io.com
Stars: ✭ 283 (+63.58%)
Mutual labels:  devops, ci, cd
Teamvision
Teamvision软件工程协作工具
Stars: ✭ 380 (+119.65%)
Mutual labels:  devops, ci, cd
Orkestra
Functional DevOps with Scala and Kubernetes
Stars: ✭ 102 (-41.04%)
Mutual labels:  devops, ci, cd

pypyr task runner for automation pipelines

pypyr automation task runner

All documentation is here: https://pypyr.io/

build status coverage status pypi version apache 2.0 license

pypyr

pronounce how you like, but I generally say piper as in "piping down the valleys wild"

pypyr is a free & open-source task-runner that lets you define and run sequential steps in a pipeline.

Like a turbo-charged shell script, but less finicky. Less annoying than a makefile.

pypyr runs pipelines defined in yaml. A pipeline is pretty much anything you want to automate with a sequence of steps.

Automate anything by combining commands, different scripts in different languages & applications into one pipeline process.

You can run loops, conditionally execute steps based on conditions you specify, wait for status changes before continuing, break on failure conditions or swallow errors. Pretty useful for orchestrating continuous integration, continuous deployment & devops operations.

pypyr gives you simple variable substitution & configuration file management so you can read, merge and write configuration files to and from yaml, json or just text.

Installation

$ pip install --upgrade pypyr

Tested against Python >=3.6

Stuck with an older version of python? Want to run pypyr in an environment that you don't control, like a CI server somewhere?

You can use the official pypyr docker image as a drop-in replacement for the pypyr executable.

$ docker run pypyr/pypyr echo "Ceci n'est pas une pipe"

Usage

This is a pipeline

Example pipeline that runs a sequence of steps and takes an optional custom cli input argument:

# ./show-me-what-you-got.yaml
context_parser: pypyr.parser.keyvaluepairs
steps:
  - name: pypyr.steps.echo
    in:
      echoMe: o hai!
  - name: pypyr.steps.cmd
    in:
      cmd: echo any cmd you like
  - name: pypyr.steps.shell
    in:
      cmd: echo ninja shell power | grep '^ninja.*r$' 
  - name: pypyr.steps.py
    in:
      py: print('any python you like')
  - name: pypyr.steps.cmd
    while:
      max: 3
    in:
      cmd: echo gimme a {whileCounter}
  - name: pypyr.steps.cmd
    foreach: [once, twice, thrice]
    in:
      cmd: echo say {i}
  - name: pypyr.steps.default
    in:
      defaults:
        sayBye: False
  - name: pypyr.steps.echo
    run: '{sayBye}'
    in:
      echoMe: k bye!

This is how you run a pipeline

This is what happens when you run this pipeline:

$ pypyr show-me-what-you-got
o hai!
any cmd you like
ninja shell power
any python you like
gimme a 1
gimme a 2
gimme a 3
say once
say twice
say thrice

$ pypyr show-me-what-you-got sayBye=true  
o hai!
any cmd you like
ninja shell power
any python you like
gimme a 1
gimme a 2
gimme a 3
say once
say twice
say thrice
k bye!

Help!

Don't Panic! Check the pypyr technical docs to begin. For help, community & talk, check pypyr twitter, or join the chat at the pypyr community discussion forum!

Contribute

Developers

For information on how to help with pypyr, run tests and coverage, please do check out the contribution guide.

Bugs

Well, you know. No one's perfect. Feel free to create an issue.

License

pypyr is free & open-source software distributed under the Apache 2.0 License.

Please see LICENSE file in the root of the repo..

Copyright 2017 the pypyr contributors.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].