nti.externalization 3.0.0__tar.gz → 3.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nti_externalization-3.1.0/.readthedocs.yml +34 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/CHANGES.rst +12 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/MANIFEST.in +1 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/PKG-INFO +13 -1
- nti_externalization-3.1.0/docs/api/datetime.rst +5 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/basics.rst +5 -3
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/pyproject.toml +47 -1
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/setup.py +1 -1
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/__init__.py +7 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/_base_interfaces.c +490 -413
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/_base_interfaces.py +4 -8
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/_compat.py +13 -7
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/_interface_cache.c +129 -128
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/_interface_cache.py +4 -8
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/_threadlocal.py +11 -10
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/autopackage.py +8 -9
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/configure.zcml +8 -8
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/datastructures.c +2311 -2137
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/datastructures.py +29 -28
- nti_externalization-3.0.0/src/nti/externalization/datetime.py → nti_externalization-3.1.0/src/nti/externalization/datetime_ext.py +1 -6
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/dublincore.py +2 -6
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/extension_points.py +0 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/__init__.py +12 -21
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/_externalizer.pxd +1 -2
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/_standard_fields.pxd +2 -2
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/dictionary.c +682 -857
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/dictionary.py +29 -51
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/externalizer.c +958 -932
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/externalizer.py +41 -40
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/fields.c +302 -364
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/fields.py +0 -9
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/replacers.py +4 -5
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/standard_fields.c +358 -358
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/standard_fields.py +1 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/tests/test_externalizer.py +3 -5
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/factory.py +5 -5
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/integer_strings.py +3 -10
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/interfaces.py +10 -13
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/__init__.py +0 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/_externals.pxd +2 -2
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/_factories.pxd +2 -2
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/_fields.pxd +2 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/_legacy_factories.pxd +1 -1
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/_updater.pxd +12 -10
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/events.c +594 -557
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/events.py +11 -11
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/externals.c +366 -466
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/externals.py +2 -17
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/factories.c +786 -873
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/factories.py +14 -20
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/fields.c +1419 -1179
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/fields.py +28 -40
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/legacy_factories.c +1056 -835
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/legacy_factories.py +14 -20
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/tests/test_externals_wo_class_mimetype.py +10 -15
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/tests/test_fields.py +7 -13
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/tests/test_updater.py +5 -10
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/updater.c +1968 -1780
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/updater.py +53 -53
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/numbers.py +0 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/oids.py +6 -8
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/persistence.py +3 -7
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/proxy.py +3 -4
- nti_externalization-3.1.0/src/nti/externalization/py.typed +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/representation.py +85 -32
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/singleton.c +198 -238
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/singleton.py +10 -13
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/testing.py +0 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/__init__.py +4 -8
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/__init__.py +0 -3
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/__main__.py +2 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/bm_simple_iface.py +7 -12
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/bm_simple_iface_list.py +9 -20
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/bm_simple_registered_class.py +3 -5
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/bm_singleton.py +2 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/bm_user_profile.py +0 -5
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/bootstrapinterfaces.py +0 -5
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/interfaces.py +3 -8
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/objects.py +2 -6
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/profileinterfaces.py +5 -9
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test__compat.py +0 -5
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_autopackage.py +3 -7
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_datastructures.py +7 -11
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_datetime.py +8 -11
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_docs.py +1 -5
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_dublincore.py +5 -9
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_externalization.py +37 -38
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_factory.py +2 -7
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_integer_strings.py +0 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_interfaces.py +2 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_internalization.py +12 -17
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_oids.py +4 -8
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_persistence.py +11 -15
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_proxy.py +0 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_singleton.py +1 -6
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_testing.py +0 -4
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_zcml.py +5 -7
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/zcml.py +7 -6
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti.externalization.egg-info/PKG-INFO +13 -1
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti.externalization.egg-info/SOURCES.txt +3 -1
- nti_externalization-3.0.0/docs/api/datetime.rst +0 -5
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/.coveragerc +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/.github/dependabot.yml +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/.github/workflows/tests.yml +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/.isort.cfg +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/.pylintrc +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/AUTHORS +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/COPYRIGHT.txt +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/INSTALL +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/LICENSE +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/README.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/doc-requirements.txt +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/Makefile +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/ADVANCED.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/BASICS.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/HELPERS.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/STRINGS.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/ZODB.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/autopackage.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/datastructures.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/dublincore.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/extension_points.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/externalization.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/factory.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/index.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/integer_strings.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/interfaces.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/internalization.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/oids.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/persistence.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/proxy.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/representation.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/singleton.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/api/zcml.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/changelog.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/conf.py +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/externalization.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/glossary.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/index.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/internalization.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/schemas.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/docs/special_attributes.rst +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/make-manylinux +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/requirements.txt +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/setup.cfg +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/__init__.py +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/__base_interfaces.pxd +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/__interface_cache.pxd +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/_datastructures.pxd +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/_singleton.pxd +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/_decorate.pxd +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/_dictionary.pxd +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/_fields.pxd +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/decorate.c +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/decorate.py +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/externalization/tests/__init__.py +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/_events.pxd +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/internalization/tests/__init__.py +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/meta.zcml +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/configure.zcml +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/benchmarks/profileconfigure.zcml +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_benchmarks.py +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti/externalization/tests/test_representation.py +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti.externalization.egg-info/dependency_links.txt +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti.externalization.egg-info/entry_points.txt +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti.externalization.egg-info/requires.txt +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti.externalization.egg-info/top_level.txt +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/src/nti.externalization.egg-info/zip-safe +0 -0
- {nti_externalization-3.0.0 → nti_externalization-3.1.0}/tox.ini +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# .readthedocs.yml
|
|
2
|
+
# Read the Docs configuration file
|
|
3
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
4
|
+
|
|
5
|
+
# Some things can only be configured on the RTD dashboard.
|
|
6
|
+
# Those that we may have changed from the default include:
|
|
7
|
+
|
|
8
|
+
# Analytics code:
|
|
9
|
+
# Show Version Warning: False
|
|
10
|
+
# Single Version: True
|
|
11
|
+
|
|
12
|
+
# Required
|
|
13
|
+
version: 2
|
|
14
|
+
|
|
15
|
+
# Build documentation in the docs/ directory with Sphinx
|
|
16
|
+
sphinx:
|
|
17
|
+
builder: html
|
|
18
|
+
configuration: docs/conf.py
|
|
19
|
+
|
|
20
|
+
# Set the version of Python and requirements required to build your
|
|
21
|
+
# docs
|
|
22
|
+
|
|
23
|
+
build:
|
|
24
|
+
# os is required for some reason
|
|
25
|
+
os: ubuntu-22.04
|
|
26
|
+
tools:
|
|
27
|
+
python: "3.11"
|
|
28
|
+
|
|
29
|
+
python:
|
|
30
|
+
install:
|
|
31
|
+
- method: pip
|
|
32
|
+
path: .
|
|
33
|
+
extra_requirements:
|
|
34
|
+
- docs
|
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
3.1.0 (2026-05-08)
|
|
7
|
+
==================
|
|
8
|
+
|
|
9
|
+
- Document the ``to_json_representation`` variants and add one
|
|
10
|
+
that guarantees sorted keys. Make the "fast" variant not dependent
|
|
11
|
+
on second-chance externalization.
|
|
12
|
+
- Renamed the "datetime" module to "datetime_ext" to avoid conflicts
|
|
13
|
+
with the standard library. Backwards compatibility shims are in place.
|
|
14
|
+
- Remove some long-deprecated parameters that were typically
|
|
15
|
+
undocumented.
|
|
16
|
+
- Introduce some basic type annotations.
|
|
17
|
+
|
|
6
18
|
3.0.0 (2026-05-07)
|
|
7
19
|
==================
|
|
8
20
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nti.externalization
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.1.0
|
|
4
4
|
Summary: NTI Externalization
|
|
5
5
|
Home-page: https://github.com/OpenNTI/nti.externalization
|
|
6
6
|
Author: Jason Madden
|
|
@@ -105,6 +105,18 @@ Documentation is hosted at https://ntiexternalization.readthedocs.io/
|
|
|
105
105
|
=========
|
|
106
106
|
|
|
107
107
|
|
|
108
|
+
3.1.0 (2026-05-08)
|
|
109
|
+
==================
|
|
110
|
+
|
|
111
|
+
- Document the ``to_json_representation`` variants and add one
|
|
112
|
+
that guarantees sorted keys. Make the "fast" variant not dependent
|
|
113
|
+
on second-chance externalization.
|
|
114
|
+
- Renamed the "datetime" module to "datetime_ext" to avoid conflicts
|
|
115
|
+
with the standard library. Backwards compatibility shims are in place.
|
|
116
|
+
- Remove some long-deprecated parameters that were typically
|
|
117
|
+
undocumented.
|
|
118
|
+
- Introduce some basic type annotations.
|
|
119
|
+
|
|
108
120
|
3.0.0 (2026-05-07)
|
|
109
121
|
==================
|
|
110
122
|
|
|
@@ -556,16 +556,18 @@ keyword arguments to change that:
|
|
|
556
556
|
>>> as_bytes = to_external_representation(address, EXT_REPR_JSON, sort_keys=False, as_str=False)
|
|
557
557
|
>>> assert isinstance(as_bytes, bytes)
|
|
558
558
|
|
|
559
|
-
There are also some convenience functions
|
|
560
|
-
|
|
559
|
+
There are also some convenience functions. The "fast" and "sorted"
|
|
560
|
+
variants bypass utility lookup and directly use the default ``JsonRepresenter``.
|
|
561
561
|
|
|
562
562
|
>>> from nti.externalization import to_json_representation
|
|
563
563
|
>>> from nti.externalization import to_json_representation_fast
|
|
564
|
+
>>> from nti.externalization import to_json_representation_sorted
|
|
564
565
|
>>> to_json_representation(address)
|
|
565
566
|
'{"Class":"Address",...
|
|
566
567
|
>>> as_bytes = to_json_representation_fast(address)
|
|
567
568
|
>>> assert isinstance(as_bytes, bytes)
|
|
568
|
-
|
|
569
|
+
>>> to_json_representation_sorted(address)
|
|
570
|
+
'{"Class":"Address","city":"Cupertino",...
|
|
569
571
|
|
|
570
572
|
Loading from a string doesn't have a shortcut, we need to use the
|
|
571
573
|
utility:
|
|
@@ -17,8 +17,54 @@ requires = [
|
|
|
17
17
|
# failing in Python 2 (https://travis-ci.org/github/gevent/gevent/jobs/683782800);
|
|
18
18
|
# This was fixed in 3.0a5 (https://github.com/cython/cython/issues/3578)
|
|
19
19
|
# 3.0a6 fixes an issue cythonizing source on 32-bit platforms
|
|
20
|
-
"Cython >= 3.2.
|
|
20
|
+
"Cython >= 3.2.4",
|
|
21
21
|
]
|
|
22
22
|
|
|
23
23
|
[tool.check-manifest]
|
|
24
24
|
ignore = ["*.c"]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
[tool.mypy]
|
|
28
|
+
# Must be present for mypy to read this file.
|
|
29
|
+
follow_imports = "normal"
|
|
30
|
+
check_untyped_defs = true
|
|
31
|
+
allow_redefinition = true
|
|
32
|
+
disable_error_code = [
|
|
33
|
+
"method-assign"
|
|
34
|
+
]
|
|
35
|
+
# Our tests are in terrible shape
|
|
36
|
+
# and will need some work to be clean
|
|
37
|
+
exclude = [
|
|
38
|
+
'test_.*\.py',
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
[[tool.mypy.overrides]]
|
|
42
|
+
# third-party untyped code
|
|
43
|
+
module = [
|
|
44
|
+
"ZODB.*",
|
|
45
|
+
"zope.*",
|
|
46
|
+
"persistent.*",
|
|
47
|
+
"cpuinfo",
|
|
48
|
+
"nti.*",
|
|
49
|
+
"botocore.*",
|
|
50
|
+
"fsspec.*",
|
|
51
|
+
"transaction",
|
|
52
|
+
"grpc",
|
|
53
|
+
"grpc_health.*",
|
|
54
|
+
"google.type.*",
|
|
55
|
+
"zc.*",
|
|
56
|
+
"z3c.*",
|
|
57
|
+
"netaddr.*",
|
|
58
|
+
"dnslib",
|
|
59
|
+
"cytoolz.*",
|
|
60
|
+
"toolz.*",
|
|
61
|
+
"boto3.*",
|
|
62
|
+
"pg8000",
|
|
63
|
+
"urllib3.*",
|
|
64
|
+
"indexed_gzip",
|
|
65
|
+
"pyperf",
|
|
66
|
+
"isodate",
|
|
67
|
+
"vmprof"
|
|
68
|
+
|
|
69
|
+
]
|
|
70
|
+
ignore_missing_imports = true
|
|
@@ -10,6 +10,7 @@ __all__ = [
|
|
|
10
10
|
'update_from_external_object',
|
|
11
11
|
'to_json_representation_fast',
|
|
12
12
|
'to_json_representation',
|
|
13
|
+
'to_json_representation_sorted',
|
|
13
14
|
]
|
|
14
15
|
|
|
15
16
|
from nti.externalization.externalization import to_external_object
|
|
@@ -17,6 +18,12 @@ from nti.externalization.externalization import to_standard_external_dictionary
|
|
|
17
18
|
|
|
18
19
|
from nti.externalization.representation import to_external_representation
|
|
19
20
|
from nti.externalization.representation import to_json_representation_fast
|
|
21
|
+
from nti.externalization.representation import to_json_representation_sorted
|
|
20
22
|
from nti.externalization.representation import to_json_representation
|
|
21
23
|
from nti.externalization.internalization import new_from_external_object
|
|
22
24
|
from nti.externalization.internalization import update_from_external_object
|
|
25
|
+
|
|
26
|
+
# BWC hacks
|
|
27
|
+
import sys
|
|
28
|
+
import nti.externalization.datetime_ext as datetime
|
|
29
|
+
sys.modules['nti.externalization.datetime'] = datetime
|