Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support triggering a graceful shutdown from within the worker process #88

Merged
merged 1 commit into from
Jan 26, 2024

Conversation

mmerickel
Copy link
Member

fixes #86

@mmerickel mmerickel merged commit 6f69a98 into main Jan 26, 2024
31 checks passed
@mmerickel mmerickel deleted the graceful-shutdown branch January 26, 2024 09:02
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jan 28, 2024
1.12.1 (2024-01-26)

- Add support for Python 3.12.

- Fix a blocking issue when shutting down on Windows.

- Fix a race condition closing pipes when restarting the worker process.
  See Pylons/hupper#83

- Fix issues with watchman when the server shuts down unexpectedly and when
  subscriptions are canceled.

- Add ``hupper.get_reloader().graceful_shutdown()`` which can be used within
  your own app to trigger a full shutdown of the worker as well as the
  monitoring.
  See Pylons/hupper#88
lengau referenced this pull request in canonical/snapcraft Mar 29, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [MarkupSafe](https://palletsprojects.com/p/markupsafe/)
([changelog](https://markupsafe.palletsprojects.com/changes/)) |
`==2.1.3` -> `==2.1.5` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/MarkupSafe/2.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/MarkupSafe/2.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/MarkupSafe/2.1.3/2.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/MarkupSafe/2.1.3/2.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [alabaster](https://togithub.com/sphinx-doc/alabaster)
([changelog](https://alabaster.readthedocs.io/en/latest/changelog.html))
| `==0.7.13` -> `==0.7.16` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/alabaster/0.7.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/alabaster/0.7.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/alabaster/0.7.13/0.7.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/alabaster/0.7.13/0.7.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [cachetools](https://togithub.com/tkem/cachetools) | `==5.3.2` ->
`==5.3.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/cachetools/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/cachetools/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/cachetools/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/cachetools/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [coverage](https://togithub.com/nedbat/coveragepy) | `==7.4.0` ->
`==7.4.4` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/coverage/7.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/coverage/7.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/coverage/7.4.0/7.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/coverage/7.4.0/7.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [cryptography](https://togithub.com/pyca/cryptography)
([changelog](https://cryptography.io/en/latest/changelog/)) | `==42.0.4`
-> `==42.0.5` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/cryptography/42.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/cryptography/42.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/cryptography/42.0.4/42.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/cryptography/42.0.4/42.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [dill](https://togithub.com/uqfoundation/dill) | `==0.3.7` ->
`==0.3.8` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/dill/0.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/dill/0.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/dill/0.3.7/0.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/dill/0.3.7/0.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [filelock](https://togithub.com/tox-dev/py-filelock) | `==3.13.1` ->
`==3.13.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/filelock/3.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/filelock/3.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/filelock/3.13.1/3.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/filelock/3.13.1/3.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [hupper](https://togithub.com/Pylons/hupper)
([changelog](https://docs.pylonsproject.org/projects/hupper/en/latest/changes.html))
| `==1.12` -> `==1.12.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hupper/1.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/hupper/1.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/hupper/1.12/1.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hupper/1.12/1.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [jaraco.classes](https://togithub.com/jaraco/jaraco.classes) |
`==3.3.0` -> `==3.3.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/jaraco.classes/3.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/jaraco.classes/3.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/jaraco.classes/3.3.0/3.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/jaraco.classes/3.3.0/3.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [keyring](https://togithub.com/jaraco/keyring) | `==24.3.0` ->
`==24.3.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/keyring/24.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/keyring/24.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/keyring/24.3.0/24.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/keyring/24.3.0/24.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [lazr.restfulclient](https://launchpad.net/lazr.restfulclient)
([source](https://code.launchpad.net/lazr.restfulclient)) | `==0.14.5`
-> `==0.14.6` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/lazr.restfulclient/0.14.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/lazr.restfulclient/0.14.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/lazr.restfulclient/0.14.5/0.14.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/lazr.restfulclient/0.14.5/0.14.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [psutil](https://togithub.com/giampaolo/psutil) | `==5.9.7` ->
`==5.9.8` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/psutil/5.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/psutil/5.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/psutil/5.9.7/5.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/psutil/5.9.7/5.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [psutil](https://togithub.com/giampaolo/psutil) | `==5.9.6` ->
`==5.9.8` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/psutil/5.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/psutil/5.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/psutil/5.9.6/5.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/psutil/5.9.6/5.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pydantic](https://togithub.com/pydantic/pydantic)
([changelog](https://docs.pydantic.dev/latest/changelog/)) | `==1.10.13`
-> `==1.10.14` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/1.10.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/1.10.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/1.10.13/1.10.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/1.10.13/1.10.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pyinstaller](https://www.pyinstaller.org/)
([source](https://togithub.com/pyinstaller/pyinstaller)) | `==5.13.1` ->
`==5.13.2` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pyinstaller/5.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pyinstaller/5.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pyinstaller/5.13.1/5.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pyinstaller/5.13.1/5.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pylxd](https://ubuntu.com/lxd) | `==2.3.1` -> `==2.3.2` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pylxd/2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pylxd/2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pylxd/2.3.1/2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pylxd/2.3.1/2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| pyparsing | `==3.1.1` -> `==3.1.2` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pyparsing/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pyparsing/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pyparsing/3.1.1/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pyparsing/3.1.1/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pyright](https://togithub.com/RobertCraigie/pyright-python) |
`==1.1.350` -> `==1.1.355` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pyright/1.1.355?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pyright/1.1.355?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pyright/1.1.350/1.1.355?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pyright/1.1.350/1.1.355?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [tomlkit](https://togithub.com/sdispater/tomlkit) | `==0.12.3` ->
`==0.12.4` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/tomlkit/0.12.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/tomlkit/0.12.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/tomlkit/0.12.3/0.12.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/tomlkit/0.12.3/0.12.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [virtualenv](https://togithub.com/pypa/virtualenv) | `==20.25.0` ->
`==20.25.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/virtualenv/20.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/virtualenv/20.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/virtualenv/20.25.0/20.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/virtualenv/20.25.0/20.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>sphinx-doc/alabaster (alabaster)</summary>

###
[`v0.7.16`](https://togithub.com/sphinx-doc/alabaster/releases/tag/0.7.16):
Alabaster 0.7.16

[Compare
Source](https://togithub.com/sphinx-doc/alabaster/compare/0.7.15...0.7.16)

Changelog: https://alabaster.readthedocs.io/en/latest/changelog.html

###
[`v0.7.15`](https://togithub.com/sphinx-doc/alabaster/releases/tag/0.7.15):
Alabaster 0.7.15

[Compare
Source](https://togithub.com/sphinx-doc/alabaster/compare/0.7.14...0.7.15)

Changelog: https://alabaster.readthedocs.io/en/latest/changelog.html

###
[`v0.7.14`](https://togithub.com/sphinx-doc/alabaster/releases/tag/0.7.14):
Alabaster 0.7.14

[Compare
Source](https://togithub.com/sphinx-doc/alabaster/compare/0.7.13...0.7.14)

Changelog: https://alabaster.readthedocs.io/en/latest/changelog.html

</details>

<details>
<summary>tkem/cachetools (cachetools)</summary>

###
[`v5.3.3`](https://togithub.com/tkem/cachetools/blob/HEAD/CHANGELOG.rst#v533-2024-02-26)

[Compare
Source](https://togithub.com/tkem/cachetools/compare/v5.3.2...v5.3.3)

\===================

-   Documentation improvements.

-   Update CI environment.

</details>

<details>
<summary>nedbat/coveragepy (coverage)</summary>

###
[`v7.4.4`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-744--2024-03-14)

[Compare
Source](https://togithub.com/nedbat/coveragepy/compare/7.4.3...7.4.4)

- Fix: in some cases, even with `[run] relative_files=True`, a data file
could be created with absolute path names. When combined with other
relative
data files, it was random whether the absolute file names would be made
relative or not. If they weren't, then a file would be listed twice in
reports, as detailed in `issue 1752`\_. This is now fixed: absolute file
names are always made relative when combining. Thanks to Bruno Rodrigues
dos
    Santos for support.

- Fix: the last case of a match/case statement had an incorrect message
if the
branch was missed. It said the pattern never matched, when actually the
    branch is missed if the last case always matched.

- Fix: clicking a line number in the HTML report now positions more
accurately.

- Fix: the `report:format` setting was defined as a boolean, but should
be a
string. Thanks, `Tanaydin Sirin <pull 1754_>`\_. It is also now
documented
    on the :ref:`configuration page <config_report_format>`.

.. \_issue
1752:[https://github.com/nedbat/coveragepy/issues/1752](https://togithub.com/nedbat/coveragepy/issues/1752)2
.. \_pull
1754[https://github.com/nedbat/coveragepy/pull/1754](https://togithub.com/nedbat/coveragepy/pull/1754)54

.. \_changes\_7-4-3:

###
[`v7.4.3`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-743--2024-02-23)

[Compare
Source](https://togithub.com/nedbat/coveragepy/compare/7.4.2...7.4.3)

- Fix: in some cases, coverage could fail with a RuntimeError: "Set
changed
    size during iteration." This is now fixed, closing `issue 1733`\_.

.. \_issue
1733:[https://github.com/nedbat/coveragepy/issues/1733](https://togithub.com/nedbat/coveragepy/issues/1733)3

.. \_changes\_7-4-2:

###
[`v7.4.2`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-742--2024-02-20)

[Compare
Source](https://togithub.com/nedbat/coveragepy/compare/7.4.1...7.4.2)

- Fix: setting `COVERAGE_CORE=sysmon` no longer errors on 3.11 and
lower,
thanks `Hugo van Kemenade <pull 1747_>`\_. It now issues a warning that
sys.monitoring is not available and falls back to the default core
instead.

.. \_pull
1747:[https://github.com/nedbat/coveragepy/pull/1747](https://togithub.com/nedbat/coveragepy/pull/1747)7

.. \_changes\_7-4-1:

###
[`v7.4.1`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-741--2024-01-26)

[Compare
Source](https://togithub.com/nedbat/coveragepy/compare/7.4.0...7.4.1)

-   Python 3.13.0a3 is supported.

- Fix: the JSON report now includes an explicit format version number,
closing
    `issue 1732`\_.

.. \_issue
1732:[https://github.com/nedbat/coveragepy/issues/1732](https://togithub.com/nedbat/coveragepy/issues/1732)2

.. \_changes\_7-4-0:

</details>

<details>
<summary>pyca/cryptography (cryptography)</summary>

###
[`v42.0.5`](https://togithub.com/pyca/cryptography/compare/42.0.4...42.0.5)

[Compare
Source](https://togithub.com/pyca/cryptography/compare/42.0.4...42.0.5)

</details>

<details>
<summary>uqfoundation/dill (dill)</summary>

###
[`v0.3.8`](https://togithub.com/uqfoundation/dill/releases/tag/0.3.8)

[Compare
Source](https://togithub.com/uqfoundation/dill/compare/dill-0.3.7...0.3.8)

### 0.3.8 Release Notes

With `dill`, you can serialize almost anything in python, even an entire
interpreter session. If you encounter any pickling failures, `dill` also
has some good tools to help you discover why your object fails to
pickle.

`dill` installs with `pip`:
`$ pip install dill`

`dill` requires:
`- python or pypy, >=3.8`

Optional requirements:
`- pyreadline, >=1.7.1` (install with `$ pip install dill[readline]`)
`- objgraph, >=1.7.2` (install with `$ pip install dill[graph]`)

`dill` is licensed under 3-clause BSD:

    >>> import dill
    >>> print (dill.license())

To cite `dill`:

    >>> import dill
    >>> print (dill.citation())

#### What's Changed

- test for qualname in get_typedef_type by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/613](https://togithub.com/uqfoundation/dill/pull/613)
- drop formal support for python 3.7 by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/614](https://togithub.com/uqfoundation/dill/pull/614)
- define html_theme as rtd workaround by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/615](https://togithub.com/uqfoundation/dill/pull/615)
- update install doc in tests by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/621](https://togithub.com/uqfoundation/dill/pull/621)
- formal support for 3.12, initial support for 3.13 by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/630](https://togithub.com/uqfoundation/dill/pull/630)
- add build to rtfd config by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/632](https://togithub.com/uqfoundation/dill/pull/632)
- add guard for math.log in Logger record size calculation by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/637](https://togithub.com/uqfoundation/dill/pull/637)
- updated copyright for 2024 by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/638](https://togithub.com/uqfoundation/dill/pull/638)
- Bump jinja2 from 3.1.1 to 3.1.3 in /docs by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/uqfoundation/dill/pull/640](https://togithub.com/uqfoundation/dill/pull/640)
- Import submodule properly when there is an attribute of the module
with the same name by
[@&#8203;kelvinburke](https://togithub.com/kelvinburke) in
[https://github.com/uqfoundation/dill/pull/629](https://togithub.com/uqfoundation/dill/pull/629)
- update sphinx to 6.2.1 by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/641](https://togithub.com/uqfoundation/dill/pull/641)
- Bump readthedocs-sphinx-search from 0.3.1 to 0.3.2 in /docs by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/uqfoundation/dill/pull/642](https://togithub.com/uqfoundation/dill/pull/642)
- skip BufferedRandomType on pyodide by
[@&#8203;mmckerns](https://togithub.com/mmckerns) in
[https://github.com/uqfoundation/dill/pull/644](https://togithub.com/uqfoundation/dill/pull/644)

#### New Contributors

- [@&#8203;kelvinburke](https://togithub.com/kelvinburke) made their
first contribution in
[https://github.com/uqfoundation/dill/pull/629](https://togithub.com/uqfoundation/dill/pull/629)

**Full Changelog**:
uqfoundation/dill@dill-0.3.7...0.3.8

</details>

<details>
<summary>tox-dev/py-filelock (filelock)</summary>

###
[`v3.13.3`](https://togithub.com/tox-dev/filelock/releases/tag/3.13.3)

[Compare
Source](https://togithub.com/tox-dev/py-filelock/compare/3.13.2...3.13.3)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

- Make singleton class instance dict unique per subclass by
[@&#8203;nefrob](https://togithub.com/nefrob) in
[https://github.com/tox-dev/filelock/pull/318](https://togithub.com/tox-dev/filelock/pull/318)

**Full Changelog**:
tox-dev/filelock@3.13.2...3.13.3

###
[`v3.13.2`](https://togithub.com/tox-dev/filelock/releases/tag/3.13.2)

[Compare
Source](https://togithub.com/tox-dev/py-filelock/compare/3.13.1...3.13.2)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

- Fixed small typo in \_unix.py by
[@&#8203;snemes](https://togithub.com/snemes) in
[https://github.com/tox-dev/filelock/pull/302](https://togithub.com/tox-dev/filelock/pull/302)
- Update SECURITY.md to reflect Python 3.7 support dropoff by
[@&#8203;kemzeb](https://togithub.com/kemzeb) in
[https://github.com/tox-dev/filelock/pull/304](https://togithub.com/tox-dev/filelock/pull/304)
- Update index.rst to improve the demo usage by
[@&#8203;youkaichao](https://togithub.com/youkaichao) in
[https://github.com/tox-dev/filelock/pull/314](https://togithub.com/tox-dev/filelock/pull/314)
- \[BugFix] fix permission denied error when lock file is placed in
`/tmp` by [@&#8203;kota-iizuka](https://togithub.com/kota-iizuka) in
[https://github.com/tox-dev/filelock/pull/317](https://togithub.com/tox-dev/filelock/pull/317)

#### New Contributors

- [@&#8203;snemes](https://togithub.com/snemes) made their first
contribution in
[https://github.com/tox-dev/filelock/pull/302](https://togithub.com/tox-dev/filelock/pull/302)
- [@&#8203;kemzeb](https://togithub.com/kemzeb) made their first
contribution in
[https://github.com/tox-dev/filelock/pull/304](https://togithub.com/tox-dev/filelock/pull/304)
- [@&#8203;youkaichao](https://togithub.com/youkaichao) made their first
contribution in
[https://github.com/tox-dev/filelock/pull/314](https://togithub.com/tox-dev/filelock/pull/314)
- [@&#8203;kota-iizuka](https://togithub.com/kota-iizuka) made their
first contribution in
[https://github.com/tox-dev/filelock/pull/317](https://togithub.com/tox-dev/filelock/pull/317)

**Full Changelog**:
tox-dev/filelock@3.13.1...3.13.2

</details>

<details>
<summary>Pylons/hupper (hupper)</summary>

###
[`v1.12.1`](https://togithub.com/Pylons/hupper/blob/HEAD/CHANGES.rst#1121-2024-01-26)

[Compare
Source](https://togithub.com/Pylons/hupper/compare/1.12...1.12.1)

\===================

-   Add support for Python 3.12.

-   Fix a blocking issue when shutting down on Windows.

- Fix a race condition closing pipes when restarting the worker process.

[https://github.com/Pylons/hupper/pull/83](https://togithub.com/Pylons/hupper/pull/83)l/83

- Fix issues with watchman when the server shuts down unexpectedly and
when
    subscriptions are canceled.

- Add `hupper.get_reloader().graceful_shutdown()` which can be used
within
    your own app to trigger a full shutdown of the worker as well as the

monitori[https://github.com/Pylons/hupper/pull/88](https://togithub.com/Pylons/hupper/pull/88)pper/pull/88

</details>

<details>
<summary>jaraco/jaraco.classes (jaraco.classes)</summary>

###
[`v3.3.1`](https://togithub.com/jaraco/jaraco.classes/compare/v3.3.0...v3.3.1)

[Compare
Source](https://togithub.com/jaraco/jaraco.classes/compare/v3.3.0...v3.3.1)

</details>

<details>
<summary>jaraco/keyring (keyring)</summary>

###
[`v24.3.1`](https://togithub.com/jaraco/keyring/compare/v24.3.0...v24.3.1)

[Compare
Source](https://togithub.com/jaraco/keyring/compare/v24.3.0...v24.3.1)

</details>

<details>
<summary>giampaolo/psutil (psutil)</summary>

###
[`v5.9.8`](https://togithub.com/giampaolo/psutil/blob/HEAD/HISTORY.rst#598)

[Compare
Source](https://togithub.com/giampaolo/psutil/compare/release-5.9.7...release-5.9.8)

\=====

2024-01-19

**Enhancements**

- 2343\_, \[FreeBSD]: filter `net_connections()`\_ returned list in C
instead of
Python, and avoid to retrieve unnecessary connection types unless
explicitly
asked. E.g., on an IDLE system with few IPv6 connections this will run
around
4 times faster. Before all connection types (TCP, UDP, UNIX) were
retrieved
    internally, even if only a portion was returned.
- 2342\_, \[NetBSD]: same as above
([#&#8203;2343](https://togithub.com/giampaolo/psutil/issues/2343)) but
for NetBSD.
-   2349\_: adopted black formatting style.

**Bug fixes**

- 930\_, \[NetBSD], \[critical]: `net_connections()`\_ implementation
was broken.
    It could either leak memory or core dump.
- 2340\_, \[NetBSD]: if process is terminated, `Process.cwd()`\_ will
return an
    empty string instead of raising `NoSuchProcess`\_.
- 2345\_, \[Linux]: fix compilation on older compiler missing
DUPLEX_UNKNOWN.
- 2222\_, \[macOS]: `cpu_freq()` now returns fixed values for `min` and
`max`
    frequencies in all Apple Silicon chips.

</details>

<details>
<summary>pydantic/pydantic (pydantic)</summary>

###
[`v1.10.14`](https://togithub.com/pydantic/pydantic/releases/tag/v1.10.14):
2024-01-19

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v1.10.13...v1.10.14)

#### What's Changed

- Update install.md by [@&#8203;dmontagu](https://togithub.com/dmontagu)
in
[https://github.com/pydantic/pydantic/pull/7690](https://togithub.com/pydantic/pydantic/pull/7690)
- Fix ci to only deploy docs on release by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[https://github.com/pydantic/pydantic/pull/7740](https://togithub.com/pydantic/pydantic/pull/7740)
- Ubuntu fixes for V1 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[https://github.com/pydantic/pydantic/pull/8540](https://togithub.com/pydantic/pydantic/pull/8540)
and
[https://github.com/pydantic/pydantic/pull/8587](https://togithub.com/pydantic/pydantic/pull/8587)
- Fix `cached_property` handling in dataclasses when copied by
[@&#8203;rdbisme](https://togithub.com/rdbisme) in
[https://github.com/pydantic/pydantic/pull/8407](https://togithub.com/pydantic/pydantic/pull/8407)

#### New Contributors

- [@&#8203;rdbisme](https://togithub.com/rdbisme) made their first
contribution in
[https://github.com/pydantic/pydantic/pull/8407](https://togithub.com/pydantic/pydantic/pull/8407)

**Full Changelog**:
pydantic/pydantic@v1.10.13...v1.10.14

</details>

<details>
<summary>pyinstaller/pyinstaller (pyinstaller)</summary>

###
[`v5.13.2`](https://togithub.com/pyinstaller/pyinstaller/releases/tag/v5.13.2)

[Compare
Source](https://togithub.com/pyinstaller/pyinstaller/compare/v5.13.1...v5.13.2)

Please see the [v5.13.2 section of the
changelog](https://pyinstaller.org/en/v5.13.2/CHANGES.html#id1) for a
list of the changes since v5.13.1.

</details>

<details>
<summary>RobertCraigie/pyright-python (pyright)</summary>

###
[`v1.1.355`](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.354...v1.1.355)

[Compare
Source](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.354...v1.1.355)

###
[`v1.1.354`](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.353...v1.1.354)

[Compare
Source](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.353...v1.1.354)

###
[`v1.1.353`](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.352...v1.1.353)

[Compare
Source](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.352...v1.1.353)

###
[`v1.1.352`](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.351...v1.1.352)

[Compare
Source](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.351...v1.1.352)

###
[`v1.1.351`](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.350...v1.1.351)

[Compare
Source](https://togithub.com/RobertCraigie/pyright-python/compare/v1.1.350...v1.1.351)

</details>

<details>
<summary>sdispater/tomlkit (tomlkit)</summary>

###
[`v0.12.4`](https://togithub.com/sdispater/tomlkit/blob/HEAD/CHANGELOG.md#0124---2024-02-27)

[Compare
Source](https://togithub.com/sdispater/tomlkit/compare/0.12.3...0.12.4)

##### Fixed

- Support `|` and `|=` operator for tables, and support `+` and `+=`
operator for arrays.
([#&#8203;331](https://togithub.com/sdispater/tomlkit/issues/331))
- Fix an index error when setting dotted keys in a table.
([#&#8203;332](https://togithub.com/sdispater/tomlkit/issues/332))

</details>

<details>
<summary>pypa/virtualenv (virtualenv)</summary>

###
[`v20.25.1`](https://togithub.com/pypa/virtualenv/compare/20.25.0...20.25.1)

[Compare
Source](https://togithub.com/pypa/virtualenv/compare/20.25.0...20.25.1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC,
Automerge - "every weekend" in timezone Etc/UTC.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/canonical/snapcraft).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Signed-off-by: Callahan Kovacs <callahan.kovacs@canonical.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Callahan Kovacs <callahan.kovacs@canonical.com>
bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this pull request May 29, 2024
https://build.opensuse.org/request/show/1177531
by user dgarcia + anag+factory
- Update to 1.2.1:
  - Add support for Python 3.12.
  - Fix a blocking issue when shutting down on Windows.
  - Fix a race condition closing pipes when restarting the worker
    process. See Pylons/hupper#83
  - Fix issues with watchman when the server shuts down unexpectedly
    and when subscriptions are canceled.
  - Add hupper.get_reloader().graceful_shutdown() which can be used
    within your own app to trigger a full shutdown of the worker as
    well as the monitoring. See
    Pylons/hupper#88
1.12:
  - When the reloader is stopped, exit with the same code received
    from the subprocess. See Pylons/hupper#81
1.11:
  - Drop support for Python 2.7, 3.4, 3.5, and 3.6.
  - Add support/testing for Python 3.10, and
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider allowing the child process to exit the parent process
1 participant