Release 0.10.0
fpgmaas opened this issue · 7 comments
What's Changed
Breaking changes
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 #357, which adds location information to the detected issues.
#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
}
},
Features
- Add location to error reports by @mkniewallner in #357
- Add colours to text output by @mkniewallner in #368
Full Changelog: 0.9.0...0.10.0
In the features, I think that only #357 is worth mentioning, as the other changes are internal ones, and not user-facing changes.
Same in miscellaneous, only #368 is probably worth mentioning (and could maybe be moved to features, although it could be ok to keep it in this section).
For consistency with other entries, we should also drop "feat():" and capitalise the first word.
Thanks for the feedback! Processed your proposed changes :)
Looks good to me 🙂
Dear @fpgmaas and @mkniewallner ,
Thank you again for your hard work with this valuable library!
This may be off toppic, but is "version 1.0.0" release (with stable public APIs) planned?
Release published: https://github.com/fpgmaas/deptry/releases/tag/0.10.0
Pypi: https://pypi.org/project/deptry/0.10.0/
Hey @lisphilar! Thanks for you comment. I am afraid that the 1.0.0 release is not currently planned, although it might be something that we could start thinking towards.
"In summary, a 1.0.0 release should be considered when the package is stable, provides all of the essential features, has a stable API, is thoroughly tested, and has received positive user feedback."
I think out of this list the stable API is the one part that is currently lacking; we still make some changes to it, albeit irregularly. I do think that the package is reaching a level of maturity where we are relatively close to achieving this stable API.
Sorry for not being able to provide more clarity on this yet!