Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12", "3.13", "3.14"]
python-version: ["3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v6
Expand Down Expand Up @@ -82,7 +82,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.11"
python-version: "3.13"

- name: Install dependencies
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.11'
python-version: '3.13'
cache: "pip"
cache-dependency-path: "setup.cfg"

Expand All @@ -36,7 +36,7 @@ jobs:
run: uv pip install --system --no-deps -v .

- name: Install documenteer
run: uv pip install --system 'documenteer[pipelines]==0.8.2' sphinx-automodapi==0.19 sphinx-prompt==1.6.0
run: uv pip install --system -r doc/requirements.txt

- name: Build documentation
working-directory: ./doc
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ instance/

# Sphinx documentation
docs/_build/
doc/api

# PyBuilder
target/
Expand Down
1 change: 1 addition & 0 deletions doc/changes/DM-54006.misc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Bumped minimum Python version to 3.12. Dropped ``black`` and ``isort`` sections from ``pyproject.toml``. Switched docs action to use ``sphinxutils``.
20 changes: 3 additions & 17 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,8 @@
This configuration only affects single-package Sphinx documentation builds.
"""

from documenteer.conf.pipelinespkg import * # noqa: F403, import *
# ruff: noqa: F403, F405

project = "ctrl_bps"
html_theme_options["logotext"] = project # noqa: F405, unknown name
html_title = project
html_short_title = project
doxylink = {}
exclude_patterns = ["changes/*"]
from documenteer.conf.guide import *

# Try to pull in links for butler and pipe_base.
intersphinx_mapping["lsst"] = ("https://pipelines.lsst.io/v/daily/", None) # noqa
intersphinx_mapping["networkx"] = ("https://networkx.org/documentation/stable/", None) # noqa: F405

# As a temporary hack until we move to documenteer 2 delete scipy
# (since it no longer works)
try:
del intersphinx_mapping["scipy"] # noqa: F405
except KeyError:
pass
exclude_patterns.append("changes/*")
20 changes: 20 additions & 0 deletions doc/documenteer.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[project]
title = "lsst-ctrl-bps"

[project.python]
package = "lsst-ctrl-bps"

[build]
clean = true

[sphinx]
extensions = [
"sphinx_click"
]

[sphinx.intersphinx.projects]
astropy = "https://docs.astropy.org/en/stable"
python = "https://docs.python.org/3"
lsst = "https://pipelines.lsst.io/v/daily/"
click = "https://click.palletsprojects.com/en/stable"
networkx = "https://networkx.org/documentation/stable/"
3 changes: 3 additions & 0 deletions doc/lsst.ctrl.bps/quickstart.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
User Guide
==========

Overview
--------

Expand Down
3 changes: 3 additions & 0 deletions doc/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
documenteer[guide] > 2.0, <3.0
lsst-sphinxutils @ git+https://github.com/lsst/sphinxutils@main
sphinx-click
18 changes: 5 additions & 13 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "lsst-ctrl-bps"
requires-python = ">=3.11.0"
requires-python = ">=3.12.0"
description = "Pluggable execution of workflow graphs from Rubin pipelines."
license = "BSD-3-Clause OR GPL-3.0-or-later"
license-files = ["COPYRIGHT", "LICENSE", "bsd_license.txt", "gpl-v3.0.txt"]
Expand All @@ -16,7 +16,6 @@ classifiers = [
"Intended Audience :: Science/Research",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
Expand All @@ -38,8 +37,9 @@ dynamic = ["version"]

[project.urls]
"Homepage" = "https://github.com/lsst/ctrl_bps"
[project.optional-dependencies]
"Source" = "https://github.com/lsst/ctrl_bps"

[project.optional-dependencies]
test = [
"pytest >= 3.2",
"pytest-openfiles >= 0.5.0"
Expand Down Expand Up @@ -98,15 +98,6 @@ bps = "lsst.ctrl.bps.cli.bps:main"
name = "An API Removal or Deprecation"
showcontent = true

[tool.black]
line-length = 110
target-version = ["py311"]

[tool.isort]
profile = "black"
line_length = 110
known_first_party = ["lsst"]

[tool.lsst_versions]
write_to = "python/lsst/ctrl/bps/version.py"

Expand Down Expand Up @@ -134,7 +125,7 @@ exclude_lines = [

[tool.ruff]
line-length = 110
target-version = "py311"
target-version = "py312"
exclude = [
"__init__.py",
]
Expand Down Expand Up @@ -200,6 +191,7 @@ checks = [
"RT01", # Unfortunately our @property trigger this.
"RT02", # Does not want named return value. DM style says we do.
"SS05", # pydocstyle is better at finding infinitive verb.
"RT03", # Temporarily disable for sphinx empty returns.
]
exclude = [
'^test_.*', # Do not test docstrings in test code.
Expand Down
2 changes: 1 addition & 1 deletion python/lsst/ctrl/bps/bps_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ def get(self, key, default=""):
----------
key : `str`
Key to look for in config.
default : Any, optional
default : `~typing.Any`, optional
Default value to return if the key is not in the config.

Returns
Expand Down
6 changes: 3 additions & 3 deletions python/lsst/ctrl/bps/generic_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ def add_node(self, node_for_adding: GenericWorkflowNode, **attr: Any) -> None:
----------
node_for_adding : `lsst.ctrl.bps.GenericWorkflowJob`
Job to be added to generic workflow.
**attr
**attr : `~typing.Any`
Needed to match original networkx function, but not used.
"""
self.add_job(node_for_adding)
Expand Down Expand Up @@ -524,7 +524,7 @@ def add_edges_from(self, ebunch_to_add: Iterable[tuple[str, str]], **attr: Any)
ebunch_to_add : Iterable [`tuple` [`str`, `str`]]
Iterable of job name pairs between which a dependency should be
saved.
**attr : keyword arguments, optional
**attr : `~typing.Any`
Data can be assigned using keyword arguments (not currently used).
"""
for edge_to_add in ebunch_to_add:
Expand All @@ -539,7 +539,7 @@ def add_edge(self, u_of_edge: str, v_of_edge: str, **attr: Any) -> None:
Name of parent job.
v_of_edge : `str`
Name of child job.
**attr : keyword arguments, optional
**attr
Attributes to save with edge.
"""
if u_of_edge not in self:
Expand Down
Loading