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

bpo-43723: deprecate camelCase aliases from threading #25174

Merged
merged 7 commits into from
Apr 12, 2021

Conversation

JelleZijlstra
Copy link
Member

@JelleZijlstra JelleZijlstra commented Apr 4, 2021

The snake_case names have existed since Python 2.6, so there is
no reason to keep the old camelCase names around. One similar
method, threading.Thread.isAlive, was already removed in
Python 3.9 (bpo-37804).

https://bugs.python.org/issue43723

The snake_case names have existed since Python 2.6, so there is
no reason to keep the old camelCase names around. One similar
method, threading.Thread.isAlive, was already removed in
Python 3.9 (bpo-37804).
Lib/threading.py Outdated Show resolved Hide resolved
Lib/threading.py Outdated Show resolved Hide resolved
Doc/library/threading.rst Outdated Show resolved Hide resolved
Doc/library/threading.rst Outdated Show resolved Hide resolved
Doc/library/threading.rst Outdated Show resolved Hide resolved
Doc/library/threading.rst Outdated Show resolved Hide resolved
Doc/library/threading.rst Outdated Show resolved Hide resolved
Doc/whatsnew/3.10.rst Outdated Show resolved Hide resolved
Comment on lines 1 to 10
The following `threading` methods are now deprecated and should be replaced:
`threading.currentThread` => :func:`threading.current_thread`;
`threading.activeCount` => :func:`threading.active_count`;
`threading.Condition.notifyAll` => :meth:`threading.Condition.notify_all`;
`threading.Event.isSet` => :meth:`threading.Event.is_set`;
`threading.Thread.setName` => :attr:`threading.Thread.name`;
`threading.thread.getName` => :attr:`threading.Thread.name`;
`threading.Thread.isDaemon` => :attr:`threading.Thread.daemon`;
`threading.Thread.setDaemon` => :attr:`threading.Thread.daemon`.
Patch by Jelle Zijlstra.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The following `threading` methods are now deprecated and should be replaced:
`threading.currentThread` => :func:`threading.current_thread`;
`threading.activeCount` => :func:`threading.active_count`;
`threading.Condition.notifyAll` => :meth:`threading.Condition.notify_all`;
`threading.Event.isSet` => :meth:`threading.Event.is_set`;
`threading.Thread.setName` => :attr:`threading.Thread.name`;
`threading.thread.getName` => :attr:`threading.Thread.name`;
`threading.Thread.isDaemon` => :attr:`threading.Thread.daemon`;
`threading.Thread.setDaemon` => :attr:`threading.Thread.daemon`.
Patch by Jelle Zijlstra.
The following `threading` methods are now deprecated and should be replaced:
* `threading.currentThread` => :func:`threading.current_thread`;
* `threading.activeCount` => :func:`threading.active_count`;
* `threading.Condition.notifyAll` => :meth:`threading.Condition.notify_all`;
* `threading.Event.isSet` => :meth:`threading.Event.is_set`;
* `threading.Thread.setName` => :attr:`threading.Thread.name`;
* `threading.thread.getName` => :attr:`threading.Thread.name`;
* `threading.Thread.isDaemon` => :attr:`threading.Thread.daemon`;
* `threading.Thread.setDaemon` => :attr:`threading.Thread.daemon`.
Patch by Jelle Zijlstra.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to do it a little differently to get the markup working and work around python/core-workflow#394.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to do it a little differently to get the markup working and work around python/core-workflow#394.

If you put each item on a long line, you should not be affected by https://github.com/python/core-workflow/issues/394 no?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

blurb reflows the lines to make them fit into 76 characters, so I have to make each line fit into 76 characters to avoid the bug.

Doc/library/threading.rst Show resolved Hide resolved
Doc/library/threading.rst Show resolved Hide resolved
* The following ``threading`` methods are now deprecated:

* ``threading.currentThread`` => :func:`threading.current_thread`

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't work without these empty lines?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's right, they all get mushed together into a single line

methods and functions in this module in the Python 2.x series are still
supported by this module.
supported by this module for compatibility with Python 2.5 and lower.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer to say "deprecated" somewhere, rather than "still supported".

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reworded

@vstinner vstinner merged commit 9825bdf into python:master Apr 12, 2021
@vstinner
Copy link
Member

Thank you @JelleZijlstra for all updates. The final merged change provides very good explanation on the rationale and also great guidance to fix affected. It's really important to provide good guidance on deprecations, to make developers' life easier.

