Skip to content

Releases: osprey-oss/deptry

0.25.1

18 Mar 23:15
0c39226

Choose a tag to compare

What's Changed

Release 0.25.0 was yanked in PyPI because of a failure during the release. 0.25.1 is identical, but includes a fix in the release process.

Full Changelog: 0.25.0...0.25.1

0.25.0

18 Mar 20:19
2d89cf4

Choose a tag to compare

What's Changed

Repository moved to Osprey OSS

deptry has moved from fpgmaas/deptry to osprey-oss/deptry under the new Osprey OSS organisation. This ensures the project is not tied to a single account and makes it easier to manage contributors and access as the project grows.

Features

  • Support inline # deptry: ignore comments to suppress violations (#1473)
  • Support non-dev dependency groups with --non-dev-dependency-groups (#1440)
  • Use tomli on Python < 3.15 for TOML 1.1 support (#1446)
  • Add --optional-dependencies-dev-groups and deprecate --pep621-dev-dependency-groups (#1391)

Bug Fixes

  • Ensure that --config does not suppress output (#1390)

Full Changelog

0.24.0...0.25.0

0.24.0

09 Nov 00:26
4cc2d65

Choose a tag to compare

What's Changed

Breaking changes

Python 3.9 support dropped

Support for Python 3.9 has been dropped, as it has reached its end of life.

PyPy 3.10 support dropped, 3.11 added

Support for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.

Features

  • Add GitHub Actions annotations reporter (#1059)
  • Add support for Python 3.14 (#1224)
  • Drop support for Python 3.9 (#1328)
  • Publish wheels for PyPy 3.11 and drop 3.10 (#1227)

Full Changelog

0.23.1...0.24.0

0.23.1

31 Jul 05:49
709204b

Choose a tag to compare

What's Changed

Bug Fixes

  • Improve handling of TYPE_CHECKING blocks by supporting import typing as t and checking t.TYPE_CHECKING (#1218)
  • Fix missing hyperlink in report output (#1162)

Full Changelog

0.23.0...0.23.1

0.23.0

25 Jan 16:56
1edeef3

Choose a tag to compare

What's Changed

Features

  • Correctly detect transitive dependencies with different module names (#1033)

Full Changelog: 0.22.0...0.23.0

0.22.0

10 Jan 13:00
875d58e

Choose a tag to compare

What's Changed

Poetry 2.0 introduced support for defining project metadata using PEP 621. This is now supported by deptry. Documentation has been updated to detail deptry's behavior.

Features

  • Support PEP 621 in Poetry 2.0+ (#1003)

Full Changelog: 0.21.2...0.22.0

0.21.2

19 Dec 22:43
816a069

Choose a tag to compare

What's Changed

Miscellaneous

  • Provide wheels for musllinux (#979)

Full Changelog: 0.21.1...0.21.2

0.21.1

15 Nov 22:37
54b54a0

Choose a tag to compare

What's Changed

Bug Fixes

  • Handle string requirements files for setuptools dynamic dependencies (#945)

Full Changelog: 0.21.0...0.21.1

0.21.0

08 Nov 12:06
3557308

Choose a tag to compare

What's Changed

Breaking changes

Ignore files handling

Unless --exclude is used, deptry excludes files found in common ignore files (.gitignore, .ignore, $HOME/.config/git/ignore. ...), by using ignore Rust crate. The default behaviour has been changed, so that now:

  • git-related ignore rules (.gitignore, $HOME/.config/git/ignore, ...) are only used if deptry is run inside a git repository
  • .gitignore files that are in parent directories of the git repository from where deptry is run are not used (previously, deptry would traverse parent directories up to the root system)

If you were using .gitignore files for non-git repositories, you might want to switch to .ignore files, or use --extend-exclude.

Requirements files parsing

deptry now uses requirements-parser to parse dependencies from requirements files, meaning that it can now extract nested requirements files referenced in other requirements files without having to explicitly configure it in deptry.

For instance, if you have:

# requirements.txt
-r cli-requirements.txt
httpx==0.27.2
# cli-requirements.txt
click==8.1.7

With the default configuration, when parsing requirements.txt, both httpx and click will now be listed as dependencies by deptry, while previously, only httpx was, unless deptry was instructed about cli-requirements.txt by using --requirements-files. This new behaviour also impacts development requirements files, that can be overridden by using --requirements-files-dev.

Python 3.8 support dropped

Support for Python 3.8 has been dropped, as it has reached its end of life.

Features

  • deptry now detects development dependencies from [dependency-groups] section, introduced by PEP 735 (#892)
  • deptry now supports setuptools dynamic dependencies set in [tool.setuptools.dynamic] section, see https://deptry.com/supported-dependency-managers/#setuptools for more details (#894, #724)
  • Drop support for Python 3.8 (#874)
  • Improve ignore handling (#908)
  • Parse requirements files with requirements-parser, adding support for parsing nested requirements files referenced with -r <requirement_file> (#913)

Full Changelog: 0.20.0...0.21.0

0.20.0

27 Aug 12:13
4fa5a91

Choose a tag to compare

What's Changed

Breaking changes

In release 0.15.0, we announced the deprecation of the following flags:

  • --requirements-txt (and its requirements_txt setting counterpart in pyproject.toml)
  • --requirements-txt-dev (and its requirements_txt_dev setting counterpart in pyproject.toml)

Those flags have now been removed. If you relied on them, you should now use, respectively:

  • --requirements-files (and its requirements_files setting counterpart in pyproject.toml)
  • --requirements-files-dev (and its requirements_files_dev setting counterpart in pyproject.toml)

Features

  • deptry now detects uv and reads development dependencies from [uv.tool.dev-dependencies] section (#816)
  • Dynamically set max terminal width for better readability when displaying help (#817)
  • Remove deprecated --requirements-txt/--requirements-txt-dev flags (#819)

Full Changelog: 0.19.1...0.20.0