345 software is built by developers, for developers.
pypyr (say piper as in the one from Hamelin) is a free open-source yaml-based pipeline runner. OK that’s great…what does this actually mean for you?
Free: Yep. It’s free. As in beer. Go use it.
Open-source: The code is on GitHub and the packages on Pypi. Check out the links. It’s all there. Go use it. Clone it. Fork it.
Yaml-based: this means that you can create the tasks in human-readable form as a text file and pypyr will read this. pypyr has built-in tasks, so it’s less finicky to use than other ways of scripting.
Pipeline runner: This simply means that you can run a sequence of steps or tasks one after another. The output of one step can feed into the input of the next step. It’s like a to-do list for a computer.
Why Python? Python is pretty much becoming the standard scripting choice for devops automation. Using Python instead of shell scripts means that you get consistent behaviour and results cross-platform, without worrying about which flavour of bash you have.
To put it another way, this is a tool that’s really easy for your devops team to use. It saves a lot of time and effort, and at 345 we use it as the cornerstone of our devops scripting.
From the very start we have run the pypyr project as an opensource initiative on GitHub. We would love you to follow, star, contribute and get involved.
Join the project at https://github.com/pypyr/pypyr-cli
It couldn’t be easier to get hold of pypyr – you can access all released versions on the Python Package Index here:
pypyr is built with a lightweight core that is designed to be extendable, so you can plug in additional components to get things done. We have created a number of extensions for common tasks that were useful to us.
Here are some examples:
This wraps the AWS api into pypyr so you can create and manage your AWS resources
Notify your team via Slack when things happen, when they go right, when they go wrong.
We use pypyr within a build container for running our devops. Check out our containers on Docker Hub for all your build and pypyr needs:
This has support for a wide range of devops tasks that you might need, including: