fox-it/dissect

Have non-dev versions as dependencies in the dissect.* and acquire projects.

DissectBot opened this issue · 0 comments

To use developement versions of all the dissect.* packages in the test cases, we are going to define a dev extra.

This can be done in tox.ini like:

[testenv]
+ extras = dev
  deps =

And in pyproject.toml like:

[project.optional-dependencies]
dev = [
  "dissect.cstruct>=4.0.dev,<5.0.dev",
  "dissect.util>=3.0.dev,<4.0.dev",
]

The versions in the default dependencies in pyproject.toml should be specified like:

dissect.cstruct>=4.dev,<5 # Before cstruct 4 is released dissect.cstruct>=4,<5 # After cstruct 4 is released 
dissect.extfs>=3,<4 # For all 3.x version, basically all older, non cstruct dissect pkgs
dissect.btrfs>=1,<2 # For all 1.x versions, all newer dissect pkgs
dissect.xyz>=3.5,<4 # For some packages that need to depend on a specific newer minimum subversion, see dissect.target & dissct.esedb pyproject.toml

The versions in the dev extra dependency in pyproject.toml should be specified as:

dissect.cstruct>=4.0.dev,<5.0.dev
dissect.extfs[dev]>=3.0.dev,<4.0.dev # For all 3.x version, basically all older, non cstruct dissect pkgs
dissect.btrfs[dev]>=1.0.dev,<2.0.dev # For all 1.x versions, all newer dissect pkgs
dissect.xyz[dev]>=3.6.dev,<4.0.dev # For some packages that need to depend on a specific newer minimum subversion, see dissect.target & dissct.esedb pyproject.toml

The dev extra should also specify any full or similar extra that is used in tox.ini's testenv of the same package, for example acquire's definition of the dev extra:

[project.optional-dependencies]
 ...
dev = [
  "acquire[full]", "dissect.cstruct>=4.0.dev,<5.0.dev",
  "dissect.target[dev]>=3.7.dev,<4.0.dev",
]