From e7f5a480a5ee61aeec27fb5e0e9f5e1e3f3f471b Mon Sep 17 00:00:00 2001 From: Frank Malatino <142349306+fmalatino@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:56:46 -0400 Subject: [PATCH] Matching packages between main and develop branches and removal of outdated pull request template (#86) * Changed workflows to use python 3.11.7, added pytest-subtests to requirments_dev.txt * Matched package dependencies between main and develop branches * Updating constraints file * Updating Dockerfile to use 3.11-slim-bookworm base python image --- .github/pull_request_template.md | 31 ----------------------- Dockerfile | 11 +++----- NDSL | 2 +- README.md | 2 +- constraints.txt | 43 +++++++++++++++++++------------- pyFV3 | 2 +- pySHiELD | 2 +- requirements_dev.txt | 10 ++++++++ setup.py | 4 ++- 9 files changed, 46 insertions(+), 61 deletions(-) delete mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 4c592c6a..00000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,31 +0,0 @@ - -## Purpose - -Describe the purpose of this PR and the motivation if relevant to understanding. Include links to related issues, bugs or features. - -Remove the sections below which do not apply. - -## Code changes: - -- Provide a list of relevant code changes and the side effects they have on other code. - -## Requirements changes: - -- Provide a list of any changes made to requirements, e.g. changes to files requirements*.txt, constraints.txt, setup.py, pyproject.toml, pre-commit-config.yaml and a reason if not included in the Purpose section (e.g. incompatibility, updates, etc) - -## Infrastructure changes: - -- Provide a list of changes that impact the infrastructure around running the code -- that is, changes to Makefiles, docker files, git submodules, or .jenkins (testing infrastructure changes). If Jenkins plans are also being manually changed, indicate that as well. - -## Checklist -Before submitting this PR, please make sure: - -- [ ] You have followed the coding standards guidelines established at [Code Review Checklist](https://drive.google.com/file/d/1R0nqOxfYnzaSdoYdt8yjx5J482ETI2Ft/view?usp=sharing). -- [ ] Docstrings and type hints are added to new and updated routines, as appropriate -- [ ] All relevant documentation has been updated or added (e.g. README, CONTRIBUTING docs) -- [ ] For each public change and fix in `pace`, HISTORY has been updated -- [ ] Unit tests are added or updated for non-stencil code changes - -Additionally, if this PR contains code authored by new contributors: - -- [ ] The names of all the new contributors have been added to CONTRIBUTORS.md diff --git a/Dockerfile b/Dockerfile index e1ab0d48..311ebcb9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.8.13-bullseye@sha256:2a01d88a1684e6d7f08030cf5ae73b536926c64076cab197e9e3d9f699255283 +FROM python:3.11-slim-bookworm@sha256:7cd3fa11d619688317226bc93dc59bc8966e9aec6bc2a6abb847e8ab7d656706 RUN apt-get update && apt-get install -y make \ software-properties-common \ @@ -13,14 +13,11 @@ RUN apt-get update && apt-get install -y make \ proj-bin \ proj-data \ python3 \ - python3-pip + python3-pip \ + git RUN pip3 install --upgrade setuptools wheel -COPY constraints.txt /pace/constraints.txt - -RUN pip3 install -r /pace/constraints.txt - COPY . /pace RUN cd /pace && \ @@ -36,7 +33,7 @@ RUN python3 -m pip install \ ipyparallel==8.4.1 \ jupyterlab==3.4.4 \ shapely==1.8.5 \ - cartopy==0.18.0 \ + cartopy==0.23.0 \ jupyterlab_code_formatter==1.5.2 \ isort==5.10.1 \ black==22.3.0 \ diff --git a/NDSL b/NDSL index c52a719a..9afe6418 160000 --- a/NDSL +++ b/NDSL @@ -1 +1 @@ -Subproject commit c52a719af75882752079331abe3ad8ad8dd3e386 +Subproject commit 9afe6418213e59476cd7dc623a9cff17a7e501b9 diff --git a/README.md b/README.md index 5188c318..0086cf10 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ make build ```shell make dev -mpirun --mca btl_vader_single_copy_mechanism none -n 6 python3 -m pace.run /examples/configs/baroclinic_c12.yaml +mpirun --mca btl_vader_single_copy_mechanism none -n 6 python -m pace.run /examples/configs/baroclinic_c12.yaml ``` ## History diff --git a/constraints.txt b/constraints.txt index 19e15772..de40e880 100644 --- a/constraints.txt +++ b/constraints.txt @@ -27,6 +27,7 @@ attrs==23.2.0 # aiohttp # gt4py # jsonschema + # pytest-subtests # referencing babel==2.9.1 # via sphinx @@ -48,6 +49,7 @@ cfgv==3.3.1 # via pre-commit cftime==1.6.3 # via + # -r requirements_dev.txt # ndsl # netcdf4 charset-normalizer==3.3.2 @@ -60,9 +62,7 @@ click==8.1.7 cloudpickle==3.0.0 # via dask cmake==3.29.2 - # via - # dace - # gt4py + # via gt4py comm==0.2.2 # via ipykernel commonmark==0.9.1 @@ -76,7 +76,9 @@ dacite==1.8.1 # fv3config # pace dask==2024.4.2 - # via ndsl + # via + # -r requirements_dev.txt + # ndsl debugpy==1.8.1 # via ipykernel decorator==5.1.1 @@ -91,8 +93,6 @@ dill==0.3.8 # via dace distlib==0.3.2 # via virtualenv -distro==1.9.0 - # via scikit-build docutils==0.16 # via # recommonmark @@ -104,6 +104,7 @@ executing==2.0.1 # stack-data f90nml==1.4.4 # via + # -r requirements_dev.txt # fv3config # ndsl # pyfv3 @@ -221,6 +222,7 @@ matplotlib-inline==0.1.7 # ipython mpi4py==3.1.5 # via + # -r requirements_dev.txt # ndsl # pace mpmath==1.3.0 @@ -245,8 +247,9 @@ nest-asyncio==1.6.0 # via # ipykernel # nbclient -netcdf4==1.6.5 +netcdf4==1.7.0 # via + # -r requirements_dev.txt # ndsl # pace networkx==3.3 @@ -259,12 +262,15 @@ numcodecs==0.12.1 # via zarr numpy==1.26.4 # via + # -r requirements_dev.txt # cftime # dace # gt4py # h5py + # ndsl # netcdf4 # numcodecs + # pace # pandas # pyfv3 # pyshield @@ -283,7 +289,6 @@ packaging==24.0 # h5netcdf # ipykernel # pytest - # scikit-build # setuptools-scm # sphinx # xarray @@ -339,11 +344,13 @@ pygments==2.17.2 # sphinx pytest==8.1.1 # via + # -r requirements_dev.txt # nbmake # pytest-cov # pytest-datadir # pytest-profiling # pytest-regressions + # pytest-subtests pytest-cov==5.0.0 # via -r requirements_dev.txt pytest-datadir==1.5.0 @@ -352,6 +359,8 @@ pytest-profiling==1.7.0 # via -r requirements_dev.txt pytest-regressions==2.5.0 # via -r requirements_dev.txt +pytest-subtests==0.12.1 + # via -r requirements_dev.txt python-dateutil==2.9.0.post0 # via # faker @@ -394,10 +403,10 @@ rpds-py==0.18.0 # referencing rsa==4.9 # via google-auth -scikit-build==0.17.6 - # via dace scipy==1.13.0 - # via ndsl + # via + # -r requirements_dev.txt + # ndsl setuptools-scm==8.0.4 # via fparser six==1.16.0 @@ -461,9 +470,7 @@ traitlets==5.14.3 # matplotlib-inline # nbclient # nbformat -types-pyyaml==6.0.12.20240311 - # via pace -typing-extensions==4.5.0 +typing-extensions==4.12.2 # via # gt4py # ipython @@ -479,19 +486,19 @@ wcwidth==0.2.13 websockets==12.0 # via dace wheel==0.43.0 - # via - # astunparse - # scikit-build + # via astunparse xarray==2024.3.0 # via + # -r requirements_dev.txt # ndsl + # pace # pyfv3 # pyshield xxhash==3.0.0 # via gt4py yarl==1.9.4 # via aiohttp -zarr==2.17.2 +zarr==2.18.2 # via # -r requirements_dev.txt # pace diff --git a/pyFV3 b/pyFV3 index 2ec1bf3b..8d59c1e4 160000 --- a/pyFV3 +++ b/pyFV3 @@ -1 +1 @@ -Subproject commit 2ec1bf3b5004c5c4b9f993f9b3a4f96cf4686323 +Subproject commit 8d59c1e441cbf1c4d51f6860565b317cecb55ee4 diff --git a/pySHiELD b/pySHiELD index 69fd798e..693014f3 160000 --- a/pySHiELD +++ b/pySHiELD @@ -1 +1 @@ -Subproject commit 69fd798e2f01a62f9c3df46beeff073e987b9199 +Subproject commit 693014f3b5c0ca24ee84dd20dfd76a91a63c2d89 diff --git a/requirements_dev.txt b/requirements_dev.txt index 3511cf1d..5c1f8abd 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,9 +1,19 @@ +pytest +pytest-subtests pytest-regressions pytest-profiling pytest-cov +scipy nbmake +mpi4py +xarray zarr +dask +netCDF4 +cftime fv3config +f90nml +numpy -e NDSL -e pySHiELD -e pyFV3 diff --git a/setup.py b/setup.py index b9e509fc..a095679b 100644 --- a/setup.py +++ b/setup.py @@ -12,12 +12,14 @@ def local_pkg(name: str, relative_path: str) -> str: requirements: List[str] = [ + "ndsl", "dacite", "pyyaml", "mpi4py", + "numpy", "netCDF4", + "xarray", "zarr", - "types-pyyaml", ]