Skip to content

Update typing for Python 3.10 and enhance configuration#476

Open
hunterhogan wants to merge 2 commits intobastibe:masterfrom
hunterhogan:typing
Open

Update typing for Python 3.10 and enhance configuration#476
hunterhogan wants to merge 2 commits intobastibe:masterfrom
hunterhogan:typing

Conversation

@hunterhogan
Copy link
Copy Markdown

Upgrade the project to Python 3.10, add necessary typing rules, and improve the configuration by including default excludes to optimize file analysis. Overload definitions in soundfile.py focus on always_2d.

Based on https://github.com/hunterhogan/stubFileNotFound/blob/25b460289cb3fd331e1a8872af11ee8a1c3fa19a/stubs/soundfile.pyi

pyrightconfig.json
"The exclude list is missing default excludes such as '**/.*'. Consider adding them to avoid analyzing unnecessary files."
- added `"**/.*"`.

Python 3.9 is EOL.
- change to `"pythonVersion": "3.10"`.

- Add rules

soundfile.py
- ran `pyupgrade --py310-plus soundfile.py`

- added overload
The overload definitions only focus on `always_2d`.
@bastibe
Copy link
Copy Markdown
Owner

bastibe commented Apr 13, 2026

Thank you for the contribution, but this seems to fail our tests

@hunterhogan
Copy link
Copy Markdown
Author

All checks failed

That's impressive, but in the wrong way.

Updated types, new GitHub knowledge

By coincidence, last week, I revamped my soundfile stub file. Since it is written with Py 3.10 notation, I think it will fail the pypy 3.7 tests, but I've never used pypy, so I could be wrong.

Also by coincidence, I've learned from some advice in other PRs how to make a PR that is easier to review.

I am motivated to see this updated

  1. I don't want to maintain a stub repo for an audience of one (me).
  2. I can make a good stub, but to have the best typing, my contributions should be directed and refined by you, @bastibe .
  3. I'm pivoting away from my combinatorics project and back to audio source separation, so precise types in soundfile are useful to me right now.

image

Plan?

I could write a new PR that is easier to review. I would need to work on it for three to five hours. Would a new PR written for Python >= 3.10 be useful to you?

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.

2 participants