executablebooks / MyST-NB

Parse and execute ipynb files in Sphinx
https://myst-nb.readthedocs.io
BSD 3-Clause "New" or "Revised" License
202 stars 81 forks source link

Bump version MyST-parser // Sphinx >= 6 #493

Open miili opened 1 year ago

miili commented 1 year ago

Describe the bug

It is time to upgrade to Sphinx >= 6. 👋🏻

Reproduce the bug

Add conflicting project dependencies 💥

[project.optional-dependencies]
docs = [
  "myst-nb>=0.17.1",
  "sphinx>=6.1.3", # <-- Banger
  "semver>=3.0.0",
  "furo>=2023.3.27",
  "sphinx-copybutton>=0.5.1",
  "sphinx-design>=0.4.1",
]

List your environment

No response

welcome[bot] commented 1 year ago

Thanks for opening your first issue here! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out EBP's Code of Conduct. Also, please try to follow the issue template as it helps other community members to contribute more effectively.
If your issue is a feature request, others may react to it, to raise its prominence (see Feature Voting).
Welcome to the EBP community! :tada:

tupui commented 1 year ago

Hi folks 👋 Are there any reasons for the upper pins in the dependencies? We recently added this package to SciPy's doc and it's limiting us.

tupui commented 1 year ago

And Sphinx 7 is just out.

rossbar commented 1 year ago

Hi folks wave Are there any reasons for the upper pins in the dependencies? We recently added this package to SciPy's doc and it's limiting us.

I'd like to second this - NetworkX would like to adopt myst-nb into our main docs - see networkx/networkx#5221 (we already use myst-nb extensively in nx-guides). The primary issue we're running into is related to the upper bound pins. FWIW I've tested the NX doc builds locally with both sphinx 6 and sphinx 7 with myst-nb 0.17.2 and had no problems, so at least for this single case the pins are overly conservative.

I know this has been discussed elsewhere in the past (maybe in the executablebooks/meta repo?) and I also realize a local test from a single downstream consumer is not something that should dictate policy :upside_down_face:. I just want to provide another data point!

LecrisUT commented 1 year ago

:+1: instead of having upper pins in the pyproject.toml, just run CIs on all major releases, then pin the version when errors are detected. Especially as dependabot PRs are not being merged or addressed. At the very least, if you are going to pin the requirements in the dependencies, have a CI for testing newer releases as experimental tests.

The pinning in the [testing] dependencies is just hell to detangle

mforbes commented 1 year ago

I have been having similar issues. I recommend reading Henry Schreiner's post about why upper-bound version constraints should be used very sparingly, and only when really needed.

tupui commented 1 year ago

@chrisjsewell do you have time to have a look into this issue? Seems like a few folks are blocked.

LecrisUT commented 1 year ago

See https://github.com/executablebooks/MyST-NB/pull/479#issuecomment-1589663247. I think another maintainer is needed @choldgraf, @Yoshanuikabundi, @aleivag have done some work detangling and addressing the tests. It would be great if their PRs can get merged, then #524 would address that issue together with #479.

OriolAbril commented 2 months ago

This can be closed now