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

Build updates and modernization #513

Merged
merged 16 commits into from
Mar 14, 2023
Merged

Build updates and modernization #513

merged 16 commits into from
Mar 14, 2023

Conversation

mdickinson
Copy link
Member

@mdickinson mdickinson commented Mar 10, 2023

This PR updates the build machinery to use pyproject.toml, and drops Python 3.6 support.

Detailed changes

  • Drop Python 3.6 support; we now require Python >= 3.7.
  • Drop Python 3.6 from test workflows.
  • Only use PySide6 for testing. (The main package still permits PySide2 and PyQt5 for Python versions for which they're available; we just don't test on those.)
  • Rename setup.cfg (which only contained flake8 configuration settings) to .flake8
  • Replace setup.py with pyproject.toml
  • Remove various outdated references to setup.py
  • Remove envisage.version and envisage.__version__ (and tests)
  • Optional dependencies (a.k.a. extras_require) have been removed
  • We no longer rely on ETS_TOOLKIT (or QT_API) being set in order to run tests that require a GUI; we just rely on Pyface's default mechanisms for toolkit detection. (As a consequence, we retain the option to use ETS_TOOLKIT if it's helpful.)
  • etstool.py support for backends other than those available through EDM has been removed. Meanwhile, support for pyqt6 has been added. (Tests currently fail with PyQt6, due to a known issue in TraitsUI: QEvent.Type error seen on Windows 10 + Python 3.8 + PyQt6 backend traitsui#1926)

Closes #370
Closes #511
Closes #512
Closes #519
Closes #525

@mdickinson mdickinson changed the title Drop support for Python 3.6 Build updates and modernization Mar 10, 2023
@mdickinson mdickinson marked this pull request as ready for review March 10, 2023 13:31
@mdickinson
Copy link
Member Author

@corranwebster This is ready for review, if you have the bandwidth available.

pyproject.toml Outdated Show resolved Hide resolved
@mdickinson
Copy link
Member Author

This is ready for review, if you have the bandwidth available.

Sorry, I take that back. The juggling with the changes in #526 is getting annoying; I think it makes most sense to merge that PR into this one. I'll change back to draft while that's in progress.

@mdickinson mdickinson marked this pull request as draft March 13, 2023 17:06
[PR includes commits from, and extends, #513]

This PR updates our testing machinery in two ways:

- We no longer rely on `ETS_TOOLKIT` (or `QT_API`) being set in order to
run tests that require a GUI; we just rely on Pyface's default
mechanisms for toolkit detection. (As a consequence, we retain the
option to _use_ `ETS_TOOLKIT` if it's helpful.)
- `etstool.py` support for backends other than those available through
EDM has been removed. Meanwhile, support for `pyqt6` has been added.
(Tests currently fail with PyQt6, due to a known issue in TraitsUI:
enthought/traitsui#1926)

Closes #525
Closes #370
@mdickinson mdickinson marked this pull request as ready for review March 14, 2023 08:46
@mdickinson mdickinson merged commit 27014dc into main Mar 14, 2023
@mdickinson mdickinson deleted the build-updates branch March 14, 2023 10:20
mdickinson added a commit that referenced this pull request Mar 23, 2023
This PR adds a documentation build test workflow - the intent is to
catch PRs that cause the documentation to be unbuildable for some
reason.

Partly motivated by the fact that #513 broke the documentation build and
we didn't notice, but it's good to have this anyway.

Closes #552
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants