VisionSystemsInc / VisionSystemsInc/vsi_common

Building sphinx docs with dependencies

Open
#348 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
8
Forks
9
Avg merge
36m
Merged PRs (30d)
1

Description

Currently, the sphinx plugin creates an environment where sphinx can be built without any extra setup.

However, some docs require extensions beyond what is included by default (such as celery).

A few ideas:

  1. (bad) just give a string of packages that can be installed in the container. Every single time the sphinx container is started, it will pip install these dependencies so that they are available
    • Pro: Easy to implement
    • Con: does not track version of dependencies at all, does not handle needing a different version of python
  2. (bad) Add sphinx as a "dev" package to the project, and mount the virtualenv into the sphinx container
    • Pro: Tracks version of sphinx and its dependencies, for consistent results
    • Con: Would not work. Not only would the venv folder have to be exactly the same path, but so would python, and python libraries in modern virtualenvs, as they are not copies in. Simlinks in the virtualenv would break, this would be extremely fragile if it was ever done this way.
  3. Add sphinx as a "dev" package to the project. Add some extra target to the sphinx plugin to support building "in a local virtual env" and "in a docker compose service" of the project's choosing. Only the "compile" step needs this. Taking compile docs to pdf (which is currently not support anyways I think?) could still be done in the sphix container, so that it could use installed dependencies that may eventually be added.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Sphinx plugin and its compile step, then inspect how the current container environment is created. Compare the proposed local-virtualenv and Docker Compose approaches, and define completion as building documentation with project-specific Sphinx extensions and dependencies.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.