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

Run CI checks on Python 3.9 and Python 3.10 #135

Merged
merged 13 commits into from
Jan 26, 2022
Merged

Conversation

U8NWXD
Copy link
Member

@U8NWXD U8NWXD commented Jan 24, 2022

Expand supported Python versions to include versions 3.9 and 3.10

@U8NWXD U8NWXD marked this pull request as ready for review January 25, 2022 01:22
@U8NWXD U8NWXD requested review from 1fish2 and eagmon January 25, 2022 01:24
Copy link
Contributor

@1fish2 1fish2 left a comment

Choose a reason for hiding this comment

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

LGTM.

I assume you'll push the install_requires numpy>=1.22.1 and scipy>=1.7.3 through to vivarium-ecoli. Or is it too aggressive to push these install_requires on all vivarium clients?

Since Python 3.10 deprecates distutils, we should plan to replace distutils in all vivarium projects. setuptools embeds a forked (and updated?) copy of distutils but there are compatibility issues. It's a mess.

(Presumably wcEcoli will stay on Python 3.8.7 and distutils. I did try updating it to setuptools but reverted that due to CovertLab/wcEcoli#1113.)

vivarium-core should consider using something more modern like Flit. Experts recommend Flit, and that should be easier and more robust to use and maintain. Flit handles the normal cases with a small, declarative pyproject.toml file instead of setup.py. setup.py is not dead but apparently we should not run it directly.

Flit does not support Cython code so it won't work for vivarium-ecoli. Given that, maybe we should learn and use a different tool everywhere like maybe Pipenv or Bento or something. AIUI, Numpy & Scipy are moving to Meson which is a build tool, not a packaging tool. Maybe it includes Python packaging features. Anyway, don't switch to numpy.distutils.

setup.py Outdated Show resolved Hide resolved
@U8NWXD U8NWXD merged commit 4d9fad5 into master Jan 26, 2022
@U8NWXD U8NWXD deleted the ci-python-versions branch January 26, 2022 22:08
@U8NWXD U8NWXD linked an issue Jan 27, 2022 that may be closed by this pull request
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.

Specify Versions in setup.py
2 participants