Description
pypyr is an open source task-runner for automation pipelines. pypyr lets you script sequential tasks in a simple yaml format with conditional execution, loops, error handling and retries for any step in your pipeline.
Like a turbo-charged shell script, but less finicky. Less tricky than a makefile.
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 (CI/CD) and devops operations.
pypyr runs as a simple CLI, or you can use it from your own code via the undemanding Python API.
pypyr automation task runner alternatives and similar packages
Based on the "DevOps Tools" category.
Alternatively, view pypyr automation task runner alternatives based on common mentions on social networks and blogs.
-
Ansible
Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com. -
letsencrypt
Certbot is EFF's tool to obtain certs from Let's Encrypt and (optionally) auto-enable HTTPS on your server. It can also act as a client for any other CA that uses the ACME protocol. -
SaltStack
Software to automate the management and configuration of infrastructure and applications at scale. -
pyinfra
pyinfra turns Python code into shell commands and runs them on your servers. Execute ad-hoc commands and write declarative operations. Target SSH servers, local machine and Docker containers. Fast and scales from one server to thousands. -
Automatron
DISCONTINUED. Infrastructure monitoring framework turning DevOps runbooks into automated actions -
riffdog
Riffdog Terraform scanner - finding 'things' in the Real World (aka AWS) which Terraform didn't put there.
Nutrient - The #1 PDF SDK Library

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of pypyr automation task runner or a related project?
README
pypyr automation task runner
All documentation is here: https://pypyr.io/
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.7
pypyr runs on Linux, MacOS & Windows. pypyr also runs fine on CI servers & containers - pretty much anywhere with a Python run-time will work.
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](CONTRIBUTING.md).
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](LICENSE) in the root of the repo..
Copyright 2017 the pypyr contributors.
*Note that all licence references and agreements mentioned in the pypyr automation task runner README section above
are relevant to that project's source code only.