pyvider-cty
2025-11-23
Pristine release with Diataxis documentation, import modernization, and test expansion
322 files · 23,777+ · 7,129-
Import Modernization
2 files changed
__init__.pyConverted all relative imports to absolute imports across the entire src/pyvider/cty/ packagecodec.pyConverted all relative imports to absolute imports across the entire src/pyvider/cty/ package
- Converted all relative imports (
from .types import ...) to absolute imports (from pyvider.cty.types import ...) across the entiresrc/pyvider/cty/package instantiate internal59 files
README.md__init__.py_version.pycodec.py__init__.pydefaults.pyruntime.py__init__.pyvalidation_context.py__init__.py_cache.py_utils.pyadapter.pyexplicit.pyinference_cache.pyraw_to_cty.pytype_encoder.py__init__.pybase.pyconversion.pyencoding.pyvalidation.py__init__.pybytes_functions.pycollection_functions.pycomparison_functions.pyconversion_functions.pydatetime_functions.pyencoding_functions.pynumeric_functions.pystring_functions.pystructural_functions.pymarks.pyparser.py__init__.pybase.pypy.typed__init__.pybase.pycapsule.pycapsule_types.py__init__.pylist.pymap.pyset.py__init__.pybool.pynumber.pystring.py__init__.pydynamic.pyobject.pytuple.pyvalidation.py__init__.pyrecursion.py__init__.pybase.pymarkers.py
- Added
from __future__ import annotationsto all source modules for forward-reference support specify internal5 files
__init__.pycodec.pybase.pybase.py__init__.py
SPDX License Headers
2 files changed
__init__.pyAdded SPDX license headers to all source and test filescodec.pyAdded SPDX license headers to all source and test files
Dependency Migration
2 files changed
pyproject.tomlReplaced pyvider-telemetry with provide-foundation; consolidated dev deps into provide-testkitcodec.pyIntegrated provide.foundation.errors.error_boundary for error handling
- Replaced
pyvider-telemetrydependency withprovide-foundationbaseline behavioral2 files
pyproject.tomluv.lock
- Integrated
provide.foundation.errors.error_boundaryfor error handling in codec remediate internal1 file
codec.py
- Adopted
provide.foundation.utils.get_versionfor dynamic version resolution baseline internal2 files
_version.pypyproject.toml
- Dev dependencies consolidated into
provide-testkit[standard,advanced-testing,typecheck,build]qualify internal1 file
pyproject.toml
Configuration Centralization (`config/defaults.py`)
2 files changed
defaults.pyModifiedruntime.pyModified
- New
config/package withdefaults.py(357 lines) centralizing all magic numbers, error message templates, and protocol constants instantiate behavioral1 file
defaults.py
runtime.pyadded for runtime configuration management instantiate internal1 file
runtime.py
- Codec module refactored to use named constants (
MSGPACK_EXT_TYPE_CTY,REFINEMENT_STRING_PREFIX, etc.) instead of inline magic numbers decouple internal2 files
defaults.pyruntime.py
Codec Refactoring
1 file changed
codec.pyExtracted helper functions, replaced if/elif with match/case, modernized annotations
- Extracted helper functions:
_decode_number_value(),_extract_refinements_from_payload(),_decode_refined_unknown_payload()decouple internal1 file
codec.py
- Replaced nested if/elif chain with
match/casestatement in_ext_hook()decouple internal1 file
codec.py
- Extracted
_serialize_object_value(),_serialize_map_value()from monolithic serialization function decouple internal1 file
codec.py
- Changed string-quoted type annotations to use
from __future__ import annotationsspecify internal1 file
codec.py
Build Configuration
1 file changed
VERSIONModified
- Version now dynamic, read from
VERSIONfile via setuptools baseline internal1 file
VERSION
- Python requirement lowered from
>=3.12to>=3.11baseline internal1 file
VERSION
- Added Python 3.11, 3.12, 3.14 to classifiers
instantiate
internal
1 file
VERSION
- Ruff line-length increased from 88 to 111
baseline
internal
1 file
VERSION
- Added project URLs (Homepage, Documentation, Repository, Issues)
instantiate
internal
1 file
VERSION
- Added
docsdependency group for documentation tooling specify internal1 file
VERSION
Documentation Overhaul
7 files changed
CHANGELOG.mdModifiedCONTRIBUTING.mdModifiedREADME.mdModifiedch18_go_cty_comparison.mdModifiedch01_welcome.mdModifiedmkdocs.ymlModifiedREADME.mdModified
- Added
mkdocs.yml(170 lines) for MkDocs Material documentation site instantiate internal1 file
mkdocs.yml
- Restructured docs into Diataxis categories: getting-started, user-guide, how-to, reference, API
specify
architectural
7 files
CHANGELOG.mdCONTRIBUTING.mdREADME.mdch18_go_cty_comparison.mdch01_welcome.mdmkdocs.ymlREADME.md
- Removed old sequential chapter-based guide (
docs/guide/ch01_welcome.mdthroughch18_go_cty_comparison.md) specify internal2 files
ch18_go_cty_comparison.mdch01_welcome.md
- Added comprehensive how-to guides: custom types, migration from go-cty, serialization, validation, Terraform interop
instantiate
internal
7 files
CHANGELOG.mdCONTRIBUTING.mdREADME.mdch18_go_cty_comparison.mdch01_welcome.mdmkdocs.ymlREADME.md
- Added reference docs: configuration, glossary, go-cty comparison, troubleshooting (756 lines), release notes
specify
internal
7 files
CHANGELOG.mdCONTRIBUTING.mdREADME.mdch18_go_cty_comparison.mdch01_welcome.mdmkdocs.ymlREADME.md
- Removed old benchmark files from
docs/benchmarks/deprecate internal5 files
benchmark-20250725-1329-after.txtbenchmark-20250725-1329-before.txtbenchmark-20250725-1336-after.txtbenchmark-20250725-1336-before.txtbenchmark-20250725-1421-before.txt
- Removed
src/pyvider/cty/README.md(151-line informal README) specify internal2 files
README.mdREADME.md
- Added
CHANGELOG.md(118 lines) andCONTRIBUTING.md(287 lines) specify internal2 files
CHANGELOG.mdCONTRIBUTING.md
Examples Restructuring
7 files changed
ch02_getting_started.pyModifiedch09_capsule_types.pyModifiedfunctions.pyModifiedmarks.pyModifiedquick-start.pyModifiedserialization.pyModifiedterraform-interop.pyModified
- Reorganized examples from flat chapter-based files (
ch02_getting_started.py,ch09_capsule_types.py, etc.) into categorized directories:getting-started/,types/,advanced/decouple internal2 files
ch02_getting_started.pych09_capsule_types.py
- Added new examples:
quick-start.py,functions.py,marks.py,serialization.py,terraform-interop.pyinstantiate internal5 files
functions.pymarks.pyquick-start.pyserialization.pyterraform-interop.py
Test Suite Expansion
25 files changed
test_adversarial_fuzzing.pyModifiedtest_capsule_edge_cases.pyModifiedtest_codec_fuzzing.pyModifiedtest_collection_creation_functions.pyModifiedtest_collection_query_functions.pyModifiedtest_collection_transform_functions.pyModifiedtest_comparison_functions.pyModifiedtest_error_context_integration.pyModifiedtest_exception_coverage.pyModifiedtest_extreme_scale.pyModifiedtest_go_cty_compat.pyModifiedtest_map_validation.pyModifiedtest_marks_properties.pyModifiedtest_memory_pressure.pyModifiedtest_numeric_attacks.pyModifiedtest_numeric_functions.pyModifiedtest_object_unknown_fields.pyModifiedtest_spec_compliance.pyModifiedtest_special_value_attacks.pyModifiedtest_stdlib_parity.pyModifiedtest_string_advanced_functions.pyModifiedtest_string_basic_functions.pyModifiedtest_tofusoup_compat.pyModifiedtest_unification_properties.pyModifiedtest_value_edge_cases.pyModified
- Added property-based tests:
test_adversarial_fuzzing.py,test_codec_fuzzing.py,test_exception_coverage.py,test_extreme_scale.py,test_marks_properties.py,test_memory_pressure.py,test_numeric_attacks.py,test_spec_compliance.py,test_special_value_attacks.py,test_unification_properties.pyqualify internal10 files
test_adversarial_fuzzing.pytest_codec_fuzzing.pytest_exception_coverage.pytest_extreme_scale.pytest_marks_properties.pytest_memory_pressure.pytest_numeric_attacks.pytest_spec_compliance.pytest_special_value_attacks.pytest_unification_properties.py
- Split
test_stdlib_parity.py(920 lines removed) into focused files:test_collection_creation_functions.py,test_collection_query_functions.py,test_collection_transform_functions.py,test_string_basic_functions.py,test_string_advanced_functions.py,test_numeric_functions.py,test_comparison_functions.py, and per-domain stdlib test files qualify internal8 files
test_collection_creation_functions.pytest_collection_query_functions.pytest_collection_transform_functions.pytest_comparison_functions.pytest_numeric_functions.pytest_stdlib_parity.pytest_string_advanced_functions.pytest_string_basic_functions.py
- Added
test_object_unknown_fields.py(151 lines),test_capsule_edge_cases.py(300 lines),test_map_validation.py(259 lines),test_value_edge_cases.py(233 lines),test_error_context_integration.py(263 lines) instantiate internal5 files
test_capsule_edge_cases.pytest_error_context_integration.pytest_map_validation.pytest_object_unknown_fields.pytest_value_edge_cases.py
- Replaced go-cty compatibility tests with TofuSoup compatibility tests
qualify
internal
25 files
test_adversarial_fuzzing.pytest_capsule_edge_cases.pytest_codec_fuzzing.pytest_collection_creation_functions.pytest_collection_query_functions.pytest_collection_transform_functions.pytest_comparison_functions.pytest_error_context_integration.pytest_exception_coverage.pytest_extreme_scale.pytest_go_cty_compat.pytest_map_validation.pytest_marks_properties.pytest_memory_pressure.pytest_numeric_attacks.pytest_numeric_functions.pytest_object_unknown_fields.pytest_spec_compliance.pytest_special_value_attacks.pytest_stdlib_parity.pytest_string_advanced_functions.pytest_string_basic_functions.pytest_tofusoup_compat.pytest_unification_properties.pytest_value_edge_cases.py
- Added
test_tofusoup_compat.pyreplacingtest_go_cty_compat.pyinstantiate internal2 files
test_go_cty_compat.pytest_tofusoup_compat.py
Go Compatibility Removal
2 files changed
test_tofusoup_compat.pyChangedtest_go_cty_compat.pyChanged
Infrastructure
5 files changed
coverage.jsonModifiedenv.shModifiedrun-coverage.shModifiedpy.typedModifiedwrknv.tomlModified
- Removed
env.sh(221 lines) environment script baseline internal1 file
env.sh
- Added
wrknv.toml(18 lines) workspace configuration baseline internal1 file
wrknv.toml
- Added
run-coverage.sh(36 lines) coverage script qualify internal1 file
run-coverage.sh
- Added
coverage.jsonfor coverage tracking qualify internal1 file
coverage.json
- Added
py.typedmarker for PEP 561 typed package support baseline internal1 file
py.typed
- Added
slowpytest marker for extreme scale tests qualify internal1 file
conftest.py
Source Module Updates
4 files changed
_cache.pyModifiedinference_cache.pyModifiedobject.pyModifiedbase.pyModified
conversion/inference_cache.py: New file (111 lines) replacing old_cache.py(66 lines removed), with improved LRU cache and thread safety streamline internal2 files
_cache.pyinference_cache.py
exceptions/: Expanded all exception modules (base, conversion, encoding, validation) with richer error context and provide-foundation integration baseline internal8 files
__init__.pybase.pyconversion.pyencoding.pyvalidation.pytest_conversion_exceptions.pytest_encoding_exceptions.pytest_validation_exceptions.py
functions/: Enhanced collection_functions (+459 lines), numeric_functions (+514 lines), comparison_functions (+178 lines), string_functions (+181 lines) with additional operations and refined unknown handling decouple internal39 files
functions.mdch11_functions.mdfunctions.mdfunctions.pych11_functions.py__init__.pybytes_functions.pycollection_functions.pycomparison_functions.pyconversion_functions.pydatetime_functions.pyencoding_functions.pynumeric_functions.pystring_functions.pystructural_functions.py__init__.pytest_bytes_stdlib_functions.pytest_collection_creation_functions.pytest_collection_functions.pytest_collection_functions_extra.pytest_collection_query_functions.pytest_collection_stdlib_functions.pytest_collection_transform_functions.pytest_comparison_coverage_tdd.pytest_comparison_functions.pytest_comparison_refined_unknowns.pytest_conversion_functions.pytest_datetime_stdlib_functions.pytest_encoding_functions_coverage.pytest_encoding_stdlib_functions.pytest_numeric_functions.pytest_numeric_refined_unknowns.pytest_refined_unknowns_coverage_tdd.pytest_refined_unknowns_integration.pytest_refined_unknowns_propagation_tdd.pytest_stdlib_parity.pytest_string_advanced_functions.pytest_string_basic_functions.pytest_structural_stdlib_functions.py
types/structural/object.py: Major expansion (+170 lines) for optional attributes and unknown field handling decouple internal1 file
object.py
values/base.py: Expanded (+135 lines) with additional value operations and mark handling decouple internal1 file
base.py