VisionSystemsInc / VisionSystemsInc/vsi_common
Building sphinx docs with dependencies
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:
- (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
- (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.
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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