Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support for GDAL 3.9 and Python 3.12 and 3.13 #60

Merged
merged 1 commit into from
Oct 25, 2024

Conversation

edparris
Copy link
Contributor

@edparris edparris commented Oct 25, 2024

This change adds support for GDAL 3.9 and verifying compatibility with Python versions 3.12 and 3.13. GDAL 3.9 was previously unsupported because it contained an undocumented breaking change to the structure of the xml:DES metadata that broke how our toolkit was accessing SICD/SIDD metadata. The only functional update in this commit is code that will let us work with either xml:DES structure and therefore retain compatibility with GDAL versions 3.7 through 3.9. See: OSGeo/gdal#8953 for more information.

The default tox environments have been expanded to verify these changes and maintain future compatibility. Instead of a single environment that will always pull the latest versions within an approved range, multiple environments with pinned GDAL and Proj versions have been setup and associated with the Python versions under test. This table shows the combinations currently checked with a full build:

Test Environment GDAL Proj
py39 3.7.0 9.2.1
py310 3.8.3 9.3.1
py311 3.8.3 9.3.1
py312 3.8.5 9.4.1
py313 3.9.2 9.5.0

The intent is to ensure this library can be deployed by customers to a variety of environments and verify compatibility with multiple GDAL versions in wide use today. We will drop support for older python versions once they reach end-of-life status. See: Status of Python Versions

Checklist

Before you submit a pull request, please make sure you have the following:

  • Code changes are compact and well-structured to facilitate easy review
  • Changes are documented in the README.md and other relevant documentation pages
  • PR title and description accurately reflect the changes and are detailed enough for historical tracking
  • PR contains tests that cover all new code and the code has been manual tested
  • All new dependencies are declared (if any), and no unnecessary libraries are added
  • Performance impacts (if any) of the changes are evaluated and documented
  • Security implications of the changes (if any) are reviewed and addressed
  • I have read the Contributing Guidelines and agree to follow the Code of Conduct

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Copy link
Collaborator

@drduhe drduhe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@edparris edparris merged commit 652a712 into main Oct 25, 2024
1 check passed
@edparris edparris deleted the feature/support-gdal39-python313 branch October 25, 2024 19:28
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.

2 participants