[packages/python3-dataclasses-json] - apply PR with marshmallow 4 support
qboosh
qboosh at pld-linux.org
Fri Oct 2 22:01:20 CEST 2026
commit d1595ed662b400807eb2abd284fa0b8a95ae72d0
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Oct 2 22:01:41 2026 +0200
- apply PR with marshmallow 4 support
dataclasses_json-marshmallow4.patch | 77 +++++++++++++++++++++++++++++++++++++
python3-dataclasses-json.spec | 3 ++
2 files changed, 80 insertions(+)
---
diff --git a/python3-dataclasses-json.spec b/python3-dataclasses-json.spec
index 0e4c9c7..0d5ab5e 100644
--- a/python3-dataclasses-json.spec
+++ b/python3-dataclasses-json.spec
@@ -8,6 +8,8 @@ Group: Libraries/Python
#Source0Download: https://pypi.org/simple/dataclasses-json/
Source0: https://files.pythonhosted.org/packages/source/d/dataclasses-json/dataclasses_json-%{version}.tar.gz
# Source0-md5: bfcfcd66a85092c89e7b04ed8fa07a9e
+# part of https://github.com/lidatong/dataclasses-json/pull/577.patch (without update of poetry.lock, which is not present in sdist)
+Patch0: dataclasses_json-marshmallow4.patch
URL: https://pypi.org/project/dataclasses-json/
BuildRequires: python3-build
BuildRequires: python3-installer
@@ -30,6 +32,7 @@ dataclass do/z JSON-a.
%prep
%setup -q -n dataclasses_json-%{version}
+%patch -P0 -p1
%build
%py3_build_pyproject
diff --git a/dataclasses_json-marshmallow4.patch b/dataclasses_json-marshmallow4.patch
new file mode 100644
index 0000000..cc4a7ca
--- /dev/null
+++ b/dataclasses_json-marshmallow4.patch
@@ -0,0 +1,77 @@
+From 3498ccd5d8014ec1208d2aaf03db2fb0a0ef2cc2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mark=C3=A9ta?= <meggy.calabkova at gmail.com>
+Date: Tue, 2 Jun 2026 17:52:45 +0200
+Subject: [PATCH 1/2] support marshmallow 4
+
+---
+ dataclasses_json/api.py | 1 -
+ dataclasses_json/mm.py | 10 ++++++----
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/dataclasses_json/api.py b/dataclasses_json/api.py
+index 3481e93f..5660b8d3 100644
+--- a/dataclasses_json/api.py
++++ b/dataclasses_json/api.py
+@@ -95,7 +95,6 @@ def schema(cls: Type[A],
+ return Schema(only=only,
+ exclude=exclude,
+ many=many,
+- context=context,
+ load_only=load_only,
+ dump_only=dump_only,
+ partial=partial,
+diff --git a/dataclasses_json/mm.py b/dataclasses_json/mm.py
+index 9cfacf1d..08aa5790 100644
+--- a/dataclasses_json/mm.py
++++ b/dataclasses_json/mm.py
+@@ -245,9 +245,11 @@ def inner(type_, options):
+
+ if is_dataclass(type_):
+ if _issubclass_safe(type_, mixin):
+- options['field_many'] = bool(
+- _is_supported_generic(field.type) and _is_collection(
+- field.type))
++ options['metadata'] = {
++ "field_many": bool(
++ _is_supported_generic(field.type) and _is_collection(
++ field.type))
++ }
+ return fields.Nested(type_.schema(), **options)
+ else:
+ warnings.warn(f"Nested dataclass field {field.name} of type "
+@@ -305,7 +307,7 @@ def schema(cls, mixin, infer_missing):
+ else:
+ type_ = field.type
+ options: typing.Dict[str, typing.Any] = {}
+- missing_key = 'missing' if infer_missing else 'default'
++ missing_key = 'load_default' if infer_missing else 'dump_default'
+ if field.default is not MISSING:
+ options[missing_key] = field.default
+ elif field.default_factory is not MISSING:
+
+From 58466d1caec7a9a998a5b3eadeb2f52a8a97f8ff Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mark=C3=A9ta?= <meggy.calabkova at gmail.com>
+Date: Tue, 2 Jun 2026 18:26:36 +0200
+Subject: [PATCH 2/2] update poetry.lock to marshmallow >= 4 and python >= 3.9
+
+---
+ poetry.lock | 2170 +++++++++++++++++++++++++++++++++---------------
+ pyproject.toml | 4 +-
+ 2 files changed, 1507 insertions(+), 667 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 20a147fb..62a63de0 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -9,9 +9,9 @@ readme = "README.md"
+ repository = 'https://github.com/lidatong/dataclasses-json'
+
+ [tool.poetry.dependencies]
+-python = "^3.7"
++python = "^3.9"
+ typing-inspect = ">=0.4.0, <1"
+-marshmallow = ">=3.18.0,<4.0.0"
++marshmallow = ">=4.0.0"
+
+ [tool.poetry.group.dev.dependencies]
+ pytest = "^7.1"
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/python3-dataclasses-json.git/commitdiff/d1595ed662b400807eb2abd284fa0b8a95ae72d0
More information about the pld-cvs-commit
mailing list