mcfletch / pyopengl

Repository for the PyOpenGL Project
Other
314 stars 97 forks source link

Build with PEP 517, move project metadata to pyproject.toml #84

Open EpicWink opened 2 years ago

EpicWink commented 2 years ago
EpicWink commented 2 years ago

Just a coupole minor points.

These changes are not necessary for the goal of this PR (which is to move project metadata to pyproject.toml), and therefore out of scope. In the interest of minimising the changes in a PR, I would say to make those changes in a new PR

ChrisBarker-NOAA commented 2 years ago

Well, updating the Python versions supported i part of this PR -- so I'd at least do that.

As for the Cython dependency, fixing that kind of thing seems pretty in scope to me, and it would just get tangled up to do a PR on the old code, 'cause then when this got merged, it would break it again.

But it's your PR.

ChrisBarker-NOAA commented 2 years ago

I've done: #86

mcfletch commented 2 years ago

I'd be unhappy dropping Python 2.7 support without bumping the major release version.

My intention is to continue supporting (for some value of support defined based on my rather scant spare time) Python 2.7 with PyOpenGL until the EOL for support on the RHEL/Centos platform, which IIRC is June 2024. At that point I'll likely do a Python 2.7 incompatible release with type declarations etc. as a PyOpenGL 4.x release.

Python 3.6 was default in Ubuntu Bionic, which EOL's 6 years from now. I'm not super worried about supporting Bionic itself, as I doubt it's got a big market share among those doing 3D graphics with raw OpenGL, but it does seem we're being rather aggressive in dropping support for OSes that are quite recent/new.

I'll try to find time to review the particular changes in the pull request over the next two days before I need to return to paying work. I expect much of the build-system cleanup (it's quite hoary after 20+ years of development) at least can be pulled in while still supporting 2.7 and 3.6 .

EpicWink commented 2 years ago

@mcfletch see PR #85, which is similar but without dropping the Python version support

In the meantime, I'm working on another PR which moves CI to GitHub Actions (to enable cibuildwheel)


Python 3.6 was default in Ubuntu Bionic, which EOL's 6 years from now.

Ubuntu LTS release (such as Bionic 18.04) have a 5 year support term, with a 5-year extension only for paying customers. This means Bionic will be EOL next year (2023). I don't think any open-source library should support releases which are privately supported.

khimaros commented 1 year ago

this is currently blocking installation of p5 module on debian 11

ChrisBarker-NOAA commented 1 year ago

3.6 is no longer supported by Python.org -- I don't see why downstream projects should have to support Python versions that are no longer supported upstream.

I've never understood why folks want to ru an old OS, and old version of Python, but need the latest third-party package (e.g pyOpenGL, numpy what have you).

Anyway: there's also no reason to gratuitously drop older versions -- if it works with old versions, then might as well call it supported. But if any real updating will be done -- dropping old versions can be really nice and keep things simpler.

@khimaros: what is the actual blocker here? what might be a solution?

This PR is updating the build system -- the old one should still work.

khimaros commented 1 year ago

@ChrisBarker-NOAA the PyOpenGL-Accelerate 3.1.6 release fixes this issue with python3.10 https://github.com/mcfletch/pyopengl/issues/74 and is currently not available for linux, i believe blocked on this merge request.

i filed an issue with the downstream library here for tracking: https://github.com/p5py/p5/issues/395

ChrisBarker-NOAA commented 1 year ago

got it -- That's really #37 -- but yes, this PR would help fix that too.