NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #939 most downloaded on PyPI
A command line utility to check for unused, missing and transitive dependencies in a Python project.
Last release 6 months ago
18 Mar 2026
Release timing varies
gaps range from 9 days to 6 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
4 years old
85 releases · first in 2022
One column per quarter.
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.
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
Add --optional-dependencies-dev-groups and deprecate --pep621-dev-dependency-groups
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.
# deptry: ignore comments to suppress violations (#1473)--non-dev-dependency-groups (#1440)tomli on Python < 3.15 for TOML 1.1 support (#1446)--optional-dependencies-dev-groups and deprecate --pep621-dev-dependency-groups (#1391)--config does not suppress output (#1390)Support for Python 3.9 has been dropped, as it has reached its end of life.
Support for Python 3.9 has been dropped, as it has reached its end of life.
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.
Improve handling of TYPE_CHECKING blocks by supporting import typing as t and checking t.TYPE_CHECKING
Correctly detect transitive dependencies with different module names
Full Changelog: 0.22.0...0.23.0
Poetry 2.0 introduced support for defining project metadata using PEP 621 . This is now supported by deptry . Documentation has been updated to detail
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.
Full Changelog: 0.21.2...0.22.0
What's Changed Miscellaneous Provide wheels for musllinux ( #979 ) Full Changelog : 0.21.1...0.21.2
Handle string requirements files for setuptools dynamic dependencies
setuptools dynamic dependencies (#945)Full Changelog: 0.21.0...0.21.1
Unless --exclude is used, deptry excludes files found in common ignore files ( .gitignore , .ignore , $HOME/.config/git/ignore . ...), by using ignore
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:
.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.
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.7With 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.
Support for Python 3.8 has been dropped, as it has reached its end of life.
[dependency-groups] section, introduced by PEP 735 (#892)setuptools dynamic dependencies set in [tool.setuptools.dynamic] section, see https://deptry.com/supported-dependency-managers/#setuptools for more details (#894, #724)requirements-parser, adding support for parsing nested requirements files referenced with -r <requirement_file> (#913)Full Changelog: 0.20.0...0.21.0
In release 0.15.0 , we announced the deprecation of the following flags:
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)[uv.tool.dev-dependencies] section (#816)--requirements-txt/--requirements-txt-dev flags (#819)Full Changelog: 0.19.1...0.20.0
Add back PEP 420 support behind --experimental-namespace-package feature flag
This release reverts https://github.com/fpgmaas/deptry/pull/753 that caused a noticeable performance regression on large codebases. The intent of the
This release reverts https://github.com/fpgmaas/deptry/pull/753 that caused a noticeable performance regression on large codebases. The intent of the initial PR was to support projects following PEP 420, so if your project currently relies on this behaviour, feel free to manifest your interest in https://github.com/fpgmaas/deptry/issues/740.
rglob to guess local Python modules (#753)" (#798)Full Changelog: https://github.com/fpgmaas/deptry/compare/0.18.0...0.19.0
Support imports using importlib.import_module
Add a new rule DEP005 to detect project dependencies that are in the standard library
DEP005 to detect project dependencies that are in the standard library (#761)Full Changelog: https://github.com/fpgmaas/deptry/compare/0.16.2...0.17.0
Avoid crashing on PEP 621 and Poetry projects with no dependencies
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.16.1...0.16.2
Skip type checking blocks whether future annotations are used or not
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.16.0...0.16.1
https://github.com/osprey-oss/deptry/compare/0.16.0...0.16.1
Imports guarded by typing.TYPE_CHECKING when using from __future__ import annotations are now skipped. For instance:
typing.TYPE_CHECKING handlingImports guarded by typing.TYPE_CHECKING when using from __future__ import annotations are now skipped. For instance:
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
# This import will not be extracted as it is guarded by `TYPE_CHECKING` and `from __future__ import annotations`
# is used. This means the import should only be evaluated by type checkers, and should not be evaluated during runtime.
import mypy_boto3_s3
See https://deptry.com/usage/#imports-extraction for more information.
requirements.in handlingOn projects using pip requirements format for defining dependencies, if requirements_files option is not overridden,
deptry will first search for a requirements.in file before requirements.txt, to better support projects using
pip-tools and the like (which includes uv and Rye) out of the box. If you use requirements.in and want deptry to
use requirements.txt, you can either pass --requirements-files requirements.txt when invoking deptry, or set the
option in pyproject.toml:
[tool.deptry]
requirements_files = ["requirements.txt"]
requirements.in before requirements.txt on projects using pip requirements format for dependencies (#641)https://github.com/fpgmaas/deptry/compare/0.15.0...0.16.0
In release 0.12.0, we announced the deprecation of the following flags:
In release 0.12.0, we announced the deprecation of the following flags:
--ignore-unused--ignore-obsolete--ignore-missing--ignore-misplaced-dev--ignore-transitive--skip-unused--skip-obsolete--skip-missing--skip-misplaced-dev--skip-transitiveThese flags are now no longer supported. If you are still using these flags and are planning to upgrade to this release, please refer to the release notes of 0.12.0 for instructions on how to migrate to the new method of configuration. (#596)
requirements-txt and requirements-txt-dev are replaced with requirements-files and requirements-files-dev, respectively, to provide better support for projects that use both a requirements.in and a requirements.txt. The legacy options will still be usable for the time being, with a warning being shown in the terminal, but they will be removed in a future release, so you are advised to migrate to the new ones. (#609)--pep621-dev-dependency-groups flag that allows users to specify which groups under [project.optional-dependencies] are considered development dependencies (#628)requires-python (#621)https://github.com/fpgmaas/deptry/compare/0.14.2...0.15.0
This release adds back MIT license classifier in package metadata, that was lost when changing the build backend (by @mkniewallner in https://github.c
This release adds back MIT license classifier in package metadata, that was lost when changing the build backend (by @mkniewallner in https://github.com/fpgmaas/deptry/pull/623).
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.14.1...0.14.2
This release adds back MIT license classifier in package metadata, that was lost when changing the build backend (#623).
https://github.com/osprey-oss/deptry/compare/0.14.1...0.14.2
This release improves runtime performance of built wheels by about 5%, and reduces their size (by @mkniewallner in https://github.com/fpgmaas/deptry/p
This release improves runtime performance of built wheels by about 5%, and reduces their size (by @mkniewallner in https://github.com/fpgmaas/deptry/pull/594).
PyPy wheels are now also published on PyPI (by @edgarrmondragon in https://github.com/fpgmaas/deptry/pull/612).
requirements.txt files by @fpgmaas in https://github.com/fpgmaas/deptry/pull/588Full Changelog: https://github.com/fpgmaas/deptry/compare/0.14.0...0.14.1
This release improves runtime performance of built wheels by about 5%, and reduces their size (#594).
PyPy wheels are now also published on PyPI (#612).
requirements.txt files (#588)https://github.com/osprey-oss/deptry/compare/0.14.0...0.14.1
This release significantly improves the speed of deptry, particularly for large projects, by utilizing Rust to manage the parsing of Abstract Syntax T
This release significantly improves the speed of deptry, particularly for large projects, by utilizing Rust to manage the parsing of Abstract Syntax Trees (AST) from .py files and to extract the import statements. For some benchmarks, see below:
<img src="https://github.com/fpgmaas/deptry/assets/12008199/4f045622-7566-4cc3-a589-dbc6ea12ea5f" width="75%" />
Since the changes are all in the back-end, little has changed for the user other than the execution speed. The two minor notable changes are:
column identifier in imports detection. Where earlier the column identifier for an imported module foo in the line import foo would be 0, it now points to column 8Where earlier releases published a single .whl file to PyPi, with the move to Rust we now build and publish wheels for a variety of platforms and architectures. More specifically, wheel files for the following combinations are now available on PyPi:
x86_64 and aarch64 architectures.x64 architecture.x86_64 and aarch64 (Apple Silicon) architectures.Alongside the ABI3 wheels, we provide a source distribution (sdist) package.
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.13.0...0.14.0
This release speeds up deptry significantly, especially on large projects, by leveraging Rust to handle the parsing of the Abstract Syntax Trees (AST)
This release speeds up deptry significantly, especially on large projects, by leveraging Rust to handle the parsing of the Abstract Syntax Trees (AST) from .py files and the extraction of import statements.
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.13.0...0.14.0a1
_deptry_ will now report invalid configuration options defined in pyproject.toml by @mkniewallner in https://github.com/fpgmaas/deptry/pull/571
pyproject.toml by @mkniewallner in https://github.com/fpgmaas/deptry/pull/571httpx as URLs by @mkniewallner in https://github.com/fpgmaas/deptry/pull/570Full Changelog: https://github.com/fpgmaas/deptry/compare/0.12.0...0.13.0
pyproject.toml (#571)httpx as URLs (#570)https://github.com/osprey-oss/deptry/compare/0.12.0...0.13.0
This release introduces a significant change to the command-line flags and configuration options to make use of the error codes introduced in release
This release introduces a significant change to the command-line flags and configuration options to make use of the error codes introduced in release 0.10.0.
| Code | Issue |
|---|---|
| DEP001 | Missing dependency |
| DEP002 | Unused/obsolete dependency |
| DEP003 | Transitive dependency |
| DEP004 | Misplaced development dependency |
--ignore flag. Now, instead of skipping types of checks, you can specify the exact error codes to ignore using the --ignore flag (e.g., deptry . --ignore "DEP001,DEP002" to ignore checking for missing and unused dependencies).The changes are also reflected in pyproject.toml. For example,
[tool.deptry]
skip_missing = true
skip_unused = true
is superseded by
[tool.deptry]
ignore = ["DEP001", "DEP002"]
--ignore-<code> flags. We are replacing these flags with the more generalized --per-rule-ignores flag. This flag allows you to specify dependencies that should be ignored for specific error codes, offering granular control over which errors are ignored for which dependencies. For instance, deptry . --per-rule-ignores DEP001=matplotlib,DEP002=pandas|numpy means DEP001 will be ignored for matplotlib, while DEP002 will be ignored for both pandas and numpy.The changes are also reflected in pyproject.toml. For example,
[tool.deptry]
ignore_missing = ["matplotlib"]
ignore_unused = ["pandas", "numpy"]
is superseded by
[tool.deptry.per_rule_ignores]
DEP001 = ["matplotlib"]
DEP002 = ["pandas", "numpy"]
Please note that while the legacy arguments are still functional as of Deptry 0.12.0, we do plan to remove them in a future 1.0.0 release.
SyntaxError raised by ast.parse (#426)https://github.com/fpgmaas/deptry/compare/0.11.0...0.12.0
--skip-obsolete CLI option and its skip_obsolete couterpart in pyproject.toml are being replaced with --skip-unused and skip_unused, respectively
--skip-obsolete CLI option and its skip_obsolete couterpart in pyproject.toml are being replaced with --skip-unused and skip_unused, respectively--ignore-obsolete CLI option and its ignore_obsolete counterpart in pyproject.toml are being replaced with --ignore-unused and ignore_unused, respectivelyThis is done to account for a wording change, as we are replacing "obsolete" with "unused", since it has a clearer meaning for users.
The legacy options will still be usable for the time being, with a warning being shown in the terminal, but they will be removed in a future release, so you are advised to migrate to the new ones.
obsolete with unused by @fpgmaas in https://github.com/fpgmaas/deptry/pull/373Full Changelog: https://github.com/fpgmaas/deptry/compare/0.10.1...0.11.0
Fix terminal output when only a single file is scanned by @fpgmaas in https://github.com/fpgmaas/deptry/pull/372
DEP004 being raised incorrectly when a dependency is defined both as a dev one and non-dev one by @fpgmaas in https://github.com/fpgmaas/deptry/pull/376Full Changelog: https://github.com/fpgmaas/deptry/compare/0.10.0...0.10.1
DEP004 being raised incorrectly when a dependency is defined both as a dev one and non-dev one (#376)Release 0.10.0 of deptry brings a significant improvement to the way in which issues are reported. Previously, issues were reported in a summarized fo
Release 0.10.0 of deptry brings a significant improvement to the way in which issues are reported. Previously, issues were reported in a summarized format, making it difficult for users to pinpoint exactly where in the code the issue was occurring. This is resolved by https://github.com/fpgmaas/deptry/pull/357, which adds location information to the detected issues.
https://github.com/fpgmaas/deptry/pull/367 adds error codes to identify the different issue types:
| Code | Issue |
|---|---|
| DEP001 | Missing dependency |
| DEP002 | Obsolete dependency |
| DEP003 | Transitive dependency |
| DEP004 | Misplaced development dependency |
Here's an example of how issues are now reported in release 0.10.0:
foo/bar.py:11:11: DEP002 'an_import' imported but missing from the dependencies
foo/bar.py:12:11: DEP002 'another_import' imported but missing from the dependencies
foo/baz.py:13:11: DEP003 'cfgv' imported but it is a transitive dependency
pyproject.toml: DEP001 'pandas' defined as a dependency but not used in the codebase
The json output generated by using the -o or --json-output is also modified to include the new error codes and location information:
{
"error": {
"code": "DEP001",
"message": "'seven' imported but missing from the dependency definitions"
},
"module": "seven",
"location": {
"file": "foo/bar.py",
"line": 2,
"column": 0
}
},
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.9.0...0.10.0
Support for Python 3.7 has been dropped in https://github.com/fpgmaas/deptry/pull/352, given that it will reach end of life soon, and that PyPI stats
Support for Python 3.7 has been dropped in https://github.com/fpgmaas/deptry/pull/352, given that it will reach end of life soon, and that PyPI stats show a really low usage of it. If you are using deptry on Python 3.7, consider upgrading to 3.8, or staying on <0.9.0.
In case packages don't provide the Python modules they expose, deptry tries to guess the package name by converting - to _, as a best effort, and warns about it in the logs. Before https://github.com/fpgmaas/deptry/pull/337, deptry always guessed the module name, regardless of if the package provided the necessary information or not. Now, it will only guess the module name if the package does not provide the information and no mapping has been provided using the new --package-module-name-map flag (or package_module_name_map option in pyproject.toml).
__init__.pyWith https://github.com/fpgmaas/deptry/pull/285, deptry will now consider the following things as local modules:
__init__.py (and at least one Python file)Previously, deptry only considered directories as local modules if an __init__.py was present, and did not account for cases where a single Python file could also be a local module, alongside directories.
__init__.py by @mkniewallner in https://github.com/fpgmaas/deptry/pull/285Full Changelog: https://github.com/fpgmaas/deptry/compare/0.8.0...0.9.0
Don't filter out setuptools by @mkniewallner in https://github.com/fpgmaas/deptry/pull/262
setuptools by @mkniewallner in https://github.com/fpgmaas/deptry/pull/262sys.stdlib_module_names to get stdlibs in Python >= 3.10 by @mkniewallner in https://github.com/fpgmaas/deptry/pull/275flake8 to only use ruff by @mkniewallner in https://github.com/fpgmaas/deptry/pull/268ruff rules and replace pyupgrade and pygrep-hooks usages by @mkniewallner in https://github.com/fpgmaas/deptry/pull/276Full Changelog: https://github.com/fpgmaas/deptry/compare/0.7.1...0.8.0
setuptools (#262)sys.stdlib_module_names to get stdlibs in Python >= 3.10 (#275)flake8 to only use ruff (#268)ruff rules and replace pyupgrade and pygrep-hooks usages (#276)Exclude files from .gitignore by @mkniewallner in https://github.com/fpgmaas/deptry/pull/248
.gitignore by @mkniewallner in https://github.com/fpgmaas/deptry/pull/248mkdocs-material to 9.0.0 by @mkniewallner in https://github.com/fpgmaas/deptry/pull/258Contributing to docs by @mkniewallner in https://github.com/fpgmaas/deptry/pull/259Full Changelog: https://github.com/fpgmaas/deptry/compare/0.7.0...0.7.1
Previously, deptry always searched for a pyproject.toml file in the root directory passed as a positional argument to the deptry command. Since this i
Previously, deptry always searched for a pyproject.toml file in the root directory passed as a positional argument to the deptry command. Since this is not in line with what most other tools in the ecosystem do, this is changed in release 0.7.0.
In previous releases, when running:
deptry src
deptry would search for both a pyproject.toml and for Python files to scan in the src directory.
Since this release, when running:
deptry src
deptry will search for pyproject.toml in the location it is run from, and for Python files to scan in the src directory.
The downside of the changes outlined above, is that this could break some projects that did explicitly want to find pyproject.toml in a directory other than the positional argument specified as root. For this purpose, release 0.7.0 adds a --config argument that can be used to explicitly pass the location of pyproject.toml.
typing by @mkniewallner in https://github.com/fpgmaas/deptry/pull/217ruff for import sorting and add more rules by @mkniewallner in https://github.com/fpgmaas/deptry/pull/232renovate-config-validator to GH Actions by @mkniewallner in https://github.com/fpgmaas/deptry/pull/233tox workflow by @mkniewallner in https://github.com/fpgmaas/deptry/pull/241pyproject.toml location from root argument by @mkniewallner in https://github.com/fpgmaas/deptry/pull/244--config argument by @mkniewallner in https://github.com/fpgmaas/deptry/pull/245Full Changelog: https://github.com/fpgmaas/deptry/compare/0.6.6...0.7.0
Previously, deptry always searched for a pyproject.toml file in the root directory passed as a positional argument to the deptry command. Since this is not in line with what most other tools in the ecosystem do, this is changed in release 0.7.0.
In previous releases, when running:
deptry src
deptry would search for both a pyproject.toml and for Python files to scan in the src directory.
Since this release, when running:
deptry src
deptry will search for pyproject.toml in the location it is run from, and for Python files to scan in the src directory.
The downside of the changes outlined above, is that this could break some projects that did explicitly want to find pyproject.toml in a directory other than the positional argument specified as root. For this purpose, release 0.7.0 adds a --config argument that can be used to explicitly pass the location of pyproject.toml.
pyproject.toml location from root argument (#244)--config argument (#245)chore(deps): lock file maintenance by @renovate in https://github.com/fpgmaas/deptry/pull/193
mypy on tests by @mkniewallner in https://github.com/fpgmaas/deptry/pull/208cli_defaults module by @mkniewallner in https://github.com/fpgmaas/deptry/pull/209Full Changelog: https://github.com/fpgmaas/deptry/compare/0.6.5...0.6.6
NotebookImportExtractor to guess the encoding on initial UnicodeDecodeError (#216)chardet dependency to 4.0.0 (#205)Add more pre-commit hooks by @mkniewallner in https://github.com/fpgmaas/deptry/pull/180
pre-commit hooks by @mkniewallner in https://github.com/fpgmaas/deptry/pull/180Full Changelog: https://github.com/fpgmaas/deptry/compare/0.6.4...0.6.5
Handle CI deprecation warnings by @mkniewallner in https://github.com/fpgmaas/deptry/pull/170
pyupgrade to pre-commit by @mkniewallner in https://github.com/fpgmaas/deptry/pull/174Full Changelog: https://github.com/fpgmaas/deptry/compare/0.6.3...0.6.4
Add hook for usage with pre-commit
updated badge url by @fpgmaas in https://github.com/fpgmaas/deptry/pull/159
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.6.1...0.6.2
Improve coverage report by @mkniewallner in https://github.com/fpgmaas/deptry/pull/153
misplaced_dev by @mkniewallner in https://github.com/fpgmaas/deptry/pull/156Full Changelog: https://github.com/fpgmaas/deptry/compare/0.5.13...0.6.1
Add support for Python 3.11 by @mkniewallner in https://github.com/fpgmaas/deptry/pull/152
pyproject_toml in dependency_getter to poetry by @mkniewallner in https://github.com/fpgmaas/deptry/pull/151Full Changelog: https://github.com/fpgmaas/deptry/commits/0.5.13
Accept multiple requirements txt by @mkniewallner in https://github.com/fpgmaas/deptry/pull/141
threshold field in Codecov configuration and un-ignore modules by @mkniewallner in https://github.com/fpgmaas/deptry/pull/143black configuration by @mkniewallner in https://github.com/fpgmaas/deptry/pull/146Full Changelog: https://github.com/fpgmaas/deptry/compare/0.5.11...0.5.12
Add some helpful flake8 plugins by @mkniewallner in https://github.com/fpgmaas/deptry/pull/136
flake8 plugins by @mkniewallner in https://github.com/fpgmaas/deptry/pull/136make check command by @fpgmaas in https://github.com/fpgmaas/deptry/pull/138exclude from black configuration since it's not used by pre-commit by @fpgmaas in https://github.com/fpgmaas/deptry/pull/142Full Changelog: https://github.com/fpgmaas/deptry/compare/0.5.10...0.5.11
No user facing change. ### Full Changelog 0.5.9...0.5.10
Fix issue with logging if no [tool.deptry] section was found in pyproject.toml
[tool.deptry] section was found in pyproject.toml (#134)refactor: simplify configuration handling by @mkniewallner in https://github.com/fpgmaas/deptry/pull/130
status by @mkniewallner in https://github.com/fpgmaas/deptry/pull/131mock module by @mkniewallner in https://github.com/fpgmaas/deptry/pull/132Full Changelog: https://github.com/fpgmaas/deptry/compare/0.5.7...0.5.8
docs(pyproject): add missing extend_exclude by @mkniewallner in https://github.com/fpgmaas/deptry/pull/126
extend_exclude by @mkniewallner in https://github.com/fpgmaas/deptry/pull/126Full Changelog: https://github.com/fpgmaas/deptry/compare/0.5.6...0.5.7
Replace toml with tomli/tomllib for parsing TOML
Rename DIRECTORY argument to ROOT
Add a summary line to the logging
fixed python version by @fpgmaas in https://github.com/fpgmaas/deptry/pull/117
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.5.2...0.5.3
Extract top level module names from RECORD
added parsing of egg=... in urls for requirements.txt by @fpgmaas in https://github.com/fpgmaas/deptry/pull/115
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.5.0...0.5.1
Improve file scanning: Add regex support and speed up significantly by @fpgmaas in https://github.com/fpgmaas/deptry/pull/111
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.4.7...0.5.0
Only decode files if initial decoding failed
Detect file encoding with chardet before parsing Python files
No user facing change. ### Full Changelog 0.4.4...0.4.5
Add support for reading dependencies form urls in requirements.txt by @fpgmaas in https://github.com/fpgmaas/deptry/pull/100
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.4.3...0.4.4
Solve an issue where missing dev dependencies were added to the list as None
None (#99)more docstrings, fixed some typos by @fpgmaas in https://github.com/fpgmaas/deptry/pull/89
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.4.1...0.4.2
deptry globally, but within virtual environment (#93)requirements.txt not being found if not in root dir (#94)Ignore setuptools and setup.py by default
Added support for requirement.txt by @fpgmaas in https://github.com/fpgmaas/deptry/pull/87
Full Changelog: https://github.com/fpgmaas/deptry/compare/0.3.2...0.4.0
No user facing change. ### Full Changelog 0.3.1...0.3.2
Your coding agent can read these notes before it upgrades. Set up the MCP server →