Conversation
| ] | ||
| dependencies = [ | ||
| "typing-inspect>=0.4.0, <1", | ||
| "marshmallow>=3.18.0,<4.0.0", |
There was a problem hiding this comment.
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.
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 <charles.dt.li@gmail.com>', 'Georgiy Zubrienko <gzu@ecco.com>', 'Vitaliy Savitskiy <visa@ecco.com>', 'Matthias Als <mata@ecco.com>'] | ||
| license = 'MIT' | ||
| authors = [{ name = "Charles Li", email = "charles.dt.li@gmail.com" }] | ||
| requires-python = ">=3.9" |
There was a problem hiding this comment.
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. |
|
For packagers looking for a minimal set of changes to make for Python 3.14 support, this may be helpful: https://aur.archlinux.org/cgit/aur.git/commit/?h=python-dataclasses-json&id=478b55df2662505360bf0f09c9e2f09a7f651478 |
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!