diff --git a/doc/source/contributor_guide/development_process_details.rst b/doc/source/contributor_guide/development_process_details.rst index f5b71ed0..8a7ba609 100644 --- a/doc/source/contributor_guide/development_process_details.rst +++ b/doc/source/contributor_guide/development_process_details.rst @@ -19,7 +19,7 @@ System-level dependencies `smash` uses compiled code for speed, which means you need compilers and some other system-level (i.e, non-Python / non-PyPI) dependencies to build it on your system. -Anaconda (recommanded) +Anaconda (recommended) '''''''''''''''''''''' If you are using `Conda `__, all the dependencies will be installed @@ -35,6 +35,14 @@ It will create a Conda environment called ``smash-dev`` that can be activated as conda activate smash-dev +Once ``smash-dev`` is created, it is recomended to update pip and your Conda environment +to ensure you have the latest package versions and to prevent any conflicts: + +.. code-block:: none + + (smash-dev) python3 -m pip install --upgrade pip + (smash-dev) conda update --all + Linux ''''' diff --git a/environment-dev.yml b/environment-dev.yml index cf6e5055..887d80b9 100644 --- a/environment-dev.yml +++ b/environment-dev.yml @@ -11,12 +11,8 @@ dependencies: - meson - meson-python - ninja - - # numpy requirement for wheel builds for distribution on PyPI - building - # against 2.x yields wheels that are also compatible with numpy 1.x at - # runtime. - - numpy>=2.0.0 - - f90wrap>=0.2.15 + - numpy + - f90wrap - versioneer[toml] - rasterio - pandas diff --git a/pyproject.toml b/pyproject.toml index e0d66d7c..164001df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,7 @@ [build-system] requires = [ "meson-python", - - # numpy requirement for wheel builds for distribution on PyPI - building - # against 2.x yields wheels that are also compatible with numpy 1.x at - # runtime. - "numpy>=2.0.0", + "numpy>=1.24", "f90wrap>=0.2.15", "versioneer[toml]" ] @@ -22,13 +18,13 @@ authors = [ license = {text = "GPL-3.0"} requires-python = ">=3.9" dependencies = [ - "numpy", + "numpy>=1.24", "f90wrap>=0.2.15", - "rasterio", - "pandas", - "h5py", + "rasterio>=1.3.10", + "pandas>=2.2.2", + "h5py>=3.11", "tqdm", - "scipy", + "scipy>=1.13", "pyyaml", "terminaltables", ] @@ -62,7 +58,7 @@ doc = [ "sphinxcontrib-bibtex", "sphinx-design", "sphinx-autosummary-accessors", - "matplotlib" + "matplotlib>=3.8.4" ] dev = [ "ruff", diff --git a/requirements-dev.txt b/requirements-dev.txt index 11feadcf..fcf56f0b 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -2,12 +2,8 @@ meson meson-python ninja - -# numpy requirement for wheel builds for distribution on PyPI - building -# against 2.x yields wheels that are also compatible with numpy 1.x at -# runtime. -numpy>=2.0.0 -f90wrap>=0.2.15 +numpy +f90wrap versioneer[toml] rasterio pandas