Resolves #172 by changing usage of datetime.utcfromtimestamp() to datetime.datetime.now(datetime.timezone.utc).
Resolves #172 by moving from pkg_resources to importlib.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 and black with a 100 character line length. flake8, pylint, pydocstyle and bandit all remain for their respective rules. Whilst black 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.
Caracara 0.9.0
Added features and functionality
datetime.utcfromtimestamp()
todatetime.datetime.now(datetime.timezone.utc)
.pkg_resources
toimportlib.metadata
to log the package version.importlib.metadata
was introduced in Python 3.8.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.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.