Skip to content

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

Description

@mlemayTTE

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?

Activity

  1. 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[/+] on Mar 24, 2025
  2. self-assigned this
    on Mar 24, 2025
  3. untereiner commented on Mar 24, 2025

    @untereiner

    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
  4. mlemayTTE commented on Mar 25, 2025

    @mlemayTTE
    ContributorAuthor

    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.

  5. untereiner commented on Mar 26, 2025

    @untereiner

    3.10 is a good starting point until next year.

  6. alexbenedicto commented on Mar 31, 2025

    @alexbenedicto
    Contributor

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

  7. untereiner commented on Apr 1, 2025

    @untereiner

    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

Metadata

Metadata

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions