caracara icon indicating copy to clipboard operation
caracara copied to clipboard

Caracara 0.9.0: Preparation for Python 3.13 (and huge code cleanup)

Open ChristopherHammond13 opened this issue 5 months ago • 0 comments

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() 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.

ChristopherHammond13 avatar Sep 12 '24 12:09 ChristopherHammond13