Skip to content

Comments

Release 0.4.0#2182

Merged
shachafl merged 3 commits intomasterfrom
0.4.0
Jan 26, 2026
Merged

Release 0.4.0#2182
shachafl merged 3 commits intomasterfrom
0.4.0

Conversation

@shachafl
Copy link
Collaborator

@shachafl shachafl commented Jan 9, 2026

This pull request updates the supported Python versions for the project, ending support for Python 3.9 and adding support for Python 3.13 across documentation, CI/CD workflows, Docker images, and configuration files. It also introduces a new conftest.py to address Python 3.13's stricter resource management warnings, and includes minor corrections to example and tutorial files.

Python Version Support Updates

  • Changed the supported Python versions from >= 3.9, <3.13 to >= 3.10, <3.14 in pyproject.toml, documentation (README.rst, docs/source/installation/index.rst), and example files to reflect the new minimum and maximum versions. [1] [2] [3] [4] [5] [6] [7] [8]
  • Updated CI/CD workflow files (.github/workflows/starfish-prod-ci.yml, .github/copilot-setup-steps.yml) to remove Python 3.9 and add Python 3.13 to the test matrix and setup steps. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]
  • Updated Docker base image from python:3.9-slim-buster to python:3.10-slim-buster in docker/Dockerfile.
  • Updated .github/.python-version and .github/copilot-instructions.md to reflect the new minimum and maximum supported Python versions. [1] [2]

Resource Management for Python 3.13

  • Added a new conftest.py with pytest fixtures to clean up diskcache resources after each test and at session end, suppressing ResourceWarning in Python 3.13.

Documentation and Changelog

  • Added a changelog entry for version 0.4.0 noting the Python version changes and related CI updates. [1] [2]

Minor Corrections

  • Updated transformation values in examples/tutorials/transforms_list.json to correct floating point precision.

shachafl and others added 3 commits January 9, 2026 15:12
* ci: dropping python 3.9 in testing and for dependabot/copilot

* ci: dropping support for python 3.9 in package and upgrading docker to use python 3.10

* docs: updating docs with python 3.10 as minimum

* fix: mypy assignment error

* ci: updating requirements files with python 3.10 as minimum
* Add Python 3.13 support to configuration files

Co-authored-by: shachafl <66333410+shachafl@users.noreply.github.com>

* Complete Python 3.13 support - all tests pass

Co-authored-by: shachafl <66333410+shachafl@users.noreply.github.com>

* Remove test artifact file

Co-authored-by: shachafl <66333410+shachafl@users.noreply.github.com>

* Fix ResourceWarning for unclosed database in Python 3.13

- Add cache.close() call in test_config.py to properly close diskcache Cache object
- Add conftest.py with session-level fixture to clean up slicedimage Cache objects
- Addresses ResourceWarnings that appear when running tests with Python 3.13

Co-authored-by: shachafl <66333410+shachafl@users.noreply.github.com>

* Improve ResourceWarning handling for Python 3.13

- Add per-test cleanup fixture to close Cache objects after each test
- Add pytest filterwarnings to ignore unclosed database ResourceWarnings
- Keep session-level cleanup as safety net
- Add warnings filter at module level for additional coverage

Co-authored-by: shachafl <66333410+shachafl@users.noreply.github.com>

* Add gc import and force garbage collection after cleanup

- Add import gc at the top of the file
- Call gc.collect() after _cleanup_diskcache_caches() in cleanup_diskcache_per_test
- Ensures proper cleanup and prevents ResourceWarnings in Python 3.13

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: shachafl <66333410+shachafl@users.noreply.github.com>
@shachafl shachafl merged commit d9a305f into master Jan 26, 2026
41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Python 3.13 Dropping support for Python 3.9 due to critical vulnerability with a dependency

3 participants