From 9a3727193114b4e3d374abb720068a067c46950f Mon Sep 17 00:00:00 2001 From: Emmanuel Bourret Date: Wed, 8 Jul 2026 14:03:41 -0400 Subject: [PATCH] MAINT: add dependabot and pinned requirements --- .github/dependabot.yml | 11 +++++++++++ pyproject.toml | 17 ++++++++++++++++- requirements/README.rst | 18 ++++++++++++++++++ requirements/requirements-development.txt | 13 +++++++++++++ requirements/requirements-documentation.txt | 6 ++++++ requirements/requirements.txt | 5 +++++ 6 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 .github/dependabot.yml create mode 100644 requirements/README.rst create mode 100644 requirements/requirements-development.txt create mode 100644 requirements/requirements-documentation.txt create mode 100644 requirements/requirements.txt diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..292de37 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# See the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" + commit-message: + prefix: "MAINT" diff --git a/pyproject.toml b/pyproject.toml index eda9a3d..f2788a6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,22 @@ dependencies = [ ] [project.optional-dependencies] -dev = ["pytest>=7", "hypothesis>=6", "ruff>=0.4"] +test = [ + "pytest>=7", + "hypothesis>=6", + "ruff>=0.4", +] +docs = [ + "sphinx", + "sphinx-rtd-theme", + "numpydoc", + "sphinx-copybutton", +] +release = [ + "build", + "twine", +] +dev = ["spectroplot[docs, test, release]"] [project.scripts] spectroplot = "spectroplot:main" diff --git a/requirements/README.rst b/requirements/README.rst new file mode 100644 index 0000000..d50fe10 --- /dev/null +++ b/requirements/README.rst @@ -0,0 +1,18 @@ +Pinned Requirements +=================== + +The requirements in this folder are pinned to specific versions to allow recreating +a specific build. This is useful in cases such as building documentation on readthedocs +or for debugging since this specific build is known to work on both Windows and Linux +with python 3.10. + +If you only want to install all of the development dependencies for spectroplot, it is +recommended to instead use: + +.. code-block:: console + + pip install spectroplot[dev] + +or clone the repository by following the +`installation guide `_ +in the documentation. diff --git a/requirements/requirements-development.txt b/requirements/requirements-development.txt new file mode 100644 index 0000000..6c0419f --- /dev/null +++ b/requirements/requirements-development.txt @@ -0,0 +1,13 @@ +-r requirements.txt +-r requirements-documentation.txt + +# for linting +ruff==0.15.20 + +# for testing +pytest==9.0.3 +hypothesis==6.155.7 + +# for creating releases +build==1.2.2 +twine==6.1.0 diff --git a/requirements/requirements-documentation.txt b/requirements/requirements-documentation.txt new file mode 100644 index 0000000..38df62a --- /dev/null +++ b/requirements/requirements-documentation.txt @@ -0,0 +1,6 @@ +-r requirements.txt + +sphinx==8.2.3 +sphinx-rtd-theme==3.0.2 +numpydoc==1.8.0 +sphinx-copybutton==0.5.2 diff --git a/requirements/requirements.txt b/requirements/requirements.txt new file mode 100644 index 0000000..5ca9bf8 --- /dev/null +++ b/requirements/requirements.txt @@ -0,0 +1,5 @@ +numpy==2.3.5 +pandas==2.3.3 +matplotlib==3.10.7 +seaborn==0.13.2 +scipy==1.17.1