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

Require pyobjc on macOS #162

Merged
merged 1 commit into from
Feb 21, 2024
Merged

Require pyobjc on macOS #162

merged 1 commit into from
Feb 21, 2024

Conversation

olebole
Copy link
Member

@olebole olebole commented Feb 9, 2024

On macOS, there are three possible ways to create interactive graphics: aqua, x11, matplotlib.
By default, this should probably be aqua, and aqua requires additionally the pyobjc package and its dependencies.

One question however is whether this should be required. This PR makes it required as a base for testing and discussion.

Cc @monodera

This could fix #156

@olebole
Copy link
Member Author

olebole commented Feb 10, 2024

Just checked disk usage on a fresh Mac/M1:

  • without pyobjc 49 MB
  • with pyobjc 77 MB

On macOS, there are three possible ways to create interactive
graphics: aqua, x11, matplotlib. By default, this should probably be
aqua.
@monodera
Copy link
Contributor

monodera commented Feb 11, 2024

A potential issue is that the current PyObjC supports Python 3.7 or later, while PyRAF support includes Python 3.6.

The PyObjC web site (https://pyobjc.readthedocs.io/en/latest/) says

PyObjC 9.2 is the last version supporting Python 3.7. PyObjC 8.5 is the last version supporting Python 3.6. PyObjC 5.3 is the last version supporting Python 2. These versions are no longer supported.

PyObjC is regularly tested on macOS 10.14 and should work on macOS 10.9 or later for the i386 and x86_64 architectures.

Perhaps, pip can resolve to install an appropriate version, but they may not be officially supported anymore.

@olebole
Copy link
Member Author

olebole commented Feb 11, 2024

Python 3.6 isn't officially supported anymore either; EOL was 2021. And the oldest supported version of Numpy is currently 1.23, which requires Python 3.8.
I would keep still Python 3.6 as minversion in setup.cfg for PyRAF; however even now this depends on outdated versions. As long as it works, people can install it.
Alternative would be to have installation instructions that pyobjc is "strongly recommended" on macOS, and/or have an optional "aqua" dependency (and recommend to pip install pyraf[aqua] on a Mac).
However, if there is a working pyobjc available for 3.6 (supported or not), I would probably rather prefer to have it a requirement on Mac, as this removes disambiguities here.

@olebole olebole merged commit 36f3b12 into main Feb 21, 2024
5 checks passed
@olebole olebole deleted the require-pyobjc branch April 11, 2024 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

PyRAF splot cursor interaction with data display sluggish and/or clunky - problem with aqutil the cause?
2 participants