busywork

A package for managing dependency groups.


License
GPL-2.0
Install
pip install busywork==0.1.0b2

Documentation

Busywork

Dependency group support using pyproject.toml. Dependency groups are dependencies that are used in development that the user does not need to install, such as black or mypy.

Usage

Add this to your pyproject.toml

[tool.busywork.groups.linting]
# PEP 440 dependency specification.
requires = ["black", "isort"]

[tool.busywork.groups.typing]
requires = ["mypy", "types-toml"]

[tool.busywork.groups.dev]
# Nested groups
requires = ["nox"]
requires-groups = ["linting", "typing"]

Now install the group:

busywork install --group group-name

Groups can be separated by a comma for multiple groups.

busywork install --group group-one,group-two,group-three

Other options:

busywork install --all  # Install all dependency groups.
busywork install --dependencies  # Install the current project's dependencies.
busywork install --this  # Install the current project. This is the equivalent to `pip install .`

# arguments can also be combined, for example:
busywork install --this --all  # Install the current project and all dependency groups.

Credits

  • Dependency groups are inspired by poetry.
  • The CLI visuals are inspired by nox.