nti.externalization 3.2.0__tar.gz → 3.2.1__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.
Files changed (168) hide show
  1. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/CHANGES.rst +8 -0
  2. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/PKG-INFO +9 -1
  3. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/setup.py +1 -1
  4. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/_base_interfaces.c +30 -40
  5. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/_datastructures.pxd +1 -1
  6. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/_interface_cache.c +9 -13
  7. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/datastructures.c +750 -759
  8. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/datastructures.py +9 -6
  9. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/decorate.c +9 -13
  10. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/dictionary.c +71 -75
  11. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/externalizer.c +76 -80
  12. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/fields.c +63 -67
  13. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/standard_fields.c +69 -73
  14. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/events.c +45 -49
  15. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/externals.c +11 -15
  16. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/factories.c +65 -69
  17. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/fields.c +36 -46
  18. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/legacy_factories.c +8 -12
  19. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/updater.c +95 -99
  20. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/singleton.c +8 -12
  21. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_datastructures.py +2 -2
  22. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/zcml.py +0 -1
  23. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti.externalization.egg-info/PKG-INFO +9 -1
  24. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/.coveragerc +0 -0
  25. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/.github/dependabot.yml +0 -0
  26. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/.github/workflows/tests.yml +0 -0
  27. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/.isort.cfg +0 -0
  28. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/.pylintrc +0 -0
  29. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/.readthedocs.yml +0 -0
  30. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/AUTHORS +0 -0
  31. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/COPYRIGHT.txt +0 -0
  32. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/INSTALL +0 -0
  33. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/LICENSE +0 -0
  34. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/MANIFEST.in +0 -0
  35. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/README.rst +0 -0
  36. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/doc-requirements.txt +0 -0
  37. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/Makefile +0 -0
  38. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/ADVANCED.rst +0 -0
  39. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/BASICS.rst +0 -0
  40. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/HELPERS.rst +0 -0
  41. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/STRINGS.rst +0 -0
  42. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/ZODB.rst +0 -0
  43. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/autopackage.rst +0 -0
  44. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/datastructures.rst +0 -0
  45. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/datetime.rst +0 -0
  46. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/dublincore.rst +0 -0
  47. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/extension_points.rst +0 -0
  48. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/externalization.rst +0 -0
  49. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/factory.rst +0 -0
  50. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/index.rst +0 -0
  51. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/integer_strings.rst +0 -0
  52. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/interfaces.rst +0 -0
  53. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/internalization.rst +0 -0
  54. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/oids.rst +0 -0
  55. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/persistence.rst +0 -0
  56. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/proxy.rst +0 -0
  57. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/representation.rst +0 -0
  58. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/singleton.rst +0 -0
  59. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/api/zcml.rst +0 -0
  60. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/basics.rst +0 -0
  61. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/changelog.rst +0 -0
  62. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/conf.py +0 -0
  63. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/externalization.rst +0 -0
  64. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/glossary.rst +0 -0
  65. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/index.rst +0 -0
  66. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/internalization.rst +0 -0
  67. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/schemas.rst +0 -0
  68. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/docs/special_attributes.rst +0 -0
  69. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/make-manylinux +0 -0
  70. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/pyproject.toml +0 -0
  71. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/requirements.txt +0 -0
  72. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/setup.cfg +0 -0
  73. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/__init__.py +0 -0
  74. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/__base_interfaces.pxd +0 -0
  75. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/__init__.py +0 -0
  76. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/__interface_cache.pxd +0 -0
  77. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/_base_interfaces.py +0 -0
  78. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/_compat.py +0 -0
  79. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/_interface_cache.py +0 -0
  80. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/_singleton.pxd +0 -0
  81. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/_threadlocal.py +0 -0
  82. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/autopackage.py +0 -0
  83. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/configure.zcml +0 -0
  84. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/datetime_ext.py +0 -0
  85. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/dublincore.py +0 -0
  86. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/extension_points.py +0 -0
  87. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/__init__.py +0 -0
  88. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/_decorate.pxd +0 -0
  89. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/_dictionary.pxd +0 -0
  90. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/_externalizer.pxd +0 -0
  91. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/_fields.pxd +0 -0
  92. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/_standard_fields.pxd +0 -0
  93. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/decorate.py +0 -0
  94. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/dictionary.py +0 -0
  95. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/externalizer.py +0 -0
  96. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/fields.py +0 -0
  97. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/replacers.py +0 -0
  98. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/standard_fields.py +0 -0
  99. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/tests/__init__.py +0 -0
  100. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/externalization/tests/test_externalizer.py +0 -0
  101. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/factory.py +0 -0
  102. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/integer_strings.py +0 -0
  103. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/interfaces.py +0 -0
  104. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/__init__.py +0 -0
  105. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/_events.pxd +0 -0
  106. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/_externals.pxd +0 -0
  107. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/_factories.pxd +0 -0
  108. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/_fields.pxd +0 -0
  109. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/_legacy_factories.pxd +0 -0
  110. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/_updater.pxd +0 -0
  111. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/events.py +0 -0
  112. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/externals.py +0 -0
  113. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/factories.py +0 -0
  114. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/fields.py +0 -0
  115. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/legacy_factories.py +0 -0
  116. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/tests/__init__.py +0 -0
  117. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/tests/test_externals_wo_class_mimetype.py +0 -0
  118. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/tests/test_fields.py +0 -0
  119. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/tests/test_updater.py +0 -0
  120. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/internalization/updater.py +0 -0
  121. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/meta.zcml +0 -0
  122. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/numbers.py +0 -0
  123. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/oids.py +0 -0
  124. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/persistence.py +0 -0
  125. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/proxy.py +0 -0
  126. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/py.typed +0 -0
  127. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/representation.py +0 -0
  128. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/singleton.py +0 -0
  129. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/testing.py +0 -0
  130. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/__init__.py +0 -0
  131. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/__init__.py +0 -0
  132. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/__main__.py +0 -0
  133. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/bm_simple_iface.py +0 -0
  134. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/bm_simple_iface_list.py +0 -0
  135. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/bm_simple_registered_class.py +0 -0
  136. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/bm_singleton.py +0 -0
  137. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/bm_user_profile.py +0 -0
  138. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/bootstrapinterfaces.py +0 -0
  139. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/configure.zcml +0 -0
  140. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/interfaces.py +0 -0
  141. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/objects.py +0 -0
  142. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/profileconfigure.zcml +0 -0
  143. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/benchmarks/profileinterfaces.py +0 -0
  144. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test__compat.py +0 -0
  145. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_autopackage.py +0 -0
  146. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_benchmarks.py +0 -0
  147. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_datetime.py +0 -0
  148. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_docs.py +0 -0
  149. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_dublincore.py +0 -0
  150. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_externalization.py +0 -0
  151. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_factory.py +0 -0
  152. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_integer_strings.py +0 -0
  153. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_interfaces.py +0 -0
  154. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_internalization.py +0 -0
  155. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_oids.py +0 -0
  156. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_persistence.py +0 -0
  157. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_proxy.py +0 -0
  158. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_representation.py +0 -0
  159. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_singleton.py +0 -0
  160. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_testing.py +0 -0
  161. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti/externalization/tests/test_zcml.py +0 -0
  162. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti.externalization.egg-info/SOURCES.txt +0 -0
  163. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti.externalization.egg-info/dependency_links.txt +0 -0
  164. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti.externalization.egg-info/entry_points.txt +0 -0
  165. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti.externalization.egg-info/requires.txt +0 -0
  166. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti.externalization.egg-info/top_level.txt +0 -0
  167. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/src/nti.externalization.egg-info/zip-safe +0 -0
  168. {nti_externalization-3.2.0 → nti_externalization-3.2.1}/tox.ini +0 -0
