nteract / papermill

📚 Parameterize, execute, and analyze notebooks
http://papermill.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
5.91k stars 425 forks source link

New Release #785

Closed blink1073 closed 5 months ago

blink1073 commented 6 months ago

Would it be possible to have a release with #748? We're still failing downstream tests in Jupyter projects.

MSeal commented 6 months ago

@blink1073 yes, I was out of town recently. But let me get the current two PRs merged and I can roll out a release.

matthewfeickert commented 5 months ago

This would also be helpful, as you currently can't install papermill with uv given that in v2.5.0 aiohttp was pinned to a pre-release (for Python 3.12)

https://github.com/nteract/papermill/blob/a9d2686d9510a6ac2adceadf7fc95ae7fc0ddc1d/requirements.txt#L9

$ docker run --rm -ti python:3.12 /bin/bash
root@124e91933572:/# python -m venv .venv && . .venv/bin/activate
(.venv) root@124e91933572:/# python -m pip --quiet install uv
(.venv) root@124e91933572:/# uv pip install 'papermill==2.5.0'
  × No solution found when resolving dependencies:
  ╰─▶ Because there is no version of aiohttp==3.9.0b0 and papermill==2.5.0 depends on aiohttp==3.9.0b0, we can conclude that papermill==2.5.0 cannot be used.
      And because you require papermill==2.5.0, we can conclude that the requirements are unsatisfiable.

      hint: aiohttp was requested with a pre-release marker (e.g., aiohttp==3.9.0b0), but pre-releases weren't enabled (try: `--prerelease=allow`)
(.venv) root@124e91933572:/#

c.f. https://github.com/astral-sh/uv/issues/2685 also

Now it has been updated in PR https://github.com/nteract/papermill/pull/771 to be pinned to a stable release

https://github.com/nteract/papermill/blob/9f668eeb3e62740ca6be4de1ed488cd3de7cfa46/requirements.txt#L9

so a new release should be installable.

Aside: Does aiohttp need to be pinned, instead of just having a lower bound? It isn't clear from a quick glance at PR https://github.com/nteract/papermill/pull/733 why this pin was added originally.

MSeal commented 5 months ago

It almost certainly doesn't need to be pinned -- there was an issue when 3.12 was new with aiohttp but I am guessing new versions shouldn't be as problematic. If someone has a moment to try that out and give a min version instead of a pin it would help, but I can take a look before making the release (other PRs are merged now, just trying to find an evening to focus on ensuring main is in a good state).

matthewfeickert commented 5 months ago

If someone has a moment to try that out and give a min version instead of a pin it would help, but I can take a look before making the release (other PRs are merged now, just trying to find an evening to focus on ensuring main is in a good state).

Done in PR https://github.com/nteract/papermill/pull/789

mbektas commented 5 months ago

@MSeal any ETA on the new release? I would be happy to help out.

matthewfeickert commented 5 months ago

I fully appreciate that when I do releases for our small library, that even just doing all the backports and checks before we cut a patch release can take multiple hours, and so making a papermill release could be a lot more work. Though if it would be possible to get a new papermill release in May, 2024 that would be great.

mbektas commented 5 months ago

v2.6.0 is released now!