Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DM-45803: Remove pipelines.lsst.io-related extensions and configuration #229

Merged
merged 20 commits into from
Aug 22, 2024

Conversation

jonathansick
Copy link
Member

Sphinx configurations and extensions specific to pipelines.lsst.io will move to
https://github.com/lsst-dm/sphinxutils This cleans up Documenteer so that sphinxutils will be able to build upon Documenteer. This will be part of a major release of Documenteer that breaks backwards compatibility by removing pipelines-related code.

This code will be migrated to https://github.com/lsst-dm/sphinxutils to
support pipelines.lsst.io builds.

This is only used for the pipelines doc build commands
These will be migrated to sphinxutils in
https://github.com/lsst-dm/sphinxutils to support pipelines.lsst.io
builds.
These extensions will be migrated to sphinxutils
(https://github.com/lsst-dm/sphinxutils) to directly support
pipelines.lsst.io builds where this extension is used.
These were only used by pipelines-related extensions, so we don't need
to support this module here.
Adds mypy configuration that requires typed definitions and adds typing
to code.

Note that some of the tests for extensions use some odd, maybe ancient
practices. I've disabled type checking those tests since adding types
isn't practical right now. I should probably re-do those tests with a
Sphinx project root and analyze the out HTML for correctness.
Originally from Gafaelfawr;
https://github.com/lsst-sqre/gafaelfawr/blob/main/docs/_templates/autosummary_core/pydantic_model.rst

This template ensures that we don't document inherited members from the
Pydantic BaseModel.

We benefit from autodoc_pydantic in two ways. First, it provides a
better presentation of Pydantic models.

Second, in conjunction with the custom automodapi template, we can avoid
a lot of API linking errors by omitting the base methods from BaseModel
in the API docs for a model.
These nitpick ignore rules come up in a lot of SQuaRE projects in order
to avoid API referenincing issues to Pydantic, FastAPI, and similar docs
that don't publish intersphinx inventories.
This should make the template available to all user guide projects by
default. In doing so, we're adding autodoc_pydantic as a default
dependency for all Rubin user guide projects.
This ensures that existing API docs are cleaned up, which solves issues
when refactoring the codebase.
This template is originally from Gafaelfawr. It ensures that exception
definitions show inheritance in their class documentation.

https://github.com/lsst-sqre/gafaelfawr/blob/main/docs/_templates/autosummary_core/exception.rst
This adds the ruff configuration, which is based on SQuaRE's common
ruff-shared.toml file in https://github.com/lsst/templates.
- Drop the neophile update workflow, since we'll just apply these
  changes whenever we work on Documenteer.
- Use the PYTHON_VERSION environment variable pattern to dry out setting
  the default Python version for a workflow.
The Sphinx path class is now deprecated.
@jonathansick jonathansick merged commit 66c6dba into main Aug 22, 2024
16 checks passed
@jonathansick jonathansick deleted the tickets/DM-45803 branch August 22, 2024 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant