Skip to content

Settup Github CI/CD with unit tests, mypy and linting checks #58

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

Closed
Tracked by #54
mlemayTTE opened this issue Mar 24, 2025 · 5 comments · Fixed by #65
Closed
Tracked by #54

Settup Github CI/CD with unit tests, mypy and linting checks #58

mlemayTTE opened this issue Mar 24, 2025 · 5 comments · Fixed by #65
Assignees
Labels

Comments

@mlemayTTE
Copy link
Contributor

mlemayTTE commented Mar 24, 2025

This PR is about updating GitHub CI (following initial settup #4) to include testing, linting and type checking since more Python code will be push from various teams following #54.

I propose to add:

  • testing with pytest, pytest-cov
  • type checking with mypy
  • linting. I am used to work with ruff, but the current python-package.yml include yapf. Does anyone have preferences?

Some open questions:

  • Do all the existing packages conform to typing and linting rules? What is the strategy if they do not (refactoring them before merging the PR, or removing them from checking and refactoring them later)?
  • What are Python versions supported? Is py3.8 still usefull?
@mlemayTTE mlemayTTE changed the title Settup Github CI/CD with unit tests, mypy and ruff checks Settup Github CI/CD with unit tests, mypy and linting checks Mar 24, 2025
@mlemayTTE mlemayTTE self-assigned this Mar 24, 2025
@untereiner
Copy link

untereiner commented Mar 24, 2025

Following the official python versions roadmap :

  • python3.8 is behond end-of-life
  • python3.9 is very soon end-of-life

From where I stand I would suggest:

  • a table to identify the different systems in use among the partners and their possible python versions
  • update to an - as close as possible to the latest bufix or feature - version of python

@mlemayTTE
Copy link
Contributor Author

Shall all the packages be based on the same Python version ?
Because the future geos-pv package that will contain Paraview plugins must be compliant with Paraview Python version (https://www.kitware.com/using-python-virtual-environments-in-paraview-5-13-0/).
Paraview Python versions are currently 3.9 for PV < 5.12, and 3.10 for PV >=5.12 (https://www.paraview.org/download/). So geos-pv package at least must be based on Python 3.9 and/or 3.10.

@untereiner
Copy link

3.10 is a good starting point until next year.

@alexbenedicto
Copy link
Contributor

I would suggest to keep python 3.9 because this is still the version used in GEOS and therefore in pygeos.

@untereiner
Copy link

It is maybe time to try pygeos with python 3.10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants