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

Make TraitsUI, Pyface and configobj optional dependencies #351

Merged
merged 6 commits into from
Jul 4, 2024

Conversation

mdickinson
Copy link
Member

@mdickinson mdickinson commented Jun 28, 2024

Apptools contains several disparate packages with different needs. While it's somewhat reasonable to regard Traits as a core dependency, not all subpackages need a GUI, and only the preferences package makes use of configobj.

This PR:

  • makes all three of TraitsUI, Pyface and configobj optional dependencies
  • adds a "gui" entry for extras_require in setup.py
  • adds a test workflow that runs the test suite with only the core dependencies (i.e., Traits), to make sure that other tests are skipped appropriately rather than failing

Closes #70

Makes #86 obsolete.

Checklist

  • Add a news fragment if this PR is news-worthy for end users. (see docs/releases/README.rst)

Copy link

@flongford flongford left a comment

Choose a reason for hiding this comment

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

Generally LGTM - just a couple of comments on the scope of this issue.

I presume that these updated dependencies will be propagated through to our "publish on pip" GH actions workflow without further changes required. Do we have any "publish on EDS" equivalent workflows (automated or manual) that need to be updated post-merge?

setup.py Outdated Show resolved Hide resolved
@mdickinson
Copy link
Member Author

I presume that these updated dependencies will be propagated through to our "publish on pip" GH actions workflow without further changes required.

Yes - the setup.py should take care of that.

Do we have any "publish on EDS" equivalent workflows (automated or manual) that need to be updated post-merge?

We don't: the "publish on EDS" workflow is entirely manual (I go and fill out a build request). So that build request will include a note that the requirements have changed.

@mdickinson mdickinson merged commit bd6689a into main Jul 4, 2024
24 checks passed
@mdickinson mdickinson deleted the bld/make-non-essential-packages-optional branch July 4, 2024 14:53
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.

Consider making traitsui an optional requirement
2 participants