terryjreedy added a commit to terryjreedy/cpython that referenced this pull request Apr 16, 2021
terryjreedy added a commit that referenced this pull request Apr 16, 2021
Change threading.activeCount to synonym threading.active_count.
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Apr 16, 2021
Change threading.activeCount to synonym threading.active_count.
(cherry picked from commit 56c76df)

Co-authored-by: Terry Jan Reedy <[email protected]>
terryjreedy added a commit to terryjreedy/cpython that referenced this pull request Apr 16, 2021
@terryjreedy
Copy link
Member

That should have been 'backport', not 'revert' in the titles above. Fixed for 3.8 backport. Sorry for any confusion.

terryjreedy added a commit that referenced this pull request Apr 16, 2021
@vstinner
Copy link
Member

Thanks for backports @terryjreedy ;-)

Joilence added a commit to Joilence/Kaleido that referenced this pull request Sep 16, 2022
setDaemon() has been deprecated in favor of setting daemon attribute directly in Python 3.10. 

See: python/cpython#25174
alexcjohnson pushed a commit to plotly/Kaleido that referenced this pull request Sep 23, 2022
setDaemon() has been deprecated in favor of setting daemon attribute directly in Python 3.10. 

See: python/cpython#25174
linrock added a commit to linrock/nnue-pytorch that referenced this pull request Nov 25, 2022
easy_train.py:316: DeprecationWarning: setDaemon() is deprecated,
set the daemon attribute instead thread.setDaemon(True)

camelCase methods in threading were deprecated in:
python/cpython#25174
linrock added a commit to linrock/nnue-pytorch that referenced this pull request Nov 29, 2022
easy_train.py:316: DeprecationWarning: setDaemon() is deprecated,
set the daemon attribute instead thread.setDaemon(True)

camelCase methods in threading were deprecated in:
python/cpython#25174
rpurdie pushed a commit to yoctoproject/poky that referenced this pull request Jan 22, 2023
Deprecated in Python 3.10:
https://docs.python.org/3/whatsnew/3.10.html#deprecated
python/cpython#25174

Fixes warnings like:

...bitbake/lib/bb/ui/uievent.py:68: DeprecationWarning: setDaemon() is
deprecated, set the daemon attribute instead
  self.t.setDaemon(True)

(Bitbake rev: ea88be5cb39af86a5bc8a7d151ba65bd12df681f)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
halstead pushed a commit to openembedded/bitbake that referenced this pull request Jan 22, 2023
Deprecated in Python 3.10:
https://docs.python.org/3/whatsnew/3.10.html#deprecated
python/cpython#25174

Fixes warnings like:

...bitbake/lib/bb/ui/uievent.py:68: DeprecationWarning: setDaemon() is
deprecated, set the daemon attribute instead
  self.t.setDaemon(True)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
rpurdie pushed a commit to yoctoproject/poky that referenced this pull request Jan 23, 2023
Deprecated in Python 3.10:
https://docs.python.org/3/whatsnew/3.10.html#deprecated
python/cpython#25174

Fixes warnings like:

...bitbake/lib/bb/ui/uievent.py:68: DeprecationWarning: setDaemon() is
deprecated, set the daemon attribute instead
  self.t.setDaemon(True)

(Bitbake rev: ea88be5cb39af86a5bc8a7d151ba65bd12df681f)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
rpurdie pushed a commit to yoctoproject/poky that referenced this pull request Jan 23, 2023
Deprecated in Python 3.10:
https://docs.python.org/3/whatsnew/3.10.html#deprecated
python/cpython#25174

Fixes warnings like:

...bitbake/lib/bb/ui/uievent.py:68: DeprecationWarning: setDaemon() is
deprecated, set the daemon attribute instead
  self.t.setDaemon(True)

(Bitbake rev: ea88be5cb39af86a5bc8a7d151ba65bd12df681f)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
kraj pushed a commit to YoeDistro/poky that referenced this pull request Jan 24, 2023
Deprecated in Python 3.10:
https://docs.python.org/3/whatsnew/3.10.html#deprecated
python/cpython#25174

Fixes warnings like:

...bitbake/lib/bb/ui/uievent.py:68: DeprecationWarning: setDaemon() is
deprecated, set the daemon attribute instead
  self.t.setDaemon(True)

(Bitbake rev: 17e1b37974ab23a9210a264b0f48dc4812aa75af)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
rpurdie pushed a commit to yoctoproject/poky that referenced this pull request Jan 24, 2023
Deprecated in Python 3.10:
https://docs.python.org/3/whatsnew/3.10.html#deprecated
python/cpython#25174

