Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Consider updating to a newer Sphinx and relaxing the constraints

Open
#1,027 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
build-system

Research direction

Start by reviewing requirements.txt and setup.py, then compare the current dependency constraints with the Sphinx interface changes described in the issue. Check whether pyproject.toml is present and how dependencies are currently declared. Done means newer Sphinx versions are supported, constraints are intentionally relaxed, and the package metadata expresses the required dependencies consistently.

Written by the indexing model from the issue text.

Description

Hi! It'd seem that sphinx.setup_command doesn't exist since 7.0:

In Nixpkgs, since opensfm's requirements.txt pin its dependencies to the patch versions (e.g. Sphinx==4.2.0), we've been just shipping opensfm with relaxed constraints, effectively dismissing the requirements.txt. Right now have to patch opensfm's setup.py ad hoc, so as to account for Sphinx's interface changes.

It'd seem however, there shouldn't be any particular reason for opensfm to keep sticking to the old version? Would it also be possible to consider pinning major or minor versions of the dependencies instead? Additionally, if these were pinned via the project.dependencies in pyproject.toml (cf. https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html), the pep-517 frontends would automatically verify these constraints. Setuptools would also export all of that information in the .dist-info, which might be useful for other projects

Thanks!

Dominant language
Python
Stars
3.8k
Forks
898
PR merge metrics
No merged PRs in 30d

Getting set up

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.

More from mapillary/OpenSfM

All issues in mapillary/OpenSfM

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.