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

WIP: Test lowest versions of all required and optional dependencies #3639

Draft
wants to merge 14 commits into
base: main
Choose a base branch
from

Commits on Nov 21, 2024

  1. Use uv package manager to test lowest versions in ci_tests_legacy.yaml

    Using uv's --resolution lowest-direct to install the lowest compatible versions for all direct Python dependencies (required and optional) listed in the pyproject.toml file.
    weiji14 committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    3a5d6da View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f303964 View commit details
    Browse the repository at this point in the history
  3. Pin to netCDF>=1.7

    Need to get more recent version with a binary wheel, otherwise will need to compile from source.
    weiji14 committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    3f6909d View commit details
    Browse the repository at this point in the history
  4. Pin contextily>=1, IPython>=8, pyarrow>=14

    Pin major versions for optional dependencies that are not on version 0.x. Using a reasonable major version released in the past year or two.
    weiji14 committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    788fc46 View commit details
    Browse the repository at this point in the history
  5. Pin geopandas>=0.14, rioxarray>=0.14

    Pin minor versions of optional dependencies that are still on v0.x.
    weiji14 committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    4139f4e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1263075 View commit details
    Browse the repository at this point in the history
  7. Pin packaging>=22.0

    Fix `TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'` when running `pip install --no-deps -e .`, xref pypa/setuptools#4501
    weiji14 committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    d1fa38d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1c69406 View commit details
    Browse the repository at this point in the history
  9. Install into uv venv

    Create a proper virtualenv, and activate that virtualenv before installing pygmt and running pytest.
    weiji14 committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    3b7b777 View commit details
    Browse the repository at this point in the history
  10. Pin contextily>=1.2

    So that xyzservices is also installed by default and `from xyzservices import TileProvider` can work. See geopandas/contextily#183
    weiji14 committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    6120bbe View commit details
    Browse the repository at this point in the history
  11. Pin pyarrow>=16

    So that `pyarrow.array(..., dtype="string_view")` will work. See apache/arrow#39652 when this was added.
    weiji14 committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    3299229 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2024

  1. Configuration menu
    Copy the full SHA
    0584459 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7d542a9 View commit details
    Browse the repository at this point in the history
  3. Pin pyarrow>=13 and use pytest.mark.skipif on string_view type test

    Lower pyarrow pin from 16 to 13, and added a skipif pytest marker to the `test_to_numpy_pyarrow_array_pyarrow_dtypes_string[string_view]` unit test to not run when pyarrow<16 is installed. Setting a pin on pyarrow>=13 so that datetime64 unit preservation is handled, xref apache/arrow#33321.
    weiji14 committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    4733bda View commit details
    Browse the repository at this point in the history