From e89d284bdbc745e349be242004144d3f531d5740 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 1 Nov 2023 14:53:30 +0000 Subject: [PATCH 1/8] Switch to pyproject.toml --- pyproject.toml | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 27 --------------------------- 2 files changed, 49 insertions(+), 27 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..b356596 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,49 @@ +[build-system] +requires = ["setuptools", "setuptools-scm"] +build-backend = "setuptools.build_meta" + +[tool.setuptools.packages.find] +exclude = ["htmlcov"] # Exclude the coverage report file from setuptools package finder + +[project] +name = "WSIMOD" +description = "WSIMOD is for simulating water quality and quantity" +readme = {file = "README.md"} +version = "0.2.0" +license = {file = "LICENSE"} +authors = [ + { name = "Imperial College London RSE Team", email = "ict-rse-team@imperial.ac.uk" } + { name = "Barnaby Dobson", email = "b.dobson@imperial.ac.uk" } +] +requires-python = ">=3.9" +dependencies = [ + "PyYAML", + "tqdm" +] + +[project.optional-dependencies] +dev = [ + "pytest" +] + +demos = [ + "pandas", + "geopandas", + "matplotlib", + "shapely" +] + +doc = [ + "mkdocs", + "mkdocstrings[python]", + "mkdocs-material", + "mkdocs-autorefs", + "mkdocs-bibtex", + "mkdocs-coverage", + "mkdocs-jupyter", + "mkdocs-material-extensions", + "pypandoc" +] + +[tool.pytest.ini_options] +addopts = "-v -p no:warnings" \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index d8ba86f..0000000 --- a/setup.py +++ /dev/null @@ -1,27 +0,0 @@ -import setuptools - - -with open("requirements.txt") as f: - install_requires = f.read().splitlines() - -with open("requirements_demos.txt") as f: - demos_requires = f.read().splitlines() - -with open("requirements_documentation.txt") as f: - docs_requires = f.read().splitlines() + demos_requires - -setuptools.setup( - name='WSIMOD', - version='0.2', - author='Barnaby Dobson', - author_email='b.dobson@imperial.ac.uk', - packages=setuptools.find_packages(), - license='LICENSE', - description='WSIMOD is for simulating water quality and quantity', - long_description=open('README.md').read(), - install_requires=install_requires, - extras_require={ - 'demos': demos_requires, - 'documentation': docs_requires - } - ) \ No newline at end of file From cdb431734f993470e4610676c90d573ec775fb65 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 1 Nov 2023 15:03:27 +0000 Subject: [PATCH 2/8] Fix syntax errors --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b356596..7b8e336 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,11 +8,11 @@ exclude = ["htmlcov"] # Exclude the coverage report file from setuptools package [project] name = "WSIMOD" description = "WSIMOD is for simulating water quality and quantity" -readme = {file = "README.md"} +readme = "README.md" version = "0.2.0" license = {file = "LICENSE"} authors = [ - { name = "Imperial College London RSE Team", email = "ict-rse-team@imperial.ac.uk" } + { name = "Imperial College London RSE Team", email = "ict-rse-team@imperial.ac.uk" }, { name = "Barnaby Dobson", email = "b.dobson@imperial.ac.uk" } ] requires-python = ">=3.9" From 75684553bbe723dc55441cf8db320a64c3f3adb9 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 1 Nov 2023 15:13:44 +0000 Subject: [PATCH 3/8] New requirements files --- requirements-demos.txt | 82 ++++++++++ requirements-dev.txt | 22 +++ requirements-doc.txt | 273 +++++++++++++++++++++++++++++++++ requirements.txt | 21 +-- requirements_demos.txt | 25 --- requirements_documentation.txt | 81 ---------- 6 files changed, 388 insertions(+), 116 deletions(-) create mode 100644 requirements-demos.txt create mode 100644 requirements-dev.txt create mode 100644 requirements-doc.txt delete mode 100644 requirements_demos.txt delete mode 100644 requirements_documentation.txt diff --git a/requirements-demos.txt b/requirements-demos.txt new file mode 100644 index 0000000..a54d6e2 --- /dev/null +++ b/requirements-demos.txt @@ -0,0 +1,82 @@ +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile --extra=demos --output-file=requirements-demos.txt +# +attrs==23.1.0 + # via fiona +certifi==2023.7.22 + # via + # fiona + # pyproj +click==8.1.7 + # via + # click-plugins + # cligj + # fiona +click-plugins==1.1.1 + # via fiona +cligj==0.7.2 + # via fiona +colorama==0.4.6 + # via + # click + # tqdm +contourpy==1.1.1 + # via matplotlib +cycler==0.12.1 + # via matplotlib +fiona==1.9.5 + # via geopandas +fonttools==4.43.1 + # via matplotlib +geopandas==0.14.0 + # via WSIMOD (pyproject.toml) +kiwisolver==1.4.5 + # via matplotlib +matplotlib==3.8.1 + # via WSIMOD (pyproject.toml) +numpy==1.26.1 + # via + # contourpy + # matplotlib + # pandas + # shapely +packaging==23.2 + # via + # geopandas + # matplotlib +pandas==2.1.2 + # via + # WSIMOD (pyproject.toml) + # geopandas +pillow==10.1.0 + # via matplotlib +pyparsing==3.1.1 + # via matplotlib +pyproj==3.6.1 + # via geopandas +python-dateutil==2.8.2 + # via + # matplotlib + # pandas +pytz==2023.3.post1 + # via pandas +pyyaml==6.0.1 + # via WSIMOD (pyproject.toml) +shapely==2.0.2 + # via + # WSIMOD (pyproject.toml) + # geopandas +six==1.16.0 + # via + # fiona + # python-dateutil +tqdm==4.66.1 + # via WSIMOD (pyproject.toml) +tzdata==2023.3 + # via pandas + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..389b4fd --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,22 @@ +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile --extra=dev --output-file=requirements-dev.txt +# +colorama==0.4.6 + # via + # pytest + # tqdm +iniconfig==2.0.0 + # via pytest +packaging==23.2 + # via pytest +pluggy==1.3.0 + # via pytest +pytest==7.4.3 + # via WSIMOD (pyproject.toml) +pyyaml==6.0.1 + # via WSIMOD (pyproject.toml) +tqdm==4.66.1 + # via WSIMOD (pyproject.toml) diff --git a/requirements-doc.txt b/requirements-doc.txt new file mode 100644 index 0000000..efbf41e --- /dev/null +++ b/requirements-doc.txt @@ -0,0 +1,273 @@ +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile --extra=doc --output-file=requirements-doc.txt +# +asttokens==2.4.1 + # via stack-data +attrs==23.1.0 + # via + # jsonschema + # referencing +babel==2.13.1 + # via mkdocs-material +beautifulsoup4==4.12.2 + # via nbconvert +bleach==6.1.0 + # via nbconvert +certifi==2023.7.22 + # via requests +charset-normalizer==3.3.2 + # via requests +click==8.1.7 + # via mkdocs +colorama==0.4.6 + # via + # click + # griffe + # ipython + # mkdocs + # mkdocs-material + # tqdm +comm==0.1.4 + # via ipykernel +debugpy==1.8.0 + # via ipykernel +decorator==5.1.1 + # via ipython +defusedxml==0.7.1 + # via nbconvert +executing==2.0.1 + # via stack-data +fastjsonschema==2.18.1 + # via nbformat +ghp-import==2.1.0 + # via mkdocs +griffe==0.36.9 + # via mkdocstrings-python +idna==3.4 + # via requests +ipykernel==6.26.0 + # via mkdocs-jupyter +ipython==8.17.2 + # via ipykernel +jedi==0.19.1 + # via ipython +jinja2==3.1.2 + # via + # mkdocs + # mkdocs-material + # mkdocstrings + # nbconvert +jsonschema==4.19.2 + # via nbformat +jsonschema-specifications==2023.7.1 + # via jsonschema +jupyter-client==8.5.0 + # via + # ipykernel + # nbclient +jupyter-core==5.5.0 + # via + # ipykernel + # jupyter-client + # nbclient + # nbconvert + # nbformat +jupyterlab-pygments==0.2.2 + # via nbconvert +jupytext==1.15.2 + # via mkdocs-jupyter +latexcodec==2.0.1 + # via pybtex +markdown==3.5.1 + # via + # mkdocs + # mkdocs-autorefs + # mkdocs-material + # mkdocstrings + # pymdown-extensions +markdown-it-py==3.0.0 + # via + # jupytext + # mdit-py-plugins +markupsafe==2.1.3 + # via + # jinja2 + # mkdocs + # mkdocstrings + # nbconvert +matplotlib-inline==0.1.6 + # via + # ipykernel + # ipython +mdit-py-plugins==0.4.0 + # via jupytext +mdurl==0.1.2 + # via markdown-it-py +mergedeep==1.3.4 + # via mkdocs +mistune==3.0.2 + # via nbconvert +mkdocs==1.5.3 + # via + # WSIMOD (pyproject.toml) + # mkdocs-autorefs + # mkdocs-bibtex + # mkdocs-coverage + # mkdocs-jupyter + # mkdocs-material + # mkdocstrings +mkdocs-autorefs==0.5.0 + # via + # WSIMOD (pyproject.toml) + # mkdocstrings +mkdocs-bibtex==2.11.0 + # via WSIMOD (pyproject.toml) +mkdocs-coverage==1.0.0 + # via WSIMOD (pyproject.toml) +mkdocs-jupyter==0.24.6 + # via WSIMOD (pyproject.toml) +mkdocs-material==9.4.7 + # via + # WSIMOD (pyproject.toml) + # mkdocs-jupyter +mkdocs-material-extensions==1.3 + # via + # WSIMOD (pyproject.toml) + # mkdocs-material +mkdocstrings[python]==0.23.0 + # via + # WSIMOD (pyproject.toml) + # mkdocstrings-python +mkdocstrings-python==1.7.3 + # via mkdocstrings +nbclient==0.8.0 + # via nbconvert +nbconvert==7.10.0 + # via mkdocs-jupyter +nbformat==5.9.2 + # via + # jupytext + # nbclient + # nbconvert +nest-asyncio==1.5.8 + # via ipykernel +packaging==23.2 + # via + # ipykernel + # mkdocs + # nbconvert +paginate==0.5.6 + # via mkdocs-material +pandocfilters==1.5.0 + # via nbconvert +parso==0.8.3 + # via jedi +pathspec==0.11.2 + # via mkdocs +platformdirs==3.11.0 + # via + # jupyter-core + # mkdocs +prompt-toolkit==3.0.39 + # via ipython +psutil==5.9.6 + # via ipykernel +pure-eval==0.2.2 + # via stack-data +pybtex==0.24.0 + # via mkdocs-bibtex +pygments==2.16.1 + # via + # ipython + # mkdocs-jupyter + # mkdocs-material + # nbconvert +pymdown-extensions==10.3.1 + # via + # mkdocs-material + # mkdocstrings +pypandoc==1.12 + # via + # WSIMOD (pyproject.toml) + # mkdocs-bibtex +python-dateutil==2.8.2 + # via + # ghp-import + # jupyter-client +pywin32==306 + # via jupyter-core +pyyaml==6.0.1 + # via + # WSIMOD (pyproject.toml) + # jupytext + # mkdocs + # pybtex + # pymdown-extensions + # pyyaml-env-tag +pyyaml-env-tag==0.1 + # via mkdocs +pyzmq==25.1.1 + # via + # ipykernel + # jupyter-client +referencing==0.30.2 + # via + # jsonschema + # jsonschema-specifications +regex==2023.10.3 + # via mkdocs-material +requests==2.31.0 + # via + # mkdocs-bibtex + # mkdocs-material +rpds-py==0.10.6 + # via + # jsonschema + # referencing +six==1.16.0 + # via + # asttokens + # bleach + # latexcodec + # pybtex + # python-dateutil +soupsieve==2.5 + # via beautifulsoup4 +stack-data==0.6.3 + # via ipython +tinycss2==1.2.1 + # via nbconvert +toml==0.10.2 + # via jupytext +tornado==6.3.3 + # via + # ipykernel + # jupyter-client +tqdm==4.66.1 + # via WSIMOD (pyproject.toml) +traitlets==5.13.0 + # via + # comm + # ipykernel + # ipython + # jupyter-client + # jupyter-core + # matplotlib-inline + # nbclient + # nbconvert + # nbformat +urllib3==2.0.7 + # via requests +validators==0.22.0 + # via mkdocs-bibtex +watchdog==3.0.0 + # via mkdocs +wcwidth==0.2.9 + # via prompt-toolkit +webencodings==0.5.1 + # via + # bleach + # tinycss2 diff --git a/requirements.txt b/requirements.txt index 1b090a3..be4cbba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,12 @@ -attrs==22.2.0 +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile +# colorama==0.4.6 -dill==0.3.6 -exceptiongroup==1.1.0 -iniconfig==2.0.0 -packaging==23.0 -pluggy==1.0.0 -pytest==7.2.1 -PyYAML==6.0 -tomli==2.0.1 -tqdm==4.64.1 \ No newline at end of file + # via tqdm +pyyaml==6.0.1 + # via WSIMOD (pyproject.toml) +tqdm==4.66.1 + # via WSIMOD (pyproject.toml) diff --git a/requirements_demos.txt b/requirements_demos.txt deleted file mode 100644 index 81d5a66..0000000 --- a/requirements_demos.txt +++ /dev/null @@ -1,25 +0,0 @@ -certifi==2022.12.7 -click==8.1.3 -click-plugins==1.1.1 -cligj==0.7.2 -contourpy==1.0.7 -cramjam==2.6.2 -cycler==0.11.0 -fastparquet==2023.1.0 -Fiona==1.9.0 -fonttools==4.38.0 -fsspec==2023.1.0 -geopandas==0.12.2 -kiwisolver==1.4.4 -matplotlib==3.6.3 -munch==2.5.0 -numpy==1.24.1 -pandas==1.5.3 -Pillow==9.4.0 -pyarrow==11.0.0 -pyparsing==3.0.9 -pyproj==3.4.1 -python-dateutil==2.8.2 -pytz==2022.7.1 -shapely==2.0.1 -six==1.16.0 \ No newline at end of file diff --git a/requirements_documentation.txt b/requirements_documentation.txt deleted file mode 100644 index 7b95b08..0000000 --- a/requirements_documentation.txt +++ /dev/null @@ -1,81 +0,0 @@ -asttokens==2.2.1 -backcall==0.2.0 -beautifulsoup4==4.11.1 -bleach==6.0.0 -charset-normalizer==3.0.1 -comm==0.1.2 -coverage==7.1.0 -debugpy==1.6.6 -decorator==5.1.1 -defusedxml==0.7.1 -entrypoints==0.4 -executing==1.2.0 -fastjsonschema==2.16.2 -ghp-import==2.1.0 -griffe==0.25.4 -idna==3.4 -importlib-metadata==6.0.0 -importlib-resources==5.10.2 -ipykernel==6.20.2 -ipython==8.9.0 -jedi==0.18.2 -Jinja2==3.1.2 -jsonschema==4.17.3 -jupyter_client==8.0.2 -jupyter_core==5.2.0 -jupyterlab-pygments==0.2.2 -jupytext==1.14.4 -kiwisolver==1.4.4 -latexcodec==2.0.1 -lxml==4.9.2 -Markdown==3.3.7 -markdown-it-py==2.1.0 -MarkupSafe==2.1.2 -matplotlib-inline==0.1.6 -mdit-py-plugins==0.3.3 -mdurl==0.1.2 -mergedeep==1.3.4 -mistune==0.8.4 -mkdocs==1.4.2 -mkdocs-autorefs==0.4.1 -mkdocs-bibtex==2.8.10 -mkdocs-coverage==0.2.6 -mkdocs-jupyter==0.22.0 -mkdocs-material==8.5.11 -mkdocs-material-extensions==1.1.1 -mkdocstrings==0.20.0 -mkdocstrings-python==0.8.3 -nbclient==0.7.2 -nbconvert==6.5.4 -nbformat==5.7.3 -nest-asyncio==1.5.6 -pandocfilters==1.5.0 -parso==0.8.3 -pickleshare==0.7.5 -pkgutil_resolve_name==1.3.10 -platformdirs==2.6.2 -prompt-toolkit==3.0.36 -psutil==5.9.4 -pure-eval==0.2.2 -pybtex==0.24.0 -Pygments==2.14.0 -pymdown-extensions==9.9.2 -pypandoc==1.10 -pyrsistent==0.19.3 -pywin32==305 -pyyaml_env_tag==0.1 -pyzmq==25.0.0 -requests==2.28.2 -soupsieve==2.3.2.post1 -stack-data==0.6.2 -tabulate==0.9.0 -tinycss2==1.2.1 -toml==0.10.2 -tornado==6.2 -traitlets==5.9.0 -urllib3==1.26.14 -validators==0.20.0 -watchdog==2.2.1 -wcwidth==0.2.6 -webencodings==0.5.1 -zipp==3.12.0 From 9f7a76a259d32f8ee9bad03bb6a5141584dfcf72 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 1 Nov 2023 15:17:02 +0000 Subject: [PATCH 4/8] Point to new requirements file --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 837bd1f..aeee7a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,6 @@ jobs: with: python-version: 3.10.9 - name: Install and build - run: pip install . + run: pip install -r requirements-dev.txt - name: Run tests run: pytest From c37fb337ab71d82ee372f4e94af0a22592148b62 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 1 Nov 2023 15:23:41 +0000 Subject: [PATCH 5/8] Add dill requirement --- pyproject.toml | 3 ++- requirements-demos.txt | 2 ++ requirements-dev.txt | 2 ++ requirements-doc.txt | 2 ++ requirements.txt | 2 ++ 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 7b8e336..45602a6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,8 @@ authors = [ requires-python = ">=3.9" dependencies = [ "PyYAML", - "tqdm" + "tqdm", + "dill" ] [project.optional-dependencies] diff --git a/requirements-demos.txt b/requirements-demos.txt index a54d6e2..af0692a 100644 --- a/requirements-demos.txt +++ b/requirements-demos.txt @@ -27,6 +27,8 @@ contourpy==1.1.1 # via matplotlib cycler==0.12.1 # via matplotlib +dill==0.3.7 + # via WSIMOD (pyproject.toml) fiona==1.9.5 # via geopandas fonttools==4.43.1 diff --git a/requirements-dev.txt b/requirements-dev.txt index 389b4fd..f78b3b1 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,6 +8,8 @@ colorama==0.4.6 # via # pytest # tqdm +dill==0.3.7 + # via WSIMOD (pyproject.toml) iniconfig==2.0.0 # via pytest packaging==23.2 diff --git a/requirements-doc.txt b/requirements-doc.txt index efbf41e..b9f5bb6 100644 --- a/requirements-doc.txt +++ b/requirements-doc.txt @@ -38,6 +38,8 @@ decorator==5.1.1 # via ipython defusedxml==0.7.1 # via nbconvert +dill==0.3.7 + # via WSIMOD (pyproject.toml) executing==2.0.1 # via stack-data fastjsonschema==2.18.1 diff --git a/requirements.txt b/requirements.txt index be4cbba..1b54f7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,6 +6,8 @@ # colorama==0.4.6 # via tqdm +dill==0.3.7 + # via WSIMOD (pyproject.toml) pyyaml==6.0.1 # via WSIMOD (pyproject.toml) tqdm==4.66.1 From 9d2cf43d5e3b64b54365bb166c1dc71727d182cb Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 1 Nov 2023 15:40:48 +0000 Subject: [PATCH 6/8] Add __init__.py --- tests/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/__init__.py diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 From af59de5ff02a1200f396b01b1284639936183d50 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 1 Nov 2023 16:16:10 +0000 Subject: [PATCH 7/8] Update install instructions --- README.md | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index e62decb..c080a6d 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ with arcs, and create simulations. You can access our documentation below or at [https://imperialcollegelondon.github.io/wsi](https://barneydobson.github.io/wsi). -*Requires*: Python 3 (tested on versions >=3.7), [tqdm](https://tqdm.github.io/), [PyYAML](https://pyyaml.org/) +*Requires*: Python 3 (tested on versions >=3.7), [tqdm](https://tqdm.github.io/), [PyYAML](https://pyyaml.org/), [dill](https://dill.readthedocs.io/en/latest/) *Optional requirements to run demos*: [Pandas](https://pandas.pydata.org/), [GeoPandas](https://geopandas.org/en/stable/), [Matplotlib](https://matplotlib.org/), [Shapely](https://shapely.readthedocs.io/en/stable/manual.html) @@ -52,37 +52,27 @@ and consists of: 8. [Coverage](https://barneydobson.github.io/wsi/coverage/) ## Installation -Create and activate new conda environment -``` -conda create --name wsimod python=3.10 -conda activate wsimod -``` - -Install a GUI if you like -``` -conda install spyder -c conda-forge -``` Install WSIMOD directly from GitHub ``` -pip install https://github.com/barneydobson/wsi/archive/refs/heads/main.zip +pip install https://github.com/ImperialCollegeLondon/wsi/archive/refs/heads/main.zip ``` Use `[demos]` to include the demos and tutorials. ``` -pip install https://github.com/barneydobson/wsi/archive/refs/heads/main.zip +pip install https://github.com/ImperialCollegeLondon/wsi/archive/refs/heads/main.zip pip install wsimod[demos] ``` -If you want to make changes WSIMOD you can download/clone this folder, navigate to it, and run: +If you want to make changes to WSIMOD you can download/clone this folder, navigate to it, and run: ``` -python setup.py develop +pip install -e .[dev] ``` or (with demos) ``` -python setup.py develop easy_install "wsimod[demos]" +pip install -e .[dev,demos] ``` ## How to cite WSIMOD From 126f390baca20d449c1ebf0853370fe033141761 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 2 Nov 2023 10:16:45 +0000 Subject: [PATCH 8/8] Minor requested changes, rebuiding requirements files --- pyproject.toml | 11 ++--- requirements-demos.txt | 18 ++++----- requirements-dev.txt | 8 ++-- requirements-doc.txt | 91 +++++++++++++++++++++++++++++++++++------- requirements.txt | 6 +-- 5 files changed, 98 insertions(+), 36 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 45602a6..9a3d069 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,14 +6,14 @@ build-backend = "setuptools.build_meta" exclude = ["htmlcov"] # Exclude the coverage report file from setuptools package finder [project] -name = "WSIMOD" +name = "wsimod" description = "WSIMOD is for simulating water quality and quantity" readme = "README.md" version = "0.2.0" license = {file = "LICENSE"} authors = [ - { name = "Imperial College London RSE Team", email = "ict-rse-team@imperial.ac.uk" }, - { name = "Barnaby Dobson", email = "b.dobson@imperial.ac.uk" } + { name = "Barnaby Dobson", email = "b.dobson@imperial.ac.uk" }, + { name = "Imperial College London RSE Team", email = "ict-rse-team@imperial.ac.uk" } ] requires-python = ">=3.9" dependencies = [ @@ -28,7 +28,7 @@ dev = [ ] demos = [ - "pandas", + "pandas==1.5.2", "geopandas", "matplotlib", "shapely" @@ -43,7 +43,8 @@ doc = [ "mkdocs-coverage", "mkdocs-jupyter", "mkdocs-material-extensions", - "pypandoc" + "pypandoc", + "wsimod[demos]" ] [tool.pytest.ini_options] diff --git a/requirements-demos.txt b/requirements-demos.txt index af0692a..11e8569 100644 --- a/requirements-demos.txt +++ b/requirements-demos.txt @@ -28,17 +28,17 @@ contourpy==1.1.1 cycler==0.12.1 # via matplotlib dill==0.3.7 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) fiona==1.9.5 # via geopandas fonttools==4.43.1 # via matplotlib geopandas==0.14.0 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) kiwisolver==1.4.5 # via matplotlib matplotlib==3.8.1 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) numpy==1.26.1 # via # contourpy @@ -49,10 +49,10 @@ packaging==23.2 # via # geopandas # matplotlib -pandas==2.1.2 +pandas==1.5.2 # via - # WSIMOD (pyproject.toml) # geopandas + # wsimod (pyproject.toml) pillow==10.1.0 # via matplotlib pyparsing==3.1.1 @@ -66,19 +66,17 @@ python-dateutil==2.8.2 pytz==2023.3.post1 # via pandas pyyaml==6.0.1 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) shapely==2.0.2 # via - # WSIMOD (pyproject.toml) # geopandas + # wsimod (pyproject.toml) six==1.16.0 # via # fiona # python-dateutil tqdm==4.66.1 - # via WSIMOD (pyproject.toml) -tzdata==2023.3 - # via pandas + # via wsimod (pyproject.toml) # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements-dev.txt b/requirements-dev.txt index f78b3b1..24d67ad 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -9,7 +9,7 @@ colorama==0.4.6 # pytest # tqdm dill==0.3.7 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) iniconfig==2.0.0 # via pytest packaging==23.2 @@ -17,8 +17,8 @@ packaging==23.2 pluggy==1.3.0 # via pytest pytest==7.4.3 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) pyyaml==6.0.1 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) tqdm==4.66.1 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) diff --git a/requirements-doc.txt b/requirements-doc.txt index b9f5bb6..704e929 100644 --- a/requirements-doc.txt +++ b/requirements-doc.txt @@ -8,6 +8,7 @@ asttokens==2.4.1 # via stack-data attrs==23.1.0 # via + # fiona # jsonschema # referencing babel==2.13.1 @@ -17,11 +18,22 @@ beautifulsoup4==4.12.2 bleach==6.1.0 # via nbconvert certifi==2023.7.22 - # via requests + # via + # fiona + # pyproj + # requests charset-normalizer==3.3.2 # via requests click==8.1.7 - # via mkdocs + # via + # click-plugins + # cligj + # fiona + # mkdocs +click-plugins==1.1.1 + # via fiona +cligj==0.7.2 + # via fiona colorama==0.4.6 # via # click @@ -32,6 +44,10 @@ colorama==0.4.6 # tqdm comm==0.1.4 # via ipykernel +contourpy==1.1.1 + # via matplotlib +cycler==0.12.1 + # via matplotlib debugpy==1.8.0 # via ipykernel decorator==5.1.1 @@ -39,11 +55,19 @@ decorator==5.1.1 defusedxml==0.7.1 # via nbconvert dill==0.3.7 - # via WSIMOD (pyproject.toml) + # via + # wsimod + # wsimod (pyproject.toml) executing==2.0.1 # via stack-data fastjsonschema==2.18.1 # via nbformat +fiona==1.9.5 + # via geopandas +fonttools==4.43.1 + # via matplotlib +geopandas==0.14.0 + # via wsimod ghp-import==2.1.0 # via mkdocs griffe==0.36.9 @@ -81,6 +105,8 @@ jupyterlab-pygments==0.2.2 # via nbconvert jupytext==1.15.2 # via mkdocs-jupyter +kiwisolver==1.4.5 + # via matplotlib latexcodec==2.0.1 # via pybtex markdown==3.5.1 @@ -100,6 +126,8 @@ markupsafe==2.1.3 # mkdocs # mkdocstrings # nbconvert +matplotlib==3.8.1 + # via wsimod matplotlib-inline==0.1.6 # via # ipykernel @@ -114,35 +142,35 @@ mistune==3.0.2 # via nbconvert mkdocs==1.5.3 # via - # WSIMOD (pyproject.toml) # mkdocs-autorefs # mkdocs-bibtex # mkdocs-coverage # mkdocs-jupyter # mkdocs-material # mkdocstrings + # wsimod (pyproject.toml) mkdocs-autorefs==0.5.0 # via - # WSIMOD (pyproject.toml) # mkdocstrings + # wsimod (pyproject.toml) mkdocs-bibtex==2.11.0 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) mkdocs-coverage==1.0.0 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) mkdocs-jupyter==0.24.6 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) mkdocs-material==9.4.7 # via - # WSIMOD (pyproject.toml) # mkdocs-jupyter + # wsimod (pyproject.toml) mkdocs-material-extensions==1.3 # via - # WSIMOD (pyproject.toml) # mkdocs-material + # wsimod (pyproject.toml) mkdocstrings[python]==0.23.0 # via - # WSIMOD (pyproject.toml) # mkdocstrings-python + # wsimod (pyproject.toml) mkdocstrings-python==1.7.3 # via mkdocstrings nbclient==0.8.0 @@ -156,19 +184,33 @@ nbformat==5.9.2 # nbconvert nest-asyncio==1.5.8 # via ipykernel +numpy==1.26.1 + # via + # contourpy + # matplotlib + # pandas + # shapely packaging==23.2 # via + # geopandas # ipykernel + # matplotlib # mkdocs # nbconvert paginate==0.5.6 # via mkdocs-material +pandas==1.5.2 + # via + # geopandas + # wsimod pandocfilters==1.5.0 # via nbconvert parso==0.8.3 # via jedi pathspec==0.11.2 # via mkdocs +pillow==10.1.0 + # via matplotlib platformdirs==3.11.0 # via # jupyter-core @@ -193,22 +235,31 @@ pymdown-extensions==10.3.1 # mkdocstrings pypandoc==1.12 # via - # WSIMOD (pyproject.toml) # mkdocs-bibtex + # wsimod (pyproject.toml) +pyparsing==3.1.1 + # via matplotlib +pyproj==3.6.1 + # via geopandas python-dateutil==2.8.2 # via # ghp-import # jupyter-client + # matplotlib + # pandas +pytz==2023.3.post1 + # via pandas pywin32==306 # via jupyter-core pyyaml==6.0.1 # via - # WSIMOD (pyproject.toml) # jupytext # mkdocs # pybtex # pymdown-extensions # pyyaml-env-tag + # wsimod + # wsimod (pyproject.toml) pyyaml-env-tag==0.1 # via mkdocs pyzmq==25.1.1 @@ -229,10 +280,15 @@ rpds-py==0.10.6 # via # jsonschema # referencing +shapely==2.0.2 + # via + # geopandas + # wsimod six==1.16.0 # via # asttokens # bleach + # fiona # latexcodec # pybtex # python-dateutil @@ -249,7 +305,9 @@ tornado==6.3.3 # ipykernel # jupyter-client tqdm==4.66.1 - # via WSIMOD (pyproject.toml) + # via + # wsimod + # wsimod (pyproject.toml) traitlets==5.13.0 # via # comm @@ -273,3 +331,8 @@ webencodings==0.5.1 # via # bleach # tinycss2 +wsimod[demos] @ file:///C:/Users/tbland/Documents/Code/wsi + # via wsimod (pyproject.toml) + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements.txt b/requirements.txt index 1b54f7a..d58181d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,8 +7,8 @@ colorama==0.4.6 # via tqdm dill==0.3.7 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) pyyaml==6.0.1 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml) tqdm==4.66.1 - # via WSIMOD (pyproject.toml) + # via wsimod (pyproject.toml)