@@ -3,6 +3,14 @@
3
3
  =========
4
4
 
5
5
 
6
+ 3.2.1 (2026-06-02)
7
+ ==================
8
+
9
+ - Make internalizing anonymous dictionary objects
10
+ support ``IMapping`` fields, rather than only its subclass
11
+ ``IDict``.
12
+
13
+
6
14
  3.2.0 (2026-05-19)
7
15
  ==================
8
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nti.externalization
3
- Version: 3.2.0
3
+ Version: 3.2.1
4
4
  Summary: NTI Externalization
5
5
  Home-page: https://github.com/OpenNTI/nti.externalization
6
6
  Author: Jason Madden
@@ -106,6 +106,14 @@ Documentation is hosted at https://ntiexternalization.readthedocs.io/
106
106
  =========
107
107
 
108
108
 
109
+ 3.2.1 (2026-06-02)
110
+ ==================
111
+
112
+ - Make internalizing anonymous dictionary objects
113
+ support ``IMapping`` fields, rather than only its subclass
114
+ ``IDict``.
115
+
116
+
109
117
  3.2.0 (2026-05-19)
110
118
  ==================
111
119
 
@@ -148,7 +148,7 @@ if not PYPY:
148
148
 
149
149
  setup(
150
150
  name='nti.externalization',
151
- version='3.2.0',
151
+ version='3.2.1',
152
152
  author='Jason Madden',
153
153
  author_email='jason@seecoresoftware.com',
154
154
  description="NTI Externalization",
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.2.4 */
1
+ /* Generated by Cython 3.2.5 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -34,8 +34,8 @@ END: Cython Metadata */
34
34
  #elif PY_VERSION_HEX < 0x03080000
35
35
  #error Cython requires Python 3.8+.
36
36
  #else
37
- #define __PYX_ABI_VERSION "3_2_4"
38
- #define CYTHON_HEX_VERSION 0x030204F0
37
+ #define __PYX_ABI_VERSION "3_2_5"
38
+ #define CYTHON_HEX_VERSION 0x030205F0
39
39
  #define CYTHON_FUTURE_DIVISION 1
40
40
  /* CModulePreamble */
41
41
  #include <stddef.h>
@@ -6019,7 +6019,7 @@ static int __pyx_pw_3nti_15externalization_17__base_interfaces_21Externalization
6019
6019
  {
6020
6020
  PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_use_iso8601_for_unix_timestamp,0};
6021
6021
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
6022
- if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 292, __pyx_L3_error)
6022
+ if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 292, __pyx_L3_error)
6023
6023
  if (__pyx_kwds_len > 0) {
6024
6024
  switch (__pyx_nargs) {
6025
6025
  case 1:
@@ -9129,11 +9129,11 @@ __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
9129
9129
  res = PyTuple_New(n);
9130
9130
  if (unlikely(res == NULL)) return NULL;
9131
9131
  for (i = 0; i < n; i++) {
9132
+ Py_INCREF(src[i]);
9132
9133
  if (unlikely(__Pyx_PyTuple_SET_ITEM(res, i, src[i]) < (0))) {
9133
9134
  Py_DECREF(res);
9134
9135
  return NULL;
9135
9136
  }
9136
- Py_INCREF(src[i]);
9137
9137
  }
9138
9138
  return res;
9139
9139
  }
@@ -9924,6 +9924,7 @@ static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) {
9924
9924
  }
