objectstate 4.0.0__tar.gz → 4.0.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 (115) hide show
  1. {objectstate-4.0.0 → objectstate-4.0.1}/.github/badges/coverage.svg +1 -1
  2. {objectstate-4.0.0 → objectstate-4.0.1}/CHANGELOG.md +6 -0
  3. {objectstate-4.0.0 → objectstate-4.0.1}/PKG-INFO +2 -2
  4. {objectstate-4.0.0 → objectstate-4.0.1}/pyproject.toml +1 -1
  5. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/__init__.py +1 -1
  6. {objectstate-4.0.0 → objectstate-4.0.1}/.github/workflows/ci.yml +0 -0
  7. {objectstate-4.0.0 → objectstate-4.0.1}/.github/workflows/coverage-pages.yml +0 -0
  8. {objectstate-4.0.0 → objectstate-4.0.1}/.github/workflows/publish.yml +0 -0
  9. {objectstate-4.0.0 → objectstate-4.0.1}/.gitignore +0 -0
  10. {objectstate-4.0.0 → objectstate-4.0.1}/.readthedocs.yaml +0 -0
  11. {objectstate-4.0.0 → objectstate-4.0.1}/BADGE_SETUP.md +0 -0
  12. {objectstate-4.0.0 → objectstate-4.0.1}/LICENSE +0 -0
  13. {objectstate-4.0.0 → objectstate-4.0.1}/README.md +0 -0
  14. {objectstate-4.0.0 → objectstate-4.0.1}/docs/.gitignore +0 -0
  15. {objectstate-4.0.0 → objectstate-4.0.1}/docs/Makefile +0 -0
  16. {objectstate-4.0.0 → objectstate-4.0.1}/docs/api/modules.rst +0 -0
  17. {objectstate-4.0.0 → objectstate-4.0.1}/docs/architectural_fixes.rst +0 -0
  18. {objectstate-4.0.0 → objectstate-4.0.1}/docs/architecture.rst +0 -0
  19. {objectstate-4.0.0 → objectstate-4.0.1}/docs/archive/DOCUMENTATION_AUDIT.md +0 -0
  20. {objectstate-4.0.0 → objectstate-4.0.1}/docs/archive/DOCUMENTATION_FIXES.md +0 -0
  21. {objectstate-4.0.0 → objectstate-4.0.1}/docs/archive/README.md +0 -0
  22. {objectstate-4.0.0 → objectstate-4.0.1}/docs/conf.py +0 -0
  23. {objectstate-4.0.0 → objectstate-4.0.1}/docs/examples/atomic_operations.rst +0 -0
  24. {objectstate-4.0.0 → objectstate-4.0.1}/docs/examples/basic.rst +0 -0
  25. {objectstate-4.0.0 → objectstate-4.0.1}/docs/examples/dual_axis.rst +0 -0
  26. {objectstate-4.0.0 → objectstate-4.0.1}/docs/examples/index.rst +0 -0
  27. {objectstate-4.0.0 → objectstate-4.0.1}/docs/examples/ui.rst +0 -0
  28. {objectstate-4.0.0 → objectstate-4.0.1}/docs/index.rst +0 -0
  29. {objectstate-4.0.0 → objectstate-4.0.1}/docs/make.bat +0 -0
  30. {objectstate-4.0.0 → objectstate-4.0.1}/docs/performance/canonical-context-type-resolution-20261005.json +0 -0
  31. {objectstate-4.0.0 → objectstate-4.0.1}/docs/provenance.rst +0 -0
  32. {objectstate-4.0.0 → objectstate-4.0.1}/docs/quickstart.rst +0 -0
  33. {objectstate-4.0.0 → objectstate-4.0.1}/docs/state_management.rst +0 -0
  34. {objectstate-4.0.0 → objectstate-4.0.1}/docs/state_propagation.rst +0 -0
  35. {objectstate-4.0.0 → objectstate-4.0.1}/docs/undo_redo.rst +0 -0
  36. {objectstate-4.0.0 → objectstate-4.0.1}/paper.bib +0 -0
  37. {objectstate-4.0.0 → objectstate-4.0.1}/paper.md +0 -0
  38. {objectstate-4.0.0 → objectstate-4.0.1}/plans/n_dimensional_inheritance.md +0 -0
  39. {objectstate-4.0.0 → objectstate-4.0.1}/scripts/check_ruff_added_lines.py +0 -0
  40. {objectstate-4.0.0 → objectstate-4.0.1}/scripts/release.py +0 -0
  41. {objectstate-4.0.0 → objectstate-4.0.1}/scripts/update_and_release.py +0 -0
  42. {objectstate-4.0.0 → objectstate-4.0.1}/scripts/update_version.py +0 -0
  43. {objectstate-4.0.0 → objectstate-4.0.1}/scripts/verify_release_ready.py +0 -0
  44. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/codegen.py +0 -0
  45. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/collection_containers.py +0 -0
  46. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/config.py +0 -0
  47. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/construction_binding.py +0 -0
  48. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/context_manager.py +0 -0
  49. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/docs/configuration_framework.rst +0 -0
  50. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/docs/context_system.rst +0 -0
  51. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/docs/object_state_lifecycle.rst +0 -0
  52. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/dual_axis_resolver.py +0 -0
  53. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/edit_session.py +0 -0
  54. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/field_access.py +0 -0
  55. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/global_config.py +0 -0
  56. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/inspection.py +0 -0
  57. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/lazy_factory.py +0 -0
  58. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/live_context_resolver.py +0 -0
  59. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/object_state.py +0 -0
  60. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/object_state_metadata.py +0 -0
  61. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/object_state_registry.py +0 -0
  62. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/parameter_owner.py +0 -0
  63. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/parameter_structure.py +0 -0
  64. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/parametric_axes.py +0 -0
  65. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/placeholder.py +0 -0
  66. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/reified_generics.py +0 -0
  67. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/resolution_sources.py +0 -0
  68. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/scope_key.py +0 -0
  69. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/snapshot_model.py +0 -0
  70. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/subfield_semantics.py +0 -0
  71. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/time_travel_profile.py +0 -0
  72. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/token_cache.py +0 -0
  73. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/transaction_checkpoint.py +0 -0
  74. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/ui_visibility.py +0 -0
  75. {objectstate-4.0.0 → objectstate-4.0.1}/src/objectstate/value_semantics.py +0 -0
  76. {objectstate-4.0.0 → objectstate-4.0.1}/tests/__init__.py +0 -0
  77. {objectstate-4.0.0 → objectstate-4.0.1}/tests/conftest.py +0 -0
  78. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_atomic_block_context.py +0 -0
  79. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_authored_paths.py +0 -0
  80. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_callable_baseline.py +0 -0
  81. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_codegen.py +0 -0
  82. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_config.py +0 -0
  83. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_construction_history.py +0 -0
  84. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_context_failures_surface.py +0 -0
  85. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_context_manager.py +0 -0
  86. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_field_access.py +0 -0
  87. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_global_config.py +0 -0
  88. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_history_persistence.py +0 -0
  89. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_inspection.py +0 -0
  90. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_integration.py +0 -0
  91. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_lazy_counterpart_registry.py +0 -0
  92. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_lazy_factory.py +0 -0
  93. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_live_context_resolver_answers.py +0 -0
  94. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_object_state_metadata_contracts.py +0 -0
  95. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_object_state_restore.py +0 -0
  96. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_object_state_update_instance.py +0 -0
  97. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_one_field_resolution.py +0 -0
  98. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_one_holder_of_the_global_config.py +0 -0
  99. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_parameter_owner.py +0 -0
  100. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_parametric_axes.py +0 -0
  101. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_placeholder.py +0 -0
  102. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_registry_subscription.py +0 -0
  103. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_reified_generics.py +0 -0
  104. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_release_readiness.py +0 -0
  105. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_resolution_precedence_order.py +0 -0
  106. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_resolved_change_notifications.py +0 -0
  107. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_resolved_values_follow_registered_ancestors.py +0 -0
  108. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_scope_key.py +0 -0
  109. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_scopeless_state_resolution.py +0 -0
  110. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_subfield_semantics.py +0 -0
  111. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_timeline_projection.py +0 -0
  112. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_transaction_checkpoint.py +0 -0
  113. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_ui_visible_field_projection.py +0 -0
  114. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_undo_redo_cascade.py +0 -0
  115. {objectstate-4.0.0 → objectstate-4.0.1}/tests/test_value_semantics.py +0 -0
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 82.78%"><title>coverage: 82.78%</title><filter id="blur"><feGaussianBlur stdDeviation="16"/></filter><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#67ac09"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="315" y="150" fill-opacity=".8" filter="url(#blur)" textLength="510">coverage</text><text x="315" y="150" fill-opacity=".3" textLength="510">coverage</text></g><text x="315" y="140" textLength="510">coverage</text></g><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="865" y="150" fill-opacity=".8" filter="url(#blur)" textLength="430">82.78%</text><text x="865" y="150" fill-opacity=".3" textLength="430">82.78%</text></g><text x="865" y="140" textLength="430">82.78%</text></g></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 83.03%"><title>coverage: 83.03%</title><filter id="blur"><feGaussianBlur stdDeviation="16"/></filter><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#67ac09"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="315" y="150" fill-opacity=".8" filter="url(#blur)" textLength="510">coverage</text><text x="315" y="150" fill-opacity=".3" textLength="510">coverage</text></g><text x="315" y="140" textLength="510">coverage</text></g><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="865" y="150" fill-opacity=".8" filter="url(#blur)" textLength="430">83.03%</text><text x="865" y="150" fill-opacity=".3" textLength="430">83.03%</text></g><text x="865" y="140" textLength="430">83.03%</text></g></g></svg>
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.0.1
4
+
5
+ Requires `python-introspect>=0.3.0,<0.4` (was `<0.3`). ObjectState does not call
6
+ python-introspect's JSON codec (`to_jsonable`, `dataclass_from_mapping`), so nothing
7
+ it stores or sends changes form.
8
+
3
9
  ## 4.0.0
