Python Forum
free open-source automation task-runner project
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
free open-source automation task-runner project
#9
thanks Gribouillis, much appreciated!

The main inspiration for pypyr was. . . whenever I was writing automation scripts, typically it'd start off in bash, and then at some point of complexity you end up switching to python for the enhanced expressivity with control of flow and error handling. . . but then, you often need to jump back into the shell for some convenient cli tools that work better from the cli than the api. Also, for every automation script I ended up having to re-invent error handling, loops, input argument checks etc. So back then I coded a simple tool to let me do that easily without having to write boilerplate code - and that was the humble beginnings of pypyr. I open-sourced it from the beginning just in case someone else also found it useful, and I just added to it over the years as I used it for more and more things and other contributors have added some amazing work, so it's grown a lot!

The reason I wrote my own utility to do so is even though you can use something like make/gradle/ant to do a lot, or even all, of these things, it's not really what these tools were meant for, so you end up dealing with quite a lot of complexity when sometimes you really just want something a bit more lightweight and easy!

doit is a great project! I'd say that it addresses a different problem area than pypyr. So I don't want to use language like "better" or "worse" - nothing I'm about to say means anything is bad, it's just every different approach has different advantages and disadvantages, different tools for different jobs. The main areas of difference, for me at least, is this:
  • doit is based on writing code. pypyr is based on yaml pipelines, so it's more a no-code to low-code style solution.
  • doit is much closer to a typical build system in the spirit of make, ant, grunt or gulp. You think in terms of sources, build targets and actions. pypyr, by comparison, is more about sequencing tasks one after the after, in a pipeline.
  • doit is super extensible for anything you want, but you have to provide a lot of that functionality yourself by writing some code (this means you can get exactly what you want because you write it yourself). pypyr has ~30+ built-in no-code-necessary steps to do things like parse files, write json/yaml, work with $ENV vars for you - although you can still very easily add in your code custom code if you want to - but very often you can create a pypyr pipeline without having to write any code and just use the built-in steps.
  • A pypyr pipeline gives you more visually at-a-glance intuitive control of flow with conditionally executing certain steps, running loops, handling errors & retries automatically. . . But you don't have the advanced code-your-own flexibility and automatic dependency tracking that doit does very well.

In summary, if you're looking for a build tool to manage complex dependency chains, do incremental builds, that's more doit. If you're looking to sequence your devops operations with serial or parallel steps *after* that build sequence, that's more pypyr - interacting with external services, sequencing cmds to deploy your services, manipulate config files & templates, do status checks, retry operations if they fail, iterate over collections, send notifications.

Hope this helps!
Daring_T likes this post
Reply


Messages In This Thread
RE: free open-source automation task-runner project - by yaythomas - Sep-21-2020, 01:02 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Open source RTS game Forward Only IlyaFaer 11 6,346 Aug-29-2022, 06:38 AM
Last Post: IlyaFaer
  Slack NLP : open source bhagvanarch 0 2,907 Dec-30-2018, 12:08 PM
Last Post: bhagvanarch
  Monte Carlo : Open source project bhagvanarch 0 2,632 Dec-29-2018, 11:28 AM
Last Post: bhagvanarch
  Camelot (Open source) - Extract tabular data from PDF! sidharthwadhwa 1 3,086 Oct-15-2018, 11:17 AM
Last Post: buran

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020