Deltares / Deltares/MeshKernelPy

Future proofing package

Open
#190 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

chore
Dominant language
Python
Stars
27
Forks
5
PR merge metrics
No merged PRs in 30d

Description

What is the need for this task.
There is lack of official documentation (like classifiers) about which python versions are supported and to my knowledge no py3.13 and numpy 2 tests are executed yet.

What is the task?

  • https://github.com/Deltares/MeshKernelPy/issues/178
  • check if all tests succeed with numpy 2.0, fix in case of failure. >> both numpy>=1.22 (as currently) and numpy 2.* should be supported. Teamcity tests with numpy 2.1.2, so this is supported.
  • add mydeltares as pypi maintainer
  • check support for python 3.13 (and add to supported versions), requires python 3.13.1 because of https://github.com/python/cpython/issues/125235 (was fixed in december 2024) >> meshkernel-related tests in dfm_tools and hydrolib-core pass in python 3.13
  • move from setup.py to pyproject.toml
  • add supported python versions (3.9 to 3.13) as classifiers in pyproject.toml
  • run teamcity tests for other versions than python 3.10 only, at least also the first and the latest supported version (e.g. 3.9 and 3.13), since these will likely result in different versions of dependencies.
  • single source of truth for dependencies, so remove requirements.txt. Use pip install -e . instead or if you only want the dependencies consider toml-to-requirements

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review setup.py, pyproject.toml, and requirements.txt first, then inspect the TeamCity configuration and existing Python-version test coverage. The remaining work is complete when packaging uses pyproject.toml, supported Python 3.9–3.13 versions are classified, tests cover at least Python 3.9 and 3.13, and dependency sources are consolidated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.