Skip to content

gh-125957: sync argument naming in sphinx docs of the cmath and help() #125958

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

Merged
merged 5 commits into from
Apr 1, 2025

Conversation

skirpichev
Copy link
Contributor

@skirpichev skirpichev commented Oct 25, 2024

In the main:
$ ./python -m timeit -r11 -s 'from cmath import sin;z=1j' 'sin(z)'
1000000 loops, best of 11: 312 nsec per loop

With patch:
$ ./python -m timeit -r11 -s 'from cmath import sin;z=1j' 'sin(z)'
1000000 loops, best of 11: 330 nsec per loop
@skirpichev
Copy link
Contributor Author

The second commits allows sin(z=1) syntax. This has some overhead:

In the main:
$ ./python -m timeit -r11 -s 'from cmath import sin;z=1j' 'sin(z)'
1000000 loops, best of 11: 312 nsec per loop

With patch:
$ ./python -m timeit -r11 -s 'from cmath import sin;z=1j' 'sin(z)'
1000000 loops, best of 11: 330 nsec per loop

Alternative solution: include slashed in the sphinx docs to reflect the actual function signature.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@picnixz
Copy link
Member

picnixz commented Feb 17, 2025

I'm going offline until Friday so I won't be able to merge it (@vstinner asked me to wait for one other core dev approval before merging so if someone accepts it, they can either merge it or accept the PR and I'll merge it on Friday)

Copy link
Member

@vstinner vstinner left a comment

Choose a reason for hiding this comment

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

LGTM.

PR title:

gh-125957: sync argument naming in sphinx docs of the cmath and help() #125958

It might be interesting to add the / marker for positional-only parameters.

Example:

>>> import cmath; help(cmath.phase)
phase(z, /)
    Return argument, also known as the phase angle, of a complex.

@skirpichev
Copy link
Contributor Author

It might be interesting to add the / marker for positional-only parameters.

I did this once: #101120

This thread discuss an alternative proposal (allow keyword arguments): https://discuss.python.org/t/81003/ See some benchmarks above: #125958 (comment)

@skirpichev skirpichev added needs backport to 3.12 only security fixes needs backport to 3.13 bugs and security fixes labels Mar 30, 2025
@AA-Turner AA-Turner merged commit 0a3eb88 into python:main Apr 1, 2025
32 checks passed
@miss-islington-app
Copy link

Thanks @skirpichev for the PR, and @AA-Turner for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Apr 1, 2025
… help() (pythonGH-125958)

(cherry picked from commit 0a3eb88)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@bedevere-app
Copy link

bedevere-app bot commented Apr 1, 2025

GH-131962 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.13 bugs and security fixes label Apr 1, 2025
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Apr 1, 2025
… help() (pythonGH-125958)

(cherry picked from commit 0a3eb88)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@bedevere-app
Copy link

bedevere-app bot commented Apr 1, 2025

GH-131963 is a backport of this pull request to the 3.12 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.12 only security fixes label Apr 1, 2025
AA-Turner pushed a commit that referenced this pull request Apr 1, 2025
…d help() (GH-125958) (#131962)

gh-125957: sync argument naming in sphinx docs of the cmath and help() (GH-125958)
(cherry picked from commit 0a3eb88)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
AA-Turner pushed a commit that referenced this pull request Apr 1, 2025
…d help() (GH-125958) (#131963)

gh-125957: sync argument naming in sphinx docs of the cmath and help() (GH-125958)
(cherry picked from commit 0a3eb88)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@skirpichev skirpichev deleted the fix-cmath-sig-125957 branch April 1, 2025 07:24
seehwan pushed a commit to seehwan/cpython that referenced this pull request Apr 16, 2025
…d help() (python#125958)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants