From 04fc38015c8a46cf8016c74dd5e047384df17644 Mon Sep 17 00:00:00 2001 From: mcflugen Date: Mon, 4 Mar 2024 10:46:43 -0700 Subject: [PATCH 1/4] update docs requirements in pyproject.toml --- .readthedocs.yaml | 2 +- pyproject.toml | 5 ++++- requirements-docs.txt => requirements-docs.in | 0 3 files changed, 5 insertions(+), 2 deletions(-) rename requirements-docs.txt => requirements-docs.in (100%) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 361ec15..754077d 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -16,6 +16,6 @@ sphinx: python: install: - - requirements: requirements-docs.txt + - requirements: requirements-docs.in - method: pip path: . diff --git a/pyproject.toml b/pyproject.toml index 30feaa6..a3b31d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,7 +48,7 @@ text = "MIT" [project.optional-dependencies] units = [ - "gimli.units>=0.3.2" + "gimli.units>=0.3.2", ] dev = [ "black", @@ -61,6 +61,9 @@ testing = [ "pytest>=3.6", ] docs = [ + "myst-parser", + "sphinx-copybutton", + "sphinx-inline-tabs", "sphinx>=1.5.1", ] build = [ diff --git a/requirements-docs.txt b/requirements-docs.in similarity index 100% rename from requirements-docs.txt rename to requirements-docs.in From ec6a716b1bf8241665e6fa963c97760cf187b755 Mon Sep 17 00:00:00 2001 From: mcflugen Date: Mon, 4 Mar 2024 10:51:13 -0700 Subject: [PATCH 2/4] requirements folder for pinned requirements --- noxfile.py | 12 ++++-------- requirements-testing.txt => requirements-testing.in | 0 requirements.in | 7 +++++++ requirements.txt | 5 ----- requirements/required.txt | 3 +++ 5 files changed, 14 insertions(+), 13 deletions(-) rename requirements-testing.txt => requirements-testing.in (100%) create mode 100644 requirements.in delete mode 100644 requirements.txt create mode 100644 requirements/required.txt diff --git a/noxfile.py b/noxfile.py index 4b01190..91a51e2 100644 --- a/noxfile.py +++ b/noxfile.py @@ -14,7 +14,7 @@ @nox.session def test(session: nox.Session) -> None: """Run the tests.""" - session.install(".[units,testing]") + session.install("-r", "requirements/required.txt", ".[units,testing]") args = ["--cov", PROJECT, "-vvv"] + session.posargs @@ -29,7 +29,7 @@ def test(session: nox.Session) -> None: @nox.session(name="test-cli", python=PYTHON_VERSION, venv_backend="conda") def test_cli(session: nox.Session) -> None: """Run the tests.""" - session.install(".[units]") + session.install("-r", "requirements/required.txt", ".[units,testing]") session.conda_install("pymt_topography", channel=["nodefaults", "conda-forge"]) session.run("bmi-test", "pymt_topography:Topography") @@ -57,11 +57,7 @@ def build_docs(session: nox.Session) -> None: build_generated_docs(session) - session.install( - *("-r", "requirements-docs.txt"), - *("-r", "requirements.txt"), - ) - session.install(".") + session.install("-r", "requirements-docs.in", ".[units]") pathlib.Path("build").mkdir(exist_ok=True) @@ -83,7 +79,7 @@ def build_generated_docs(session: nox.Session) -> None: # FOLDER["docs_generated"].mkdir(exist_ok=True) session.install("sphinx") - session.install("-e", ".") + session.install("-e", ".[units]") with session.chdir(ROOT): os.makedirs("src/docs/_generated/api", exist_ok=True) diff --git a/requirements-testing.txt b/requirements-testing.in similarity index 100% rename from requirements-testing.txt rename to requirements-testing.in diff --git a/requirements.in b/requirements.in new file mode 100644 index 0000000..b10d0eb --- /dev/null +++ b/requirements.in @@ -0,0 +1,7 @@ +gimli.units>=0.3.2 +importlib-resources; python_version < '3.12' +model-metadata>=0.8.1 +numpy +pytest +pytest-dependency +standard-names>=0.2.8 diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 881f1d5..0000000 --- a/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -model_metadata -numpy -pytest -pytest-dependency -standard_names diff --git a/requirements/required.txt b/requirements/required.txt new file mode 100644 index 0000000..3f422b2 --- /dev/null +++ b/requirements/required.txt @@ -0,0 +1,3 @@ +gimli.units==0.3.2 +model-metadata==0.8.1 +standard-names==0.2.8 From d508a0e735fa24caa073cc31741ab081185fc27d Mon Sep 17 00:00:00 2001 From: mcflugen Date: Mon, 4 Mar 2024 10:51:33 -0700 Subject: [PATCH 3/4] add dependabot config file --- .github/dependabot.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..7c6c35d --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,19 @@ +# Reference: +# - https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot + +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + target-branch: "dependencies" + labels: ["dependencies"] + + - package-ecosystem: "pip" + directory: "/requirements" + schedule: + interval: "daily" + target-branch: "dependencies" + labels: ["dependencies"] From a92298845a882e2e0f896dce8c6ab679b8249c9f Mon Sep 17 00:00:00 2001 From: mcflugen Date: Mon, 4 Mar 2024 11:30:30 -0700 Subject: [PATCH 4/4] print installed packagees before running tests --- noxfile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/noxfile.py b/noxfile.py index 91a51e2..49c930a 100644 --- a/noxfile.py +++ b/noxfile.py @@ -20,6 +20,8 @@ def test(session: nox.Session) -> None: if "CI" in os.environ: args.append(f"--cov-report=xml:{ROOT.absolute()!s}/coverage.xml") + + session.run("pip", "list") session.run("pytest", *args) if "CI" not in os.environ: @@ -32,6 +34,7 @@ def test_cli(session: nox.Session) -> None: session.install("-r", "requirements/required.txt", ".[units,testing]") session.conda_install("pymt_topography", channel=["nodefaults", "conda-forge"]) + session.run("pip", "list") session.run("bmi-test", "pymt_topography:Topography")