Skip to content

Development#11

Merged
tombch merged 16 commits intomainfrom
development
May 1, 2025
Merged

Development#11
tombch merged 16 commits intomainfrom
development

Conversation

@tombch
Copy link
Copy Markdown
Owner

@tombch tombch commented Apr 30, 2025

Changes

Software Updates

  • The package has moved to Python 3.9 as the minimum version. This is the oldest Python version that is still officially supported.
  • The package has pinned Rust 1.63 as the minimum version. This is in line with requirements from PyO3: https://pyo3.rs/v0.24.2/#usage
  • Updated PyO3 version from 0.17.3 to 0.24.2. Fixed API changes in src/lib.rs.
  • Updated maturin version from >=0.14,<0.15 to >=1.0,<2.0.

Workflows

  • Updated CI.yml from maturin v1.3.0 to v1.8.3.
  • Added test.yml for basic CLI health check across supported Python versions.

Bug Fixes

Other

  • Updated README.md formatting and wording.
  • Updated pyproject.toml with package metadata.

Copy link
Copy Markdown
Owner Author

@tombch tombch left a comment

Choose a reason for hiding this comment

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

Looks good to me! 👍

@tombch tombch requested a review from Copilot May 1, 2025 10:36
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request updates the project’s minimum requirements and dependencies while addressing a CLI bug and modernizing the code for compatibility with newer versions of PyO3, maturin, and Rust. Key changes include:

  • Bumping Python’s minimum version to 3.9 and Rust’s to 1.63, with an update of PyO3 from 0.17.3 to 0.24.2 and maturin from 0.14–0.15 to 1.0–2.0.
  • Adjusting PyO3 function annotations and module initialization to align with the updated API.
  • Updating workflows, CLI version retrieval, README formatting, and package metadata.

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/lib.rs Updated PyO3 annotations and module initialization to accommodate API changes.
python/maptide/cli.py Switched version retrieval from pkg_resources to importlib.metadata.
pyproject.toml Updated dependency versions and metadata, and adjusted Python version requirements.
README.md Improved formatting and instructions for setting up a virtual environment.
Cargo.toml Updated package version, Rust version, and PyO3 dependency to reflect new requirements.
.github/workflows/test.yml Added a new test workflow for basic CLI health checks across Python versions.
.github/workflows/CI.yml Modified CI workflows to use newer GitHub actions versions and expanded matrix support.
Comments suppressed due to low confidence (2)

src/lib.rs:16

  • The Coordinate struct now derives IntoPyObject, replacing the manual IntoPy implementation. Confirm that this change handles all required Python object conversions and fully aligns with the updated PyO3 API.
#[derive(IntoPyObject, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)]

src/lib.rs:588

  • The maptide function signature has been updated to use Bound in accordance with the new PyO3 API. Ensure that this change is reflected in dependent code and documentation for consistent module initialization.
fn maptide(m: &Bound<'_, PyModule>) -> PyResult<()> {

@tombch tombch merged commit 883000b into main May 1, 2025
21 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.

Package relies on setuptools but does not provide as a dependency

2 participants