Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A way to add a task running tool #131

Open
nathanjmcdougall opened this issue Nov 19, 2024 · 0 comments
Open

A way to add a task running tool #131

nathanjmcdougall opened this issue Nov 19, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@nathanjmcdougall
Copy link
Owner

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 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.

@nathanjmcdougall nathanjmcdougall added the enhancement New feature or request label Nov 19, 2024
@nathanjmcdougall nathanjmcdougall self-assigned this Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant