chore: spec0 compat (python 3.14 compat, python 3.12 min)#3564
chore: spec0 compat (python 3.14 compat, python 3.12 min)#3564ilan-gold wants to merge 30 commits intozarr-developers:mainfrom
Conversation
i'm ok with uv-fying things. we are using hatch for defining a local test matrix, but we don't have to use that in ci |
b08641a to
d5e6d44
Compare
43055db to
98404bd
Compare
|
I tried removing the tests/test_metadata/test_v2.py:224: error: Argument "dtype" to "ArrayV2Metadata" has incompatible type "Int16"; expected "ZDType[dtype[generic], generic | str | bytes]" [arg-type]would love to understand this! I will try to look into it soon |
|
As a side note, recently there was a request (@d-v-b, do you remember where?) of considering using the PSF versioning (https://devguide.python.org/versions/) rather than the SPEC. Just mentioning in case it has an impact on when we would decide to drop, etc. |
|
@joshmoore see also #3512 |
To clarify, the reason I find them strange is that the python docs make it seem like you can just get rid of |
|
based on these docs, my feeling is that in the context of |
I feel quite lost here - I would think similar but this seems to work (maybe I'm missing something) whereas the (more complicated) class Base1: ...
class SubBase1(Base1): ...
class SubSubBase1(SubBase1): ...
class Base2: ...
class SubBase2(Base2): ...
class SubSubBase2(SubBase2): ...
class F[T: Base1, S: Base2]: ...
class FSub(F[SubBase1, SubBase2]): ...
class FSubSub(F[SubSubBase1, SubSubBase2]): ...
type GType = F
g: GType = FSubSub()So maybe I'm misunderstanding. |
Totally misunderstood this in our context, but I think I got it now! I made |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3564 +/- ##
==========================================
+ Coverage 60.89% 61.05% +0.16%
==========================================
Files 86 86
Lines 10182 10152 -30
==========================================
- Hits 6200 6198 -2
+ Misses 3982 3954 -28
🚀 New features to boost your workflow:
|
pyproject.toml
Outdated
| requires-python = ">=3.11" | ||
| # If you add a new dependency here, please also add it to .pre-commit-config.yaml | ||
| requires-python = ">=3.12" | ||
| # If you add a new dependency here, please also add it to .pre-commit-config.yml |
|
Ok there are a lot of things that break now with I'm open to alternatives rather than manually copy-pasting the numpy API - I'm also not sure what it means to add arguments to Then there's all this dtype stuff, which really confuses me. Things like UPDATE: The situation with |
|
I've also checked locally and these 65 minute tests take 5minutes and pass (and I have a macbook) so that's another thing! To summarize:
|

Sorry if someone already started this! I didn't see it in the repo and I was trying to play around with python 3.14 until I realized the feature I was interested in had actually been released in 3.13. So just pushing here if anyone wants to pick it up (or I can finish depending on the workload).
Fixes #3512
Some questions:
uv-ifying the CI? Blockers?Locally most tests pass, and the ones that don't looked a bit me-specific (for example, a numcodecs-related test though I had python 2.18 installed? Need to look into that).
TODO:
docs/user-guide/*.mdchanges/