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

Add Python 3.12 to supported versions and test against on GitHub Actions; upgrade versioneer #1330

Merged
merged 8 commits into from
Nov 24, 2023

Conversation

yarikoptic
Copy link
Member

No description provided.

@codecov
Copy link

codecov bot commented Sep 25, 2023

Codecov Report

Attention: 78 lines in your changes are missing coverage. Please review.

Comparison is base (10d076e) 89.11% compared to head (ac7044a) 88.77%.

Files Patch % Lines
dandi/_version.py 47.29% 78 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1330      +/-   ##
==========================================
- Coverage   89.11%   88.77%   -0.34%     
==========================================
  Files          77       77              
  Lines       10360    10434      +74     
==========================================
+ Hits         9232     9263      +31     
- Misses       1128     1171      +43     
Flag Coverage Δ
unittests 88.77% <48.00%> (-0.34%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@yarikoptic yarikoptic changed the title Add python 3.12 to supported and test against its RC on github actions Add python 3.12 to supported and test against its RC on github actions; upgrade versioneer Sep 25, 2023
@yarikoptic yarikoptic added the patch Increment the patch version when merged label Sep 25, 2023
mo = re.search(r'=\s*"(.*)"', line)
if mo:
keywords["date"] = mo.group(1)
except OSError:

Check notice

Code scanning / CodeQL

Empty except Note

'except' clause does nothing but pass and there is no explanatory comment.
@yarikoptic
Copy link
Member Author

yarikoptic commented Nov 1, 2023

aiohttp needs a new release 3.9 with 3.12 support: aio-libs/aiohttp#7675

edit: there is only beta release ATM... will not bother and just wait

@yarikoptic yarikoptic added the blocked Blocked by some needed development/fix label Nov 1, 2023
@yarikoptic yarikoptic marked this pull request as draft November 1, 2023 13:22
@yarikoptic
Copy link
Member Author

@jwodder do you think we should open a can of "allow beta/alpha releases" for aiohttp to allow 3.12 here?

@jwodder
Copy link
Member

jwodder commented Nov 9, 2023

@yarikoptic We could add prereleases of aiohttp to the packages tested in the "dev-deps" job here, but if you're suggesting that installing dandi-cli should install a prerelease of aiohttp under normal circumstances, the only way to do that would be for dandi-cli to require a specific prerelease version of aiohttp as the only version to install, which seems like a bad idea.

@yarikoptic
Copy link
Member Author

yarikoptic commented Nov 18, 2023

aiohttp 3.9.0 is out with 3.12 support.

edit: I triggered rerun of failed jobs

@yarikoptic yarikoptic removed the blocked Blocked by some needed development/fix label Nov 18, 2023
@yarikoptic yarikoptic marked this pull request as ready for review November 18, 2023 15:19
@jwodder
Copy link
Member

jwodder commented Nov 18, 2023

@yarikoptic FYI: #1353

@yarikoptic
Copy link
Member Author

committed to use released 3.12 so may be that somehow would help to avoid triggering nested deprecation warning ... if not -- I will add ignore for that one too above the one which triggers it.
ERROR: while parsing the following warning configuration:
15

16
  ignore:.*Value with data type .* is being converted:hdmf.build.warnings.DtypeConversionWarning
17

18
This error occurred:
19

20
Traceback (most recent call last):
21
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1761, in parse_warning_filter
22
Warning: ory: Type[Warning] = _resolve_warning_category(category_)
23
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1799, in _resolve_warning_category
25
    m = __import__(module, None, None, [klass])
26
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
27
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/hdmf/__init__.py", line 2, in <module>
28
    from .backends.hdf5.h5_utils import H5Dataset, H5RegionSlicer
29
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/hdmf/backends/__init__.py", line 1, in <module>
30
    from . import hdf5
31
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/hdmf/backends/hdf5/__init__.py", line 1, in <module>
32
    from . import h5_utils, h5tools
33
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/hdmf/backends/hdf5/h5_utils.py", line 22, in <module>
34
    from ...region import RegionSlicer
35
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/hdmf/region.py", line 4, in <module>
36
    from .container import Data, DataRegion
37
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/hdmf/container.py", line 10, in <module>
38
    import pandas as pd
39
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pandas/__init__.py", line 46, in <module>
40
    from pandas.core.api import (
41
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pandas/core/api.py", line 1, in <module>
42
    from pandas._libs import (
43
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pandas/_libs/__init__.py", line 18, in <module>
44
    from pandas._libs.interval import Interval
45
  File "interval.pyx", line 1, in init pandas._libs.interval
46
  File "hashtable.pyx", line 1, in init pandas._libs.hashtable
47
  File "missing.pyx", line 1, in init pandas._libs.missing
48
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pandas/_libs/tslibs/__init__.py", line 39, in <module>
49
    from pandas._libs.tslibs.conversion import localize_pydatetime
50
  File "conversion.pyx", line 1, in init pandas._libs.tslibs.conversion
51
  File "offsets.pyx", line 1, in init pandas._libs.tslibs.offsets
52
  File "timestamps.pyx", line 1, in init pandas._libs.tslibs.timestamps
53
  File "timedeltas.pyx", line 1, in init pandas._libs.tslibs.timedeltas
54
  File "timezones.pyx", line 24, in init pandas._libs.tslibs.timezones
55
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/dateutil/tz/__init__.py", line 2, in <module>
56
    from .tz import *
57
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/dateutil/tz/tz.py", line 37, in <module>
58
    EPOCH = datetime.datetime.utcfromtimestamp(0)
59
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
60
DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).

@jwodder jwodder changed the title Add python 3.12 to supported and test against its RC on github actions; upgrade versioneer Add Python 3.12 to supported versions and test against on GitHub Actions; upgrade versioneer Nov 19, 2023
@yarikoptic
Copy link
Member Author

green besides codecov and some odd on windows 3.9 which can't relate:

________________________ test_IteratorWithAggregation _________________________
dandi\support\tests\test_iterators.py:72: in test_IteratorWithAggregation
    assert got in ([], [0])
E   assert [0, 1] in ([], [0])

---------- coverage: platform win32, python 3.9.13-final-0 -----------

so let's proceed.

@yarikoptic yarikoptic merged commit 0f7ee2a into master Nov 24, 2023
25 of 28 checks passed
@yarikoptic yarikoptic deleted the enh-py3.12 branch November 24, 2023 20:46
Copy link

🚀 PR was released in 0.58.1 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
patch Increment the patch version when merged released
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants