caracara
caracara copied to clipboard
Caracara 0.9.0: Preparation for Python 3.13 (and huge code cleanup)
Caracara 0.9.0
- [X] Enhancement
- [ ] Major feature update
- [ ] Bug fixes
- [X] Breaking change
- [X] Updated unit tests
- [ ] Documentation
Added features and functionality
- Resolves #172 by changing usage of
datetime.utcfromtimestamp()
todatetime.datetime.now(datetime.timezone.utc)
. - Resolves #172 by moving from
pkg_resources
toimportlib.metadata
to log the package version. - Resolves #172 by adding Python 3.13 to the GitHub test matrix.
- Officially deprecates Python 3.7 support, as
importlib.metadata
was introduced in Python 3.8. - Code is now formatted by
isort
andblack
with a 100 character line length.flake8
,pylint
,pydocstyle
andbandit
all remain for their respective rules. Whilstblack
is an extremely opinionated formatter, it helps to unify the multitude of code styles that have been used here. - Bumps dependencies across the board. Specific notes go to py7zr (0.22.0's bug fixes can now be brought in as that version is Python 3.8+), and caracara-filters (requires Python 3.8, and now uses the 1.0.0 version number scheme to avoid conflicts with minor version comparisons in Poetry).
This PR is currently on hold until https://github.com/CrowdStrike/caracara-filters/issues/10 is merged, and has been added as a dependency to this version. At that point, we'll be able to fully remove the setuptools
requirement from the distribution.