Fixes warnings like:

...bitbake/lib/bb/ui/uievent.py:68: DeprecationWarning: setDaemon() is
deprecated, set the daemon attribute instead
  self.t.setDaemon(True)

(Bitbake rev: 323f6ce27a1bfd7159e72f29684674ff495dedee)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
halstead pushed a commit to openembedded/bitbake that referenced this pull request Jan 24, 2023
Deprecated in Python 3.10:
https://docs.python.org/3/whatsnew/3.10.html#deprecated
python/cpython#25174

Fixes warnings like:

...bitbake/lib/bb/ui/uievent.py:68: DeprecationWarning: setDaemon() is
deprecated, set the daemon attribute instead
  self.t.setDaemon(True)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
kraj pushed a commit to YoeDistro/poky that referenced this pull request Jan 25, 2023
Deprecated in Python 3.10:
https://docs.python.org/3/whatsnew/3.10.html#deprecated
python/cpython#25174

Fixes warnings like:

...bitbake/lib/bb/ui/uievent.py:68: DeprecationWarning: setDaemon() is
deprecated, set the daemon attribute instead
  self.t.setDaemon(True)

(Bitbake rev: 17e1b37974ab23a9210a264b0f48dc4812aa75af)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
evverx added a commit to evverx/scapy that referenced this pull request Mar 26, 2023
setDaemon was deprecated in python/cpython#25174

Fixes:
```
>>> test_tls_server("ECDHE-RSA-AES128-SHA", "-tls1")
Traceback (most recent call last):
  File "<input>", line 2, in <module>
  File "<input>", line 9, in test_tls_server
  File "/usr/lib64/python3.11/threading.py", line 1240, in setDaemon
    warnings.warn('setDaemon() is deprecated, set the daemon attribute instead',
DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
```
gpotter2 pushed a commit to secdev/scapy that referenced this pull request Mar 26, 2023
setDaemon was deprecated in python/cpython#25174

Fixes:
```
>>> test_tls_server("ECDHE-RSA-AES128-SHA", "-tls1")
Traceback (most recent call last):
  File "<input>", line 2, in <module>
  File "<input>", line 9, in test_tls_server
  File "/usr/lib64/python3.11/threading.py", line 1240, in setDaemon
    warnings.warn('setDaemon() is deprecated, set the daemon attribute instead',
DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
```
carlos-villavicencio-adsk added a commit to shotgunsoftware/tk-core that referenced this pull request Sep 25, 2023
- Support [deprecation](https://peps.python.org/pep-0632/) of distutils for setuptools > 60.
    - We can't switch to `packaging.version.parse` because many TK components depend of `distutils.version.LooseVersion`. To handle the distutils deprecation, we're switching to the bundled version living on setuptools >= 60. The deprecation warning is still there, so we're suppressing just this one.
- Re-enable commented tests
- Support [deprecation](python/cpython#25174) of `isSet()`
- Upgrade python-api v3.4.0
Bastian-Krause added a commit to Bastian-Krause/pyserial that referenced this pull request Jan 30, 2024
The threading camel case methods were deprecated in [1]. A previous
pyserial PR [2] fixed a bunch of these warnings, but missed a few.

Fix the remaining setName() DeprecationWarnings by using the
appropriate name attribute instead.

[1] python/cpython#25174
[2] pyserial#643

Signed-off-by: Bastian Krause <[email protected]>
daregit pushed a commit to daregit/yocto-combined that referenced this pull request May 22, 2024
Deprecated in Python 3.10:
https://docs.python.org/3/whatsnew/3.10.html#deprecated
python/cpython#25174

Fixes warnings like:

...bitbake/lib/bb/ui/uievent.py:68: DeprecationWarning: setDaemon() is
deprecated, set the daemon attribute instead
  self.t.setDaemon(True)

(Bitbake rev: 323f6ce27a1bfd7159e72f29684674ff495dedee)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
carlsmedstad added a commit to carlsmedstad/pifpaf that referenced this pull request Aug 16, 2024
This method was deprecated in Python 3.10, set the Thread.daemon
attribute directly instead.

See: python/cpython#25174
tobias-urdin pushed a commit to jd/pifpaf that referenced this pull request Aug 16, 2024
This method was deprecated in Python 3.10, set the Thread.daemon
attribute directly instead.

See: python/cpython#25174
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.

5 participants