NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #586 most downloaded on PyPI
Library for serializing and deserializing Python Objects to and from JSON and XML.
Last release 1 years ago
21 Jul 2025
Release timing varies
gaps range from 2 weeks to 5 months
Nearly every release is documented
notes for 58 of 58 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
60 releases · first in 2022
One column per quarter.
docs: fix typo in CONTRIBUTING guidelines
Full Changelog: v2.0.0...v2.1.0
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (f6b6629)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (3c51231)
refactor!: rename python package serializable -> py_serializable
refactor!: rename python package serializable -> py_serializable (#155)
The python package was renamed from serializable to py_serializable.
Therefore, you need to adjust your imports.
The following shows a quick way to adjust imports in the most efficient way.
import serializable
from serializable import ViewType, XmlArraySerializationType, XmlStringSerializationType
from serializable.helpers import BaseHelper, Iso8601Dateimport py_serializable as serializable
from py_serializable import ViewType, XmlArraySerializationType, XmlStringSerializationType
from py_serializable.helpers import BaseHelper, Iso8601Datesee migration path: https://py-serializable.readthedocs.io/en/refactor-rename-installable-py_serializable/migration.html
serializable -> py_serializable by @jkowalleck in #155Full Changelog: v1.1.2...v2.0.0
serializable -> py_serializable (#155)The python package was renamed from serializable to py_serializable.
Therefore, you need to adjust your imports.
The following shows a quick way to adjust imports in the most efficient way.
import serializable
from serializable import ViewType, XmlArraySerializationType, XmlStringSerializationType
from serializable.helpers import BaseHelper, Iso8601Date
import py_serializable as serializable
from py_serializable import ViewType, XmlArraySerializationType, XmlStringSerializationType
from py_serializable.helpers import BaseHelper, Iso8601Date
see migration path: <https://py-serializable.readthedocs.io/en/refactor-rename-installable-py_serializable/migration.html>
fixes #151
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
Signed-off-by: semantic-release <semantic-release>
Co-authored-by: semantic-release <semantic-release> (67afaef)
we have a codeowners file in root already (b64cdde)
refactor!: rename installable serializable -> py_serializable
serializable -> py_serializableSigned-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (39bfc1a)
chore: Create CODEOWNERS (960331a)
chore(deps-dev): update mypy requirement from 1.13.0 to 1.14.1 (#154)
Updates the requirements on mypy to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (afe70c8)
Updates the requirements on flake8-bugbear to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cb8a91b)
Updates the requirements on flake8-bugbear to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (f6574e7)
Updates the requirements on mypy to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (c5117ba)
Updates the requirements on mypy to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (6c354e2)
Merge branch 'main' into refactor/rename-installable-py_serializable (5b62208)
Delete duplicate CODEOWNERS (#156)
we have a codeowners file in root already (b64cdde)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (e3708ec)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (225b614)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (a581861)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (2df3e21)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (42cf87b)
fix: date/time deserialization with fractional seconds
fix multiple where fractional seconds were not properly deserialized or deserialization caused unexpected crashes in py<3.11
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
Co-authored-by: Jan Kowalleck <jan.kowalleck@gmail.com> (f4b1c27)
XsdDate/XsdDateTime deserializers (#139)Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (d75df5b)
XsdDate/XsdDateTime deserializers by @jkowalleck in #139Full Changelog: v1.1.1...v1.1.2
chore(deps-dev): update mypy requirement from 1.11.1 to 1.11.2
Updates the requirements on mypy to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (d26c9ec)
Updates the requirements on flake8-bugbear to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (d4b4365)
Updates the requirements on flake8 to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cff0742)
Updates the requirements on coverage to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (aaec167)
Updates the requirements on mypy to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (5ea457b)
Updates the requirements on mypy to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (4d1be17)
Updates the requirements on coverage to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (511926b)
None values as expected (#136)Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (1a0e14b)
None values as expected by @jkowalleck in #136Full Changelog: v1.1.0...v1.1.1
chore(deps-dev): update autopep8 requirement from 2.3.0 to 2.3.1
Updates the requirements on autopep8 to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (7410ba7)
Updates the requirements on coverage to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (2ad22c9)
Updates the requirements on mypy to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (f4e350a)
Updates the requirements on autopep8 to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (e32873f)
Updates the requirements on flake8 to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (fac3cc4)
Updates the requirements on coverage to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (168b334)
Updates the requirements on autopep8 to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (209a7f1)
Updates the requirements on flake8-annotations to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (ee81803)
Updates the requirements on xmldiff to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (7ab73d9)
Updates the requirements on flake8-annotations to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (6858d81)
Updates the requirements on coverage to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (5ddb017)
Updates the requirements on flake8-bugbear to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (8094b81)
Updates the requirements on mypy to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (f370676)
Updates the requirements on coverage to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (9306d7e)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (aabb5e9)
normalizedString and token (#119)Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (3a1728d)
dict.update() were replaced by proper access methods dict[]set simplifySigned-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (73ce317)
normalizedString and token by @jkowalleck in #119Full Changelog: v1.0.3...v1.1.0
chore(deps-dev): update autopep8 requirement from 2.0.4 to 2.1.0
Updates the requirements on autopep8 to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (1577157)
Updates the requirements on flake8-logging to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (7d64241)
Updates the requirements on coverage to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (425f05e)
Updates the requirements on mypy to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (9fa5297)
child_name does not conform to current formatter #89 (#90)Signed-off-by: Paul Horton <paul.horton@owasp.org> (ade5bd7)
Signed-off-by: Jan Kowalleck < jan.kowalleck@gmail.com >
Maintenance release.
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (46a8d9e)
Updates the requirements on coverage to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (fbf9b06)
Bumps Gr1N/setup-poetry from 8 to 9.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (3264bc6)
Updates the requirements on flake8-quotes to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (8a5460a)
06f557d)chore(deps-dev): update coverage requirement from 7.4.0 to 7.4.1
Updates the requirements on coverage to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (447e6b8)
Updates the requirements on flake8-bugbear to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (e3e51a4)
Updates the requirements on flake8-logging to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (aeca110)
Updates the requirements on flake8-bugbear to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (1727d78)
datetime without timezone with local time offset (#76)Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (06776ba)
typing.Literal as non-string (#73)Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (32fbe2a)
Release of first major version 🎉
Release of first major version 🎉
flake8-logging by @jkowalleck in #61Full Changelog: v0.17.1...v1.0.0
feat!: v1.0.0 (#55)
Release of first major version 🎉
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (2cee4d5)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (5645ca6)
Nothing published for this version
docs: add "documentation" url to project meta
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (bf864d7)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (d3bcc42)
3cc6cad)chore(release): 0.17.1
Automatically generated by python-semantic-release (3b50104)
9cdc0b1)Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (`7ae6aad`)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (7ae6aad)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (de206d6)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (c0074ce)
Reworked the way this library does logging/warning. It utilizes the logger named serializable for everything, now.
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
Co-authored-by: Kyle Roeschley <kyle.roeschley@ni.com> (9269b0e)
chore(release): 0.17.0
Automatically generated by python-semantic-release (a6fc788)
feat: more controll over XML attribute serialization
feat: allow custom (de)normalization
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (`b6dc66a`)
TypeCheckers might behave differently, which is intentional due to bug fixes. This is considered a non-breaking change, as it does not affect runtime.
Even tough some structures are refactored, no public API is changed. No runtime is changed. TypeCheckers might behave differently, which is intentional due to bug fixes. This is considered a non-breaking change, as it does not affect runtime.
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (410372a)
chore(release): 0.14.0
Automatically generated by python-semantic-release (7bb0d1b)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (`4eddb24`)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (4eddb24)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (26c561d)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (11b5896)
serialization_types from unintended downstream modifications (#30)Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (0e814f5)
chore(release): 0.13.1
Automatically generated by python-semantic-release (bd604c8)
feat: format specific (de)serialize
Added functionality to implement custom (de)serialization specific for XML or JSON (#13).
BaseHelper is no longer abstract.BaseHelper.serialize() is no longer abstract.
Will raise NotImplementedError per default.BaseHelper.deserialize() is no longer abstract.
Will raise NotImplementedError per default.BaseHelper.json_serialize() predefined.cls.serialize() per default.BaseHelper.json_deserialize() predefined.cls.deserialize() per default.Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (dc998df)
chore(release): 0.13.0
Automatically generated by python-semantic-release (c1670d6)
build: semantic-release sets library version everywhere
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (296ef19)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (fcc5d8e)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (5d5cf7b)
fix: xml defaultNamespace serialization and detection (#20)
fixes: serialization with defaultNS fails #12
fixes: defaultNamespace detection fails on XML-attributes when deserializing #11
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (59eaa5f)
chore(release): 0.12.1
Automatically generated by python-semantic-release (9a2798d)
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> (68d229e)
Keep LICENSE in .dist-info when building wheel (9bc4abc)
LICENSE in .dist-info when building wheelPoetry automatically detects and includes LICENSE files in
….dist-info/ when it builds a wheel.
If LICENSE is also declared as a pattern in Poetry’s include list in
pyproject.toml, then the file will appear in the root directory of the
wheel, too:
Path = /var/lib/aurbuild/x86_64/claudia/build/python-py-serializable/src/serializable-0.12.0/dist/py_serializable-0.12.0-py3-none-any.whl
Type = zip
Physical Size = 22557
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
1980-01-01 00:00:00 ..... 11357 3948 LICENSE
1980-01-01 00:00:00 ..... 52795 9275 serializable/__init__.py
1980-01-01 00:00:00 ..... 3382 923 serializable/formatters.py
1980-01-01 00:00:00 ..... 3690 1180 serializable/helpers.py
1980-01-01 00:00:00 ..... 153 117 serializable/py.typed
1980-01-01 00:00:00 ..... 11357 3948 py_serializable-0.12.0.dist-info/LICENSE
1980-01-01 00:00:00 ..... 3845 1449 py_serializable-0.12.0.dist-info/METADATA
1980-01-01 00:00:00 ..... 88 85 py_serializable-0.12.0.dist-info/WHEEL
2016-01-01 00:00:00 ..... 718 408 py_serializable-0.12.0.dist-info/RECORD
------------------- ----- ------------ ------------ ------------------------
2016-01-01 00:00:00 87385 21333 9 files
Note how the wheel contains two identical copies of your LICENSE file:
one copy in the ….dist-info/ directory, picked up automatically by
Poetry, and a second copy in the root directory of the wheel.
Including a generically-named file directly in a wheel’s root directory may cause problems:
The LICENSE file is going to turn up at the top level of
site-packages directly. That’s misleading, because anyone who’d
browse site-packages might conclude that the license be valid for
all packages, not just serializable, which is incorrect.
Having generic files at the top level of site-packages causes
conflicts with other wheels that happen to include the same file.
For example, I’ve had LICENSE files coming from two different
wheels, excluding serializable, sitting at the top level of my
site-packages directory so I could install only one of them.
The fix is to remove the LICENSE pattern from the include list.
Poetry automatically picks up files named LICENSE, and drops them
either into an sdist’s root directory (when building an sdist) or into
py_serializable-[version].dist-info/ (when building a wheel).
Signed-off-by: Claudia <claui@users.noreply.github.com> (31e4003)
c1e8fd8)feat: bump dev dependencies to latest (including mypy fixes)
mypy fixes)Signed-off-by: Paul Horton <paul.horton@owasp.org> (06dcaa2)
mypy fixes)Signed-off-by: Paul Horton <paul.horton@owasp.org> (6d70287)
Automatically generated by python-semantic-release (fa9f9b3)
feat: bump dev dependencies to latest (including mypy fixes) (08b4825)
fix: use defusedxml whenever we load XML to prevent XEE attacks (`ae3d76c`)
fix: use defusedxml whenever we load XML to prevent XEE attacks (ae3d76c)
fix: use defusedxml whenever we load XML to prevent XEE attacks
Signed-off-by: Paul Horton <paul.horton@owasp.org> (32fd5a6)
defusedxml whenever we load XML to prevent XEE attacksSigned-off-by: Paul Horton <paul.horton@owasp.org> (72e0127)
defusedxml whenever we load XML to prevent XEE attacksSigned-off-by: Paul Horton <paul.horton@owasp.org> (de61deb)
defusedxml whenever we load XML to prevent XEE attacksSigned-off-by: Paul Horton <paul.horton@owasp.org> (de26dc3)
Automatically generated by python-semantic-release (0bdccc4)
feat: disabled handling to avoid class attributes that clash with keywords and builtins
keywords and builtinsSigned-off-by: Paul Horton <paul.horton@owasp.org> (4439227)
Automatically generated by python-semantic-release (90de3b8)
commit_author?Signed-off-by: Paul Horton <paul.horton@owasp.org> (4fad001)
Merge branch 'main' of github.com:madpah/serializable (fb46f04)
enable debug for release
Signed-off-by: Paul Horton <paul.horton@owasp.org> (2f4d626)
feat: disabled handling to avoid class attributes that clash with keywords and builtins (2a33bc6)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (0ff402e)
fix: handle empty XML elements during deserialization
feat: ability for custom type_mapping to take lower priority than xml_array
type_mapping to take lower priority than xml_arraySigned-off-by: Paul Horton <paul.horton@owasp.org> (fc0bb22)
Automatically generated by python-semantic-release (58d42ad)
feat: xml_array has higher priority than type_mapping
feat: handle ForwardRef types (664f947)
ForwardRef when we have cyclic references in modelsSigned-off-by: Paul Horton <paul.horton@owasp.org> (a66e700)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (6898b40)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (2cfc44d)
fix: deserializing JSON with custom JSON name was incorrect
Signed-off-by: Paul Horton <paul.horton@owasp.org> (7d4aefc)
Automatically generated by python-semantic-release (ccd610f)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (a77452d)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (1f80c4b)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (8ca9e44)
fix: nested array of Enum values in from_json() failed
from_json() failedSigned-off-by: Paul Horton <paul.horton@owasp.org> (ea4d76a)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (1699c5b)
Automatically generated by python-semantic-release (435126c)
fix: nested array of Enum values in from_xml() failed
from_xml() failedSigned-off-by: Paul Horton <paul.horton@owasp.org> (393a425)
Automatically generated by python-semantic-release (f4e018b)
fix: aligned View definition in unit tests with proper practice
Signed-off-by: Paul Horton <paul.horton@owasp.org> (c7c66f7)
feat: bring library to BETA state
feat: add support for Python 3.11
Signed-off-by: Paul Horton <paul.horton@owasp.org> (c6c36d9)
Automatically generated by python-semantic-release (f5cb856)
feat: bring library to BETA state & add support Python 3.11 (33c6756)
fix: typing for @serializable.view was incorrect
@serializable.view was incorrectSigned-off-by: Paul Horton <paul.horton@owasp.org> (756032b)
@serializable.serializable_enum decorator was incorrectSigned-off-by: Paul Horton <paul.horton@owasp.org> (84e7826)
Automatically generated by python-semantic-release (3332ed9)
fix: typing only (1860d4d)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (fdd5c8a)
fix: Specific None value per View - support for XML was missing
feat: support for specific None values for Properties by View
Signed-off-by: Paul Horton <paul.horton@owasp.org> (a80ee35)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (b728c4c)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (b2ebcfb)
Automatically generated by python-semantic-release (4ccdfc9)
fix: None value for JSON is now None (null) fix: typing and coding standards
fix: support forced inclusion of array properties by using @serializable.include_none
@serializable.include_noneSigned-off-by: Paul Horton <paul.horton@owasp.org> (7ad0ecf)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (12f9f97)
Automatically generated by python-semantic-release (01743f2)
eb82dbc)feat: support for including None values, restricted to certain Views as required
feat: implement views for serialization to JSON and XML
Signed-off-by: Paul Horton <paul.horton@owasp.org> (db57ef1)
Decimal in JSON serializationSigned-off-by: Paul Horton <paul.horton@owasp.org> (cc2c20f)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (e8b37f2)
Automatically generated by python-semantic-release (da20686)
86492e1)feat: support for string formatting of values
Signed-off-by: Paul Horton <paul.horton@owasp.org> (99b8f3e)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (3fefe22)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (c3622fc)
Automatically generated by python-semantic-release (0ede79d)
Merge branch 'main' of github.com:madpah/serializable (5a896c4)
import order
Signed-off-by: Paul Horton <paul.horton@owasp.org> (a2a2ef8)
feat: add support for defining XML element ordering with @serializable.xml_sequence() decorator
@serializable.xml_sequence() decoratorSigned-off-by: Paul Horton <paul.horton@owasp.org> (c1442ae)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (448a3c9)
as_xml() for element namesSigned-off-by: Paul Horton <paul.horton@owasp.org> (3bbfb1b)
as_xml() for attributesSigned-off-by: Paul Horton <paul.horton@owasp.org> (8d6a96b)
Automatically generated by python-semantic-release (3034bd1)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (339e53c)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (8462634)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (f4cf0fa)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (0f9cf68)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (95a864a)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (8eb8704)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (8705180)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (fe3f56a)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (4e7a19f)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (7d268db)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (02caa9e)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (210d41d)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (731d7ae)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (90b8a92)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (3427f4b)
xml_sequence() decoratorSigned-off-by: Paul Horton <paul.horton@owasp.org> (d2211c9)
Merge branch 'main' of github.com:madpah/serializable (6520862)
namespacing for XML output
Signed-off-by: Paul Horton <paul.horton@owasp.org> (2e32f08)
fix: support declaration of XML NS in as_xml() call
fix: deserialization of XML boolean values
fix: fixed deferred parsing for Properties
fix: support for cyclic dependencies
fix: support for non-primitive types when XmlSerializationType == FLAT
fix: support ENUM in XML Attributes
Signed-off-by: Paul Horton <paul.horton@owasp.org> (f2f0922)
Automatically generated by python-semantic-release (adae34c)
Merge branch 'main' of github.com:madpah/serializable (8995505)
code styling
Signed-off-by: Paul Horton <paul.horton@owasp.org> (7ec0197)
fix: handle Array types where the concrete type is quoted in its definition
fix: work to support sortedcontainers as a return type for Properties
fix: better support for Properties that have a Class type that is not a Serializable Class (e.g. UUID)
feat: support ignoring elements/properties during deserialization
fix: update helpers to be properly typed
fix: change to helpers to address typing issues
Signed-off-by: Paul Horton <paul.horton@owasp.org> (1c32ba1)
/ from method signature so we work on Python < 3.8Signed-off-by: Paul Horton <paul.horton@owasp.org> (c45864c)
Automatically generated by python-semantic-release (60045d8)
fix: update to work on python < 3.10
feat: library re-write to utilise decorators
Signed-off-by: Paul Horton <paul.horton@owasp.org> (957fca7)
Automatically generated by python-semantic-release (5bff0a8)
Merge branch 'main' of github.com:madpah/serializable (b14e2c9)
doc changes to reflect move to use of decorators
Signed-off-by: Paul Horton <paul.horton@owasp.org> (9f1b4ca)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (d3633ed)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (3480d71)
print() calls - added loggerSigned-off-by: Paul Horton <paul.horton@owasp.org> (1deee5e)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (375b367)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (d4ab8f4)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (291b37d)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (05d6e5a)
fix: support for Objects that when represented in XML may just be simple elements with attributes
Signed-off-by: Paul Horton <paul.horton@owasp.org> (1369d7d)
Automatically generated by python-semantic-release (291a2b3)
9c34c2f)fix: temporarilty add Any as part of AnySerializable type
fix: direct support for Python Enum
fix: added missing py.typed marker
fix: added helpers for serializing XML dates and times (xsd:date, xsd:datetime)
fix: support for properties whose value is an Type[SerializableObject] but are not List or Set
fix: handle nested objects that are not list or set
Signed-off-by: Paul Horton <paul.horton@owasp.org> (`c95a772`)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (c95a772)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (7af4f9c)
Automatically generated by python-semantic-release (701a522)
Signed-off-by: Paul Horton <paul.horton@owasp.org> (38705a1)
70ca2a5)Your coding agent can read these notes before it upgrades. Set up the MCP server →