You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since I started my career, I wish I had guidance about task running. To begin with, I wrote Powershell scripts. Then to deal with platform dependence I moved to bash and then used shims to run the bash via Git bash on Windows. These are horrible to maintain due to the complexity. So I can relate to the blog post a lot.
doit (mostly) circumvents the platform dependence. It might have its own issues, e.g. bootstrapping the uv installation, which is currently a task that I need to run due to https://www.github.com/astral-sh/uv/issues/8605. Some thought needs to go into these sorts of limitations.
Makefiles are an alternative worth considering, they have an extra dependency when using Windows but I'd lean towards saying it's worth it. Tentatively, it feels like all the more complex things you'd implement in doit would better be in a CLI dev tool, perhaps this one. For example, in the past I had my own task script which lets you choose a version increment for your project; major, minor, etc. but now I know that hatch can do that natively with hatch version, so I can use the off-the-shelf tool. This also has the advantage that things move to pre-commit when they don't require user interactivity. So, I am not sure I am sold on the need for doit yet - I will need to do some work on my organization's task running scripts to assess this further I think.
A point against Makefiles is that they have their own particular syntax. But actually doit does too more-or-less - it's just a sub-language of Python. And Makefiles are popular enough so that I'm inclined to try and encourage people to learn them. Also, using usethis, we will manage most of them anyway.
Summary of desired enhancement
Implement a way to add a task running tool.
The text was updated successfully, but these errors were encountered:
Motivation
I'm a big fan of Bite Code! blog. In one post the author makes the case for the
doit
task runner:https://www.bitecode.dev/p/doit-the-goodest-python-task-runner
Since I started my career, I wish I had guidance about task running. To begin with, I wrote Powershell scripts. Then to deal with platform dependence I moved to bash and then used shims to run the bash via Git bash on Windows. These are horrible to maintain due to the complexity. So I can relate to the blog post a lot.
doit
(mostly) circumvents the platform dependence. It might have its own issues, e.g. bootstrapping theuv
installation, which is currently a task that I need to run due to https://www.github.com/astral-sh/uv/issues/8605. Some thought needs to go into these sorts of limitations.Makefiles are an alternative worth considering, they have an extra dependency when using Windows but I'd lean towards saying it's worth it. Tentatively, it feels like all the more complex things you'd implement in
doit
would better be in a CLI dev tool, perhaps this one. For example, in the past I had my own task script which lets you choose a version increment for your project; major, minor, etc. but now I know that hatch can do that natively withhatch version
, so I can use the off-the-shelf tool. This also has the advantage that things move to pre-commit when they don't require user interactivity. So, I am not sure I am sold on the need fordoit
yet - I will need to do some work on my organization's task running scripts to assess this further I think.A point against Makefiles is that they have their own particular syntax. But actually
doit
does too more-or-less - it's just a sub-language of Python. And Makefiles are popular enough so that I'm inclined to try and encourage people to learn them. Also, usingusethis
, we will manage most of them anyway.Summary of desired enhancement
Implement a way to add a task running tool.
The text was updated successfully, but these errors were encountered: