-
Notifications
You must be signed in to change notification settings - Fork 29
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
MAINT: 3.12 support #959
MAINT: 3.12 support #959
Conversation
* a few adjustments to `pyproject.toml` to allow for `pip install -v .` followed by `python -m pytest --pyargs darshan -n 32` to pass the full suite locally on x86_64 Linux with Python `3.12.0rc3`, given that the final release of Python `3.12.0` is about a week away I think * changing the version of `setuptools` may break the developer experience with "editable" installs, since I recall pinning it a while back for that reason, but I think supporting isolated wheel builds/install with `3.12.0` should likely take priority * some of the metadata updates to `pyproject.toml` are apparently newly-required fields that must be present (`pip install -v .` fails otherwise) * perhaps we can delay adding `3.12` to the CI testing until the final release, though GHA does have the RC available if we want it [skip cirrus]
requires-python = ">=3.7" | ||
version = "3.4.4.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
many projects will tend to use version numbers that have development indicators like 3.4.4.0.dev0
to avoid confusion with i.e., the final release or previous release with that same number, but I thought it best to just follow our current convention and paste this in from setup.py
for now.
There may not be a compelling reason to change it anyway, unless for example we became so popular that we needed nightly or weekly wheels, where the dev tag would have a more compelling reason to exist to distinguish from stable releases.
* fix up a `pandas` `FutureWarning`: ``` FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]` ```
* fix `FutureWarning`s for `pandas` implicit cast from float64->object and `read_html` acceptance of raw HTML text [skip cirrus]
Needed to add a few shims for |
There's still a type hinting error ( Maybe because of a newer |
I think the changes look good, thanks! The pandas future warning looks to be popping up elsewhere (#961, #963 ), so will be good to have that resolved. Any objections to just adding 3.12 to the CI here to see what happens? Aside from the outstanding CI error related to mypy, my only other suggestion is to add mention of the new place we need to maintain our version number (pyproject.toml) to RELEASE-CHECKLIST-PyDarshan.txt so we have a reminder as part of the release process. |
* `plot_io_cost` now sets legend properties via the raw axis object instead of via the twinned object (fixes a `mypy` complaint) * add Python `3.12` to the main CI matrix based on reviewer feedback * update release checklist to reflect version number now maintained in `pyproject.toml` as well
Latest revisions pushed in are summarized below, but we'll have to wait and see if CI is happy:
|
Awesome, looks like everything is working here now, including the new 3.12 tests. I'll go ahead and merge. Thanks! |
a few adjustments to
pyproject.toml
to allow forpip install -v .
followed bypython -m pytest --pyargs darshan -n 32
to pass the full suite locally on x86_64 Linux with Python3.12.0rc3
, given that the final release of Python3.12.0
is about a week away I thinkchanging the version of
setuptools
may break the developer experience with "editable" installs, since I recall pinning it a while back for that reason, but I think supporting isolated wheel builds/install with3.12.0
should likely take prioritysome of the metadata updates to
pyproject.toml
are apparently newly-required fields that must be present (pip install -v .
fails otherwise)perhaps we can delay adding
3.12
to the CI testing until the final release, though GHA does have the RC available if we want it[skip cirrus]