9925
9925
  PyException_SetCause(new_exc, val); // steals ref to val
9926
9926
  PyErr_SetObject(PyExc_RuntimeError, new_exc);
9927
+ Py_DECREF(new_exc);
9927
9928
  }
9928
9929
 
9929
9930
  /* PyErrFetchRestore (used by IterFinish) */
@@ -12256,7 +12257,6 @@ __Pyx_CyFunction_get_is_coroutine_value(__pyx_CyFunctionObject *op) {
12256
12257
  PyList_SET_ITEM(fromlist, 0, marker);
12257
12258
  #else
12258
12259
  if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
12259
- Py_DECREF(marker);
12260
12260
  Py_DECREF(fromlist);
12261
12261
  return NULL;
12262
12262
  }
@@ -12497,8 +12497,7 @@ __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
12497
12497
  Py_CLEAR(m->func_doc);
12498
12498
  Py_CLEAR(m->func_globals);
12499
12499
  Py_CLEAR(m->func_code);
12500
- #if !CYTHON_COMPILING_IN_LIMITED_API
12501
- #if PY_VERSION_HEX < 0x030900B1
12500
+ #if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
12502
12501
  Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
12503
12502
  #else
12504
12503
  {
@@ -12506,7 +12505,6 @@ __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
12506
12505
  ((PyCMethodObject *) (m))->mm_class = NULL;
12507
12506
  Py_XDECREF(cls);
12508
12507
  }