4
10
 
5
11
  The global config has one holder (#56). While a state whose object is of the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: objectstate
3
- Version: 4.0.0
3
+ Version: 4.0.1
4
4
  Summary: Generic lazy dataclass configuration framework with dual-axis inheritance and contextvars-based resolution
5
5
  Project-URL: Homepage, https://github.com/OpenHCSDev/objectstate
6
6
  Project-URL: Documentation, https://objectstate.readthedocs.io
@@ -22,7 +22,7 @@ Classifier: Topic :: Utilities
22
22
  Requires-Python: >=3.11
23
23
  Requires-Dist: dill>=0.4.0
24
24
  Requires-Dist: pycodify<0.3,>=0.2.0
25
- Requires-Dist: python-introspect<0.3,>=0.2.0
25
+ Requires-Dist: python-introspect<0.4,>=0.3.0
26
26
  Provides-Extra: dev
27
27
  Requires-Dist: black==26.5.1; extra == 'dev'
28
28
  Requires-Dist: mypy==2.3.0; extra == 'dev'
@@ -26,7 +26,7 @@ keywords = ["configuration", "dataclass", "lazy", "inheritance", "contextvars",
26
26
  dependencies = [
27
27
  "dill>=0.4.0",
28
28
  "pycodify>=0.2.0,<0.3",
29
- "python-introspect>=0.2.0,<0.3",
29
+ "python-introspect>=0.3.0,<0.4",
30
30
  ]
31
31
 
32
32
  [project.optional-dependencies]
@@ -206,7 +206,7 @@ __all__ = [
206
206
  'ObjectStateEditSession',
207
207
  ]
208
208
 
209
- __version__ = "4.0.0"
209
+ __version__ = "4.0.1"
210
210
  __author__ = 'OpenHCS Team'
211
211
  __description__ = 'Generic configuration framework for lazy dataclass resolution'
212
212
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes