-
Notifications
You must be signed in to change notification settings - Fork 163
Add Support for 3.14 (and 3.13) #565
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
base: master
Are you sure you want to change the base?
Conversation
| ] | ||
| dependencies = [ | ||
| "typing-inspect>=0.4.0, <1", | ||
| "marshmallow>=3.18.0,<4.0.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.
Will it support marshmallow 4.0.0+? Because marshmallow 4.1.0 tested against Python 3.14 https://github.com/marshmallow-code/marshmallow/blob/4.1.0/CHANGELOG.rst#410-2025-11-01.
I think conda won't have py314 support for marshmallow <4.0.1:
conda search marshmallow
Loading channels: done
# Name Version Build Channel
marshmallow 2.16.3 py_0 pkgs/main
marshmallow 3.2.0 py_0 pkgs/main
marshmallow 3.2.2 py_0 pkgs/main
marshmallow 3.5.1 py_0 pkgs/main
marshmallow 3.5.2 py_0 pkgs/main
marshmallow 3.6.1 py_0 pkgs/main
marshmallow 3.7.0 py_0 pkgs/main
marshmallow 3.7.1 py_0 pkgs/main
marshmallow 3.8.0 py_0 pkgs/main
marshmallow 3.9.1 pyhd3eb1b0_0 pkgs/main
marshmallow 3.10.0 pyhd3eb1b0_0 pkgs/main
marshmallow 3.11.1 pyhd3eb1b0_0 pkgs/main
marshmallow 3.12.0 pyhd3eb1b0_0 pkgs/main
marshmallow 3.12.1 pyhd3eb1b0_0 pkgs/main
marshmallow 3.12.2 pyhd3eb1b0_0 pkgs/main
marshmallow 3.19.0 py310hca03da5_0 pkgs/main
marshmallow 3.19.0 py311hca03da5_0 pkgs/main
marshmallow 3.19.0 py312hca03da5_0 pkgs/main
marshmallow 3.19.0 py313hca03da5_0 pkgs/main
marshmallow 3.19.0 py38hca03da5_0 pkgs/main
marshmallow 3.19.0 py39hca03da5_0 pkgs/main
marshmallow 4.0.0 py310hca03da5_0 pkgs/main
marshmallow 4.0.0 py311hca03da5_0 pkgs/main
marshmallow 4.0.0 py312hca03da5_0 pkgs/main
marshmallow 4.0.0 py313hca03da5_0 pkgs/main
marshmallow 4.0.0 py39hca03da5_0 pkgs/main
marshmallow 4.0.1 py310hca03da5_0 pkgs/main
marshmallow 4.0.1 py310hca03da5_1 pkgs/main
marshmallow 4.0.1 py311hca03da5_0 pkgs/main
marshmallow 4.0.1 py311hca03da5_1 pkgs/main
marshmallow 4.0.1 py312hca03da5_0 pkgs/main
marshmallow 4.0.1 py312hca03da5_1 pkgs/main
marshmallow 4.0.1 py313hca03da5_0 pkgs/main
marshmallow 4.0.1 py313hca03da5_1 pkgs/main
marshmallow 4.0.1 py314hca03da5_1 pkgs/main
marshmallow 4.0.1 py39hca03da5_0 pkgs/main
This can affect the downstream packages langsmith -> langchain-core
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.
If I try to build dataclasses-json 0.6.7 with marshmallow 4.0.1 for py314 on osx-arm64, then I get this error in the test environment:
## Package Plan ##
environment location: /Users/sss/opt/miniconda3/conda-bld/dataclasses-json_1766484508581/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac
The following NEW packages will be INSTALLED:
attrs: 25.4.0-py314hca03da5_2
bzip2: 1.0.8-h80987f9_6
ca-certificates: 2025.12.2-hca03da5_0
dataclasses-json: 0.6.7-py314hca03da5_1 local
hypothesis: 6.142.3-py314hca03da5_2
iniconfig: 2.1.0-py314hca03da5_0
libcxx: 20.1.8-hd7fd590_1
libexpat: 2.7.3-h50f4ffc_4
libffi: 3.4.4-hca03da5_1
libmpdec: 4.0.0-h80987f9_0
libzlib: 1.3.1-h5f15de7_0
lz4-c: 1.9.4-h313beb8_1
marshmallow: 4.0.1-py314hca03da5_1
mypy_extensions: 1.0.0-py314hca03da5_0
ncurses: 6.5-hee39554_0
openssl: 3.0.18-h9b4081a_0
packaging: 25.0-py314hca03da5_1
pip: 25.3-pyh0d26453_0
pluggy: 1.5.0-py314hca03da5_0
pytest: 7.4.4-py314hca03da5_0
python: 3.14.2-h1858270_101_cp314
python_abi: 3.14-2_cp314
readline: 8.3-h0b18652_0
simplejson: 3.20.2-py314haa24f5a_0
sortedcontainers: 2.4.0-pyhd3eb1b0_0
sqlite: 3.51.0-hab6afd1_0
tk: 8.6.15-hcd8a7d5_0
typing_extensions: 4.15.0-py314hca03da5_0
typing_inspect: 0.9.0-py314hca03da5_0
tzdata: 2025b-h04d1e81_0
xz: 5.6.4-h80987f9_1
zlib: 1.3.1-h5f15de7_0
zstd: 1.5.7-h817c040_0
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
export PREFIX=/Users/sss/opt/miniconda3/conda-bld/dataclasses-json_1766484508581/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac
export SRC_DIR=/Users/sss/opt/miniconda3/conda-bld/dataclasses-json_1766484508581/test_tmp
import: 'dataclasses_json'
import: 'dataclasses_json'
+ python -c 'from importlib.metadata import version; assert(version('\''dataclasses-json'\'')=='\''0.6.7'\'')'
+ pytest -v --ignore=gh_src/tests/test_annotations.py gh_src/tests
============================= test session starts ==============================
platform darwin -- Python 3.14.2, pytest-7.4.4, pluggy-1.5.0 -- $PREFIX/bin/python
cachedir: .pytest_cache
hypothesis profile 'default'
rootdir: $SRC_DIR
plugins: hypothesis-6.142.3
collecting ... collected 324 items / 1 error
==================================== ERRORS ====================================
________________ ERROR collecting gh_src/tests/test_metadata.py ________________
gh_src/tests/test_metadata.py:39: in <module>
car_schema = Car.schema()
../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.14/site-packages/dataclasses_json/api.py:95: in schema
return Schema(only=only,
E TypeError: Schema.__init__() got an unexpected keyword argument 'context'
=============================== warnings summary ===============================
gh_src/tests/test_collection_of_unions.py:8
$SRC_DIR/gh_src/tests/test_collection_of_unions.py:8: PytestCollectionWarning: cannot collect test class 'TestChild' because it has a __init__ constructor (from: gh_src/tests/test_collection_of_unions.py)
@dataclass_json
gh_src/tests/test_collection_of_unions.py:14
$SRC_DIR/gh_src/tests/test_collection_of_unions.py:14: PytestCollectionWarning: cannot collect test class 'TestOtherChild' because it has a __init__ constructor (from: gh_src/tests/test_collection_of_unions.py)
@dataclass_json
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR gh_src/tests/test_metadata.py - TypeError: Schema.__init__() got an une...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
========================= 2 warnings, 1 error in 0.84s =========================
WARNING: Tests failed for dataclasses-json-0.6.7-py314hca03da5_1.conda - moving package to /Users/sss/opt/miniconda3/conda-bld/broken
CondaBuildUserError: TESTS FAILED: dataclasses-json-0.6.7-py314hca03da5_1.conda
pyproject.toml
Outdated
| maintainers = ['Charles Li <[email protected]>', 'Georgiy Zubrienko <[email protected]>', 'Vitaliy Savitskiy <[email protected]>', 'Matthias Als <[email protected]>'] | ||
| license = 'MIT' | ||
| authors = [{ name = "Charles Li", email = "[email protected]" }] | ||
| requires-python = ">=3.9" |
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.
You can drop 3.9 https://devguide.python.org/versions/#status-of-python-versions
|
See #568, it seems like there's noone left to approve PRs. That's too bad. * Nonetheless, I updated the project to drop 3.9. The marshmallow change should be another PR, if there's anyone left to approve anything here. |
Thank you for this project!
I took a moment to update the project to support 3.14:
Housekeeping - optional:
The first part w/ 3.14 support is really the purpose here, and I'm happy to roll back the housekeeping stuff if you want just the first part but not second part.
Thank you!