12509
- #endif
12510
12508
  #endif
12511
12509
  Py_CLEAR(m->defaults_tuple);
12512
12510
  Py_CLEAR(m->defaults_kwdict);
@@ -12558,11 +12556,10 @@ static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit,
12558
12556
  Py_VISIT(m->func_doc);
12559
12557
  Py_VISIT(m->func_globals);
12560
12558
  __Pyx_VISIT_CONST(m->func_code);
12561
- #if !CYTHON_COMPILING_IN_LIMITED_API
12562
12559
  Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
12563
- #endif
12564
12560
  Py_VISIT(m->defaults_tuple);
12565
12561
  Py_VISIT(m->defaults_kwdict);
12562
+ Py_VISIT(m->func_annotations);
12566
12563
  Py_VISIT(m->func_is_coroutine);
12567
12564
  Py_VISIT(m->defaults);
12568
12565
  return 0;
@@ -13351,8 +13348,8 @@ bad:
13351
13348
  #if CYTHON_VECTORCALL
13352
13349
  static int __Pyx_VectorcallBuilder_AddArg(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
13353
13350
  (void)__Pyx_PyObject_FastCallDict;
13354
- if (__Pyx_PyTuple_SET_ITEM(builder, n, key) != (0)) return -1;
13355
13351
  Py_INCREF(key);
13352
+ if (__Pyx_PyTuple_SET_ITEM(builder, n, key) != (0)) return -1;
13356
13353
  args[n] = value;
13357
13354
  return 0;
13358
13355
  }
@@ -15055,7 +15052,8 @@ static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject
15055
15052
  ret = __Pyx_PyObject_Call(meth, args, NULL);
15056
15053
  } else {
15057
15054
  PyObject *cargs[4] = {NULL, typ, val, tb};
15058
- ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
15055
+ size_t nargs = 1U + (val != NULL) + (tb != NULL);
15056
+ ret = __Pyx_PyObject_FastCall(meth, cargs+1, nargs | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
15059
15057
  }
15060
15058
  Py_DECREF(meth);
15061
15059
  }
@@ -15252,14 +15250,10 @@ __Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void
15252
15250
  __Pyx_Py_XDECREF_SET(self->gi_qualname, value);
15253
15251
  return 0;
15254
15252
  }
