-
Notifications
You must be signed in to change notification settings - Fork 96
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
TraitsUI on Python 3.11 and PySide 6.4 #1994
Conversation
This PR will need the expected tests to be updated before it can be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. A few minor comments - nothing remotely blocking.
.github/workflows/basic-tests.yml
Outdated
run: cd testdir && python -X faulthandler -m unittest discover -v traitsui | ||
if: matrix.os != 'ubuntu-latest' | ||
|
||
# Wx Tests are turned off for now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it worth deleting the code here and moving it to a separate workflow that we can run on demand (but that isn't run in response to PRs), just so that we have a way to check current status of wx builds?
run: edm run -- python etstool.py test --toolkit=${{ matrix.toolkit }} | ||
working-directory: ets-demo | ||
run: xvfb-run -a edm run -- python etstool.py test --toolkit=${{ matrix.toolkit }} | ||
working-directory: ets-demo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice: I keep forgetting that the working-directory
setting exists.
pyproject.toml
Outdated
[tool.black] | ||
line-length = 79 | ||
target-version = ['py36', 'py37', 'py38'] | ||
skip-string-normalization = true | ||
target-version = ['py38'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nitpick-level, but it's quite tempting to remove this altogether (unless versions of black
that we currently care about fail without it). In the future, this shouldn't be needed any more - black
will infer the relevant Python versions from the requires-python
project metadata.
xref: psf/black#3219 (merged, but not yet released AFAICT)
xref: psf/black#751 (which I started reading because I was wondering whether we were supposed to be providing a single version or multiple versions here).
pyproject.toml
Outdated
[tool.isort] | ||
profile = 'black' | ||
sections = ['FUTURE', 'STDLIB', 'THIRDPARTY', 'ENTHOUGHT', 'FIRSTPARTY', 'LOCALFOLDER'] | ||
known_third_party = ['wx', 'PyQt5', 'PyQt6', 'PySide2', 'PySide6', 'PIL', 'pygments', 'numpy'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just an observation: maintaining the known_third_party
list has been getting annoying on other projects, and isort
doesn't seem to care much if it's omitted. (Essentially, anything not recognised gets classed as third party.)
sections = ['FUTURE', 'STDLIB', 'THIRDPARTY', 'ENTHOUGHT', 'FIRSTPARTY', 'LOCALFOLDER'] | ||
known_third_party = ['wx', 'PyQt5', 'PyQt6', 'PySide2', 'PySide6', 'PIL', 'pygments', 'numpy'] | ||
known_enthought = ['apptools', 'pyface', 'traits'] | ||
line_length = 79 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Entirely non-actionable observation: it's really annoying that black wants a hyphen while isort wants an underscore for this option.
If required tests pass we should be good to go - we don't expect PySide 6.4.3 to pass with Pyface < 8, and Pyface 8 hasn't been released yet, so those aren't required. They should go green with Pyface 8 being on PyPI - when that happens we will make them required. |
Currently seems to work with Pyface 7.x
This PR does the following:
traitsui.__version__
)Currently skipping tests failures on Wx due to failures: see #1998
Checklist