Deptry

Latest version: v0.23.0

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 14

0.23.0

Features

* Correctly detect transitive dependencies with different module names ([1033](https://github.com/fpgmaas/deptry/pull/1033))

Full Changelog

https://github.com/fpgmaas/deptry/compare/0.22.0...0.23.0

0.22.0

Poetry 2.0 introduced support
for [defining project metadata in PEP 621](https://python-poetry.org/blog/announcing-poetry-2.0.0/). This is now
supported by _deptry_. [Documentation](https://deptry.com/supported-dependency-managers/#poetry) has been updated to
detail _deptry_'s behavior.

Features

* Support PEP 621 in Poetry 2.0+ ([1003](https://github.com/fpgmaas/deptry/pull/1003))

Full Changelog

https://github.com/fpgmaas/deptry/compare/0.21.2...0.22.0

0.21.2

Miscellaneous

* Provide wheels for musllinux ([979](https://github.com/fpgmaas/deptry/pull/979))

Full Changelog

https://github.com/fpgmaas/deptry/compare/0.21.1...0.21.2

0.21.1

Bug Fixes

* Handle string requirements files for `setuptools` dynamic
dependencies ([945](https://github.com/fpgmaas/deptry/pull/945))

Full Changelog

https://github.com/fpgmaas/deptry/compare/0.21.0...0.21.1

0.21.0

Breaking changes

Ignore files handling

Unless [`--exclude`](https://deptry.com/usage/#exclude) is used, _deptry_ excludes files found in common ignore
files (`.gitignore`, `.ignore`, `$HOME/.config/git/ignore`. ...), by using [`ignore`](https://crates.io/crates/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`](https://deptry.com/usage/#extend-exclude).

Requirements files parsing

_deptry_ now uses [`requirements-parser`](https://pypi.org/project/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:

python
requirements.txt
-r cli-requirements.txt
httpx==0.27.2


python
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`](https://deptry.com/usage/#requirements-files). This new
behaviour also impacts development requirements files, that can be overridden by
using [`--requirements-files-dev`](https://deptry.com/usage/#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](https://peps.python.org/pep-0735/) ([#892](https://github.com/fpgmaas/deptry/pull/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](https://github.com/fpgmaas/deptry/pull/894), [#724](https://github.com/fpgmaas/deptry/pull/724))
* Drop support for Python 3.8 ([874](https://github.com/fpgmaas/deptry/pull/874))
* Improve ignore handling ([908](https://github.com/fpgmaas/deptry/pull/908))
* Parse requirements files with `requirements-parser`, adding support for parsing nested requirements
files referenced with `-r <requirement_file>` ([913](https://github.com/fpgmaas/deptry/pull/913))

Full Changelog

https://github.com/fpgmaas/deptry/compare/0.20.0...0.21.0

0.20.0

Breaking changes

In release [0.15.0](https://github.com/fpgmaas/deptry/releases/tag/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](https://github.com/astral-sh/uv) and reads development dependencies from
`[uv.tool.dev-dependencies]` section ([816](https://github.com/fpgmaas/deptry/pull/816))
* Dynamically set max terminal width for better readability when displaying
help ([817](https://github.com/fpgmaas/deptry/pull/817))
* Remove deprecated `--requirements-txt`/`--requirements-txt-dev`
flags ([819](https://github.com/fpgmaas/deptry/pull/819))

Full Changelog

https://github.com/fpgmaas/deptry/compare/0.19.1...0.20.0

Page 1 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.