15255
- static PyObject *
15256
- __Pyx__Coroutine_get_frame(__pyx_CoroutineObject *self)
15257
- {
15258
15253
  #if !CYTHON_COMPILING_IN_LIMITED_API
15254
+ static PyObject *
15255
+ __Pyx__Coroutine_get_frame_locked(__pyx_CoroutineObject *self) {
15259
15256
  PyObject *frame;
15260
- #if PY_VERSION_HEX >= 0x030d0000
15261
- Py_BEGIN_CRITICAL_SECTION(self);
15262
- #endif
15263
15257
  frame = self->gi_frame;
15264
15258
  if (!frame) {
15265
15259
  if (unlikely(!self->gi_code)) {
@@ -15284,9 +15278,17 @@ __Pyx__Coroutine_get_frame(__pyx_CoroutineObject *self)
15284
15278
  }
15285
15279
  }
15286
15280
  Py_INCREF(frame);
15287
- #if PY_VERSION_HEX >= 0x030d0000
15288
- Py_END_CRITICAL_SECTION();
15289
- #endif
15281
+ return frame;
15282
+ }
15283
+ #endif
15284
+ static PyObject *
15285
+ __Pyx__Coroutine_get_frame(__pyx_CoroutineObject *self)
15286
+ {
15287
+ #if !CYTHON_COMPILING_IN_LIMITED_API
15288
+ PyObject *frame;
15289
+ __Pyx_BEGIN_CRITICAL_SECTION((PyObject*)self);
15290
+ frame = __Pyx__Coroutine_get_frame_locked(self);
15291
+ __Pyx_END_CRITICAL_SECTION();
15290
15292
  return frame;
15291
15293
  #else
15292
15294
  CYTHON_UNUSED_VAR(self);
@@ -15347,35 +15349,23 @@ static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
15347
15349
  }
15348
15350
  static char __Pyx_Coroutine_test_and_set_is_running(__pyx_CoroutineObject *gen) {
15349
15351
  char result;
15350
- #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
15351
- Py_BEGIN_CRITICAL_SECTION(gen);
15352
- #endif
15352
+ __Pyx_BEGIN_CRITICAL_SECTION((PyObject*)gen);
15353
15353
  result = gen->is_running;
15354
15354
  gen->is_running = 1;
15355
- #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
15356
- Py_END_CRITICAL_SECTION();
15357
- #endif
15355
+ __Pyx_END_CRITICAL_SECTION();
15358
15356
  return result;
15359
15357
  }
15360
15358
  static void __Pyx_Coroutine_unset_is_running(__pyx_CoroutineObject *gen) {
15361
- #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
15362
- Py_BEGIN_CRITICAL_SECTION(gen);
15363
- #endif
15359
+ __Pyx_BEGIN_CRITICAL_SECTION((PyObject*)gen);
15364
15360
  assert(gen->is_running);
15365
15361
  gen->is_running = 0;
15366
- #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
15367
- Py_END_CRITICAL_SECTION();
15368
- #endif
15362
+ __Pyx_END_CRITICAL_SECTION();
15369
15363
  }
15370
15364
  static char __Pyx_Coroutine_get_is_running(__pyx_CoroutineObject *gen) {
15371
15365
  char result;
15372
- #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
15373
- Py_BEGIN_CRITICAL_SECTION(gen);
15374
- #endif
15366
+ __Pyx_BEGIN_CRITICAL_SECTION((PyObject*)gen);
15375
15367
  result = gen->is_running;
15376
- #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
15377
- Py_END_CRITICAL_SECTION();
15378
- #endif
15368
+ __Pyx_END_CRITICAL_SECTION();
15379
15369
  return result;
15380
15370
  }
15381
15371
  static PyObject *__Pyx_Coroutine_get_is_running_getter(PyObject *gen, void *closure) {
@@ -32,7 +32,7 @@ cdef make_repr
32
32
  cdef isSyntheticKey
33
33
  cdef find_most_derived_interface
34
34
  cdef NotGiven
35
- cdef IDict_providedBy
35
+ cdef IMapping_providedBy
36
36
  cdef IObject_providedBy
37
37
  cdef _anonymous_dict_factory
38
38
 
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.2.4 */
1
+ /* Generated by Cython 3.2.5 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -34,8 +34,8 @@ END: Cython Metadata */
34
34
  #elif PY_VERSION_HEX < 0x03080000
35
35
  #error Cython requires Python 3.8+.
36
36
  #else
37
- #define __PYX_ABI_VERSION "3_2_4"
38
- #define CYTHON_HEX_VERSION 0x030204F0
37
+ #define __PYX_ABI_VERSION "3_2_5"
38
+ #define CYTHON_HEX_VERSION 0x030205F0
39
39
  #define CYTHON_FUTURE_DIVISION 1
40
40
  /* CModulePreamble */
41
41
  #include <stddef.h>
@@ -3195,7 +3195,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
3195
3195
  {
3196
3196
  PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_key,&__pyx_mstate_global->__pyx_n_u_provided_by,0};
3197
3197
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
3198
- if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 39, __pyx_L3_error)
3198
+ if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 39, __pyx_L3_error)
3199
3199
  if (__pyx_kwds_len > 0) {
3200
3200
  switch (__pyx_nargs) {
3201
3201
  case 2:
@@ -3401,7 +3401,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
3401
3401
  {
3402
3402
  PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_externalizer,&__pyx_mstate_global->__pyx_n_u_ext_self,0};
3403
3403
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
3404
- if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 58, __pyx_L3_error)
3404
+ if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 58, __pyx_L3_error)
3405
3405
  if (__pyx_kwds_len > 0) {
3406
3406
  switch (__pyx_nargs) {
3407
3407
  case 2:
@@ -4977,11 +4977,11 @@ __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
4977
4977
  res = PyTuple_New(n);
4978
4978
  if (unlikely(res == NULL)) return NULL;
4979
4979
  for (i = 0; i < n; i++) {
4980
+ Py_INCREF(src[i]);
4980
4981
  if (unlikely(__Pyx_PyTuple_SET_ITEM(res, i, src[i]) < (0))) {
4981
4982
  Py_DECREF(res);
4982
4983
  return NULL;
4983
4984
  }
4984
- Py_INCREF(src[i]);
4985
4985
  }
4986
4986
  return res;
4987
4987
  }
@@ -6385,7 +6385,6 @@ __Pyx_CyFunction_get_is_coroutine_value(__pyx_CyFunctionObject *op) {
6385
6385
  PyList_SET_ITEM(fromlist, 0, marker);
6386
6386
  #else
6387
6387
  if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
6388
- Py_DECREF(marker);
6389
6388
  Py_DECREF(fromlist);
6390
6389
  return NULL;
6391
6390
  }
@@ -6626,8 +6625,7 @@ __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
6626
6625
  Py_CLEAR(m->func_doc);
6627
6626
  Py_CLEAR(m->func_globals);
6628
6627
  Py_CLEAR(m->func_code);
6629
- #if !CYTHON_COMPILING_IN_LIMITED_API
6630
- #if PY_VERSION_HEX < 0x030900B1
6628
+ #if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
6631
6629
  Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
6632
6630
  #else
6633
6631
  {
@@ -6635,7 +6633,6 @@ __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
6635
6633
  ((PyCMethodObject *) (m))->mm_class = NULL;
6636
6634
  Py_XDECREF(cls);
6637
6635
  }
6638
- #endif
6639
6636
  #endif
6640
6637
  Py_CLEAR(m->defaults_tuple);
6641
6638
  Py_CLEAR(m->defaults_kwdict);
@@ -6687,11 +6684,10 @@ static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit,
6687
6684
  Py_VISIT(m->func_doc);
6688
6685
  Py_VISIT(m->func_globals);
6689
6686
  __Pyx_VISIT_CONST(m->func_code);
6690
- #if !CYTHON_COMPILING_IN_LIMITED_API
6691
6687
  Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
6692
- #endif
6693
6688
  Py_VISIT(m->defaults_tuple);
6694
6689
  Py_VISIT(m->defaults_kwdict);
6690
+ Py_VISIT(m->func_annotations);
6695
6691
  Py_VISIT(m->func_is_coroutine);
6696
6692
  Py_VISIT(m->defaults);
6697
6693
  return 0;
@@ -8698,8 +8694,8 @@ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
8698
8694
  #if CYTHON_VECTORCALL
8699
8695
  static int __Pyx_VectorcallBuilder_AddArg(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
8700
8696
  (void)__Pyx_PyObject_FastCallDict;
8701
- if (__Pyx_PyTuple_SET_ITEM(builder, n, key) != (0)) return -1;
8702
8697
  Py_INCREF(key);
8698
+ if (__Pyx_PyTuple_SET_ITEM(builder, n, key) != (0)) return -1;
8703
8699
  args[n] = value;
8704
8700
  return 0;
8705
8701
  }