otdf-python 0.3.4__tar.gz → 0.4.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.
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.github/workflows/test-suite.yaml +1 -1
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.gitignore +4 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.pre-commit-config.yaml +3 -3
- otdf_python-0.4.0/.release-please-manifest.json +3 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/CHANGELOG.md +15 -1
- {otdf_python-0.3.4 → otdf_python-0.4.0}/PKG-INFO +19 -2
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/pyproject.toml +2 -2
- otdf_python-0.4.0/otdf-python-proto/uv.lock +932 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/pyproject.toml +24 -2
- otdf_python-0.4.0/src/otdf_python/asym_crypto.py +198 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/cli.py +8 -1
- otdf_python-0.4.0/src/otdf_python/ecc_constants.py +176 -0
- otdf_python-0.4.0/src/otdf_python/ecc_mode.py +83 -0
- otdf_python-0.4.0/src/otdf_python/ecdh.py +317 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/header.py +38 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/kas_client.py +172 -66
- otdf_python-0.4.0/src/otdf_python/nanotdf.py +863 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/policy_info.py +5 -28
- otdf_python-0.4.0/src/otdf_python/resource_locator.py +172 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/sdk.py +1 -1
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/tdf.py +4 -3
- otdf_python-0.4.0/tests/integration/otdfctl_to_python/test_nanotdf_cli_comparison.py +375 -0
- otdf_python-0.4.0/tests/integration/otdfctl_to_python/test_python_nanotdf_only.py +104 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_asym_encryption.py +1 -2
- otdf_python-0.4.0/tests/test_ecdh.py +435 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_header.py +6 -3
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_kas_key_management.py +1 -1
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_nanotdf.py +10 -21
- otdf_python-0.4.0/tests/test_nanotdf_ecdh.py +321 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_nanotdf_integration.py +3 -3
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_tdf_key_management.py +1 -1
- otdf_python-0.4.0/uv.lock +1531 -0
- otdf_python-0.3.4/.release-please-manifest.json +0 -3
- otdf_python-0.3.4/otdf-python-proto/uv.lock +0 -759
- otdf_python-0.3.4/src/otdf_python/asym_crypto.py +0 -85
- otdf_python-0.3.4/src/otdf_python/asym_decryption.py +0 -53
- otdf_python-0.3.4/src/otdf_python/asym_encryption.py +0 -75
- otdf_python-0.3.4/src/otdf_python/ecc_mode.py +0 -32
- otdf_python-0.3.4/src/otdf_python/nanotdf.py +0 -553
- otdf_python-0.3.4/src/otdf_python/resource_locator.py +0 -44
- otdf_python-0.3.4/uv.lock +0 -1274
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.github/check_entitlements.sh +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.github/start_opentdf_docker.sh +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.github/workflows/build-python.yaml +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.github/workflows/platform-integration-test.yaml +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.github/workflows/release-please.yaml +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.release-please-config-develop.json +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.release-please-config.json +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.release-please-manifest-develop.json +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.vscode/extensions.json +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/.vscode/settings.json +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/LICENSE +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/README.md +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/conftest.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/docs/CONNECT_RPC.md +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/docs/DEVELOPING.md +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/docs/LEGACY_VERSION.md +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/docs/RELEASES.md +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/README.md +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/buf.gen.yaml +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/buf.lock +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/buf.yaml +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/authorization/authorization.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/authorization/v2/authorization.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/common/common.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/entity/entity.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/entityresolution/entity_resolution.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/entityresolution/v2/entity_resolution.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/kas/kas.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/logger/audit/test.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/actions/actions.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/attributes/attributes.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/kasregistry/key_access_server_registry.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/keymanagement/key_management.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/namespaces/namespaces.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/objects.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/registeredresources/registered_resources.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/resourcemapping/resource_mapping.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/selectors.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/subjectmapping/subject_mapping.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/policy/unsafe/unsafe.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/proto-files/wellknownconfiguration/wellknown_configuration.proto +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/scripts/build_connect_proto.sh +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/scripts/generate_connect_proto.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/scripts/setup_connect_rpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/authorization/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/authorization/authorization_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/authorization/authorization_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/authorization/authorization_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/authorization/v2/authorization_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/authorization/v2/authorization_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/authorization/v2/authorization_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/common/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/common/common_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/common/common_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entity/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entity/entity_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entity/entity_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entityresolution/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entityresolution/entity_resolution_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entityresolution/entity_resolution_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entityresolution/entity_resolution_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entityresolution/v2/entity_resolution_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entityresolution/v2/entity_resolution_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/entityresolution/v2/entity_resolution_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/kas/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/kas/kas_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/kas/kas_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/kas/kas_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/authorization/authorization_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/authorization/v2/authorization_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/common/common_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/entity/entity_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/entityresolution/entity_resolution_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/entityresolution/v2/entity_resolution_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/kas/kas_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/logger/audit/test_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/actions/actions_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/attributes/attributes_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/kasregistry/key_access_server_registry_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/keymanagement/key_management_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/namespaces/namespaces_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/objects_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/registeredresources/registered_resources_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/resourcemapping/resource_mapping_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/selectors_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/subjectmapping/subject_mapping_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/unsafe/unsafe_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/legacy_grpc/wellknownconfiguration/wellknown_configuration_pb2_grpc.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/logger/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/logger/audit/test_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/logger/audit/test_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/actions/actions_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/actions/actions_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/actions/actions_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/attributes/attributes_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/attributes/attributes_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/attributes/attributes_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/keymanagement/key_management_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/keymanagement/key_management_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/keymanagement/key_management_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/namespaces/namespaces_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/namespaces/namespaces_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/namespaces/namespaces_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/objects_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/objects_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/registeredresources/registered_resources_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/registeredresources/registered_resources_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/registeredresources/registered_resources_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/selectors_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/selectors_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/unsafe/unsafe_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/unsafe/unsafe_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/policy/unsafe/unsafe_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/wellknownconfiguration/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.pyi +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/otdf-python-proto/src/otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2_connect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/__main__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/address_normalizer.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/aesgcm.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/assertion_config.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/auth_headers.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/autoconfigure_utils.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/collection_store.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/collection_store_impl.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/config.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/connect_client.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/constants.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/crypto_utils.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/dpop.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/eckeypair.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/invalid_zip_exception.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/kas_connect_rpc_client.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/kas_info.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/kas_key_cache.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/key_type.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/key_type_constants.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/manifest.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/nanotdf_ecdsa_struct.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/nanotdf_type.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/policy_binding_serializer.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/policy_object.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/policy_stub.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/sdk_builder.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/sdk_exceptions.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/symmetric_and_payload_config.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/tdf_reader.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/tdf_writer.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/token_source.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/version.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/zip_reader.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/src/otdf_python/zip_writer.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/__init__.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/config_pydantic.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/conftest.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/otdfctl_only/test_otdfctl_generated_fixtures.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/otdfctl_to_python/test_cli_comparison.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/otdfctl_to_python/test_cli_decrypt.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/otdfctl_to_python/test_cli_inspect.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/otdfctl_to_python/test_tdf_reader_integration.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/python_only/test_kas_client_integration.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/support_sdk.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/test_cli_integration.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/test_cli_tdf_validation.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/test_data/empty_file.txt +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/test_data/sample_binary.png +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/test_data/sample_text.txt +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/test_data/sample_with_attributes.txt +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/integration/test_pe_interaction.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/mock_crypto.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/server_logs.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/support_cli_args.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/support_common.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/support_otdfctl.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/support_otdfctl_args.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_address_normalizer.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_aesgcm.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_assertion_config.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_autoconfigure_utils.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_cli.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_collection_store.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_config.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_crypto_utils.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_eckeypair.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_inner_classes.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_kas_client.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_kas_key_cache.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_key_type.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_log_collection.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_manifest.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_manifest_format.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_nanotdf_ecdsa_struct.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_nanotdf_type.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_policy_object.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_sdk.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_sdk_builder.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_sdk_exceptions.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_sdk_mock.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_sdk_tdf_integration.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_tdf.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_tdf_reader.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_tdf_writer.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_token_source.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_url_normalization.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_use_plaintext_flow.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_validate_otdf_python.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_version.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_zip_reader.py +0 -0
- {otdf_python-0.3.4 → otdf_python-0.4.0}/tests/test_zip_writer.py +0 -0
|
@@ -90,7 +90,7 @@ jobs:
|
|
|
90
90
|
strategy:
|
|
91
91
|
fail-fast: true
|
|
92
92
|
matrix:
|
|
93
|
-
python3_version: ["3.10", "3.11", "3.12", "3.13"]
|
|
93
|
+
python3_version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
94
94
|
needs: [build, unit-tests]
|
|
95
95
|
uses: ./.github/workflows/platform-integration-test.yaml
|
|
96
96
|
with:
|
|
@@ -34,15 +34,15 @@ repos:
|
|
|
34
34
|
|
|
35
35
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
36
36
|
# Ruff version.
|
|
37
|
-
rev: v0.
|
|
37
|
+
rev: v0.14.5
|
|
38
38
|
hooks:
|
|
39
39
|
# Run the linter.
|
|
40
40
|
- id: ruff-check
|
|
41
41
|
# Run the formatter.
|
|
42
42
|
- id: ruff-format
|
|
43
43
|
- repo: https://github.com/compilerla/conventional-pre-commit
|
|
44
|
-
rev: v4.
|
|
44
|
+
rev: v4.3.0
|
|
45
45
|
hooks:
|
|
46
46
|
- id: conventional-pre-commit
|
|
47
47
|
stages: [commit-msg]
|
|
48
|
-
args: [--verbose,
|
|
48
|
+
args: [--verbose, feat, fix, docs, style, test, chore, ci]
|
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.0](https://github.com/b-long/opentdf-python-sdk/compare/otdf-python-v0.3.5...otdf-python-v0.4.0) (2025-11-20)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add Python 3.14 support & fix pre-commit ([#117](https://github.com/b-long/opentdf-python-sdk/issues/117)) ([b89edfc](https://github.com/b-long/opentdf-python-sdk/commit/b89edfc70b13139691b7d2a11b256f59b457176d))
|
|
9
|
+
|
|
10
|
+
## [0.3.5](https://github.com/b-long/opentdf-python-sdk/compare/otdf-python-v0.3.4...otdf-python-v0.3.5) (2025-11-10)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* NanoTDF support ([#114](https://github.com/b-long/opentdf-python-sdk/issues/114)) ([8f09297](https://github.com/b-long/opentdf-python-sdk/commit/8f092976f6473db7738a86d7ec30dc9ebbcb6a3a))
|
|
16
|
+
|
|
3
17
|
## [0.3.4](https://github.com/b-long/opentdf-python-sdk/compare/otdf-python-v0.3.3...otdf-python-v0.3.4) (2025-10-04)
|
|
4
18
|
|
|
5
19
|
### Chores
|
|
6
20
|
|
|
7
|
-
* chore: remove placeholders ([#110](https://github.com/b-long/opentdf-python-sdk/issues/110))
|
|
21
|
+
* chore: remove placeholders ([#110](https://github.com/b-long/opentdf-python-sdk/issues/110))
|
|
8
22
|
|
|
9
23
|
|
|
10
24
|
### Bug Fixes
|
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: otdf-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Unofficial OpenTDF SDK for Python
|
|
5
|
+
Project-URL: Homepage, https://github.com/b-long/opentdf-python-sdk
|
|
6
|
+
Project-URL: Repository, https://github.com/b-long/opentdf-python-sdk
|
|
7
|
+
Project-URL: Issues, https://github.com/b-long/opentdf-python-sdk/issues
|
|
5
8
|
Author-email: b-long <b-long@users.noreply.github.com>
|
|
6
9
|
License-File: LICENSE
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
|
+
Classifier: Topic :: Security :: Cryptography
|
|
22
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
|
+
Classifier: Typing :: Typed
|
|
7
24
|
Requires-Python: >=3.10
|
|
8
|
-
Requires-Dist: connect-python[compiler]
|
|
25
|
+
Requires-Dist: connect-python[compiler]<0.5,>=0.4.2
|
|
9
26
|
Requires-Dist: cryptography>=45.0.4
|
|
10
27
|
Requires-Dist: grpcio-status>=1.74.0
|
|
11
28
|
Requires-Dist: grpcio-tools>=1.74.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "otdf-python-proto"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.4.0"
|
|
4
4
|
description = "Generated protobuf files for OpenTDF Python SDK"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
@@ -8,7 +8,7 @@ authors = [
|
|
|
8
8
|
]
|
|
9
9
|
requires-python = ">=3.10"
|
|
10
10
|
dependencies = [
|
|
11
|
-
"connect-python[compiler]>=0.4.2",
|
|
11
|
+
"connect-python[compiler]>=0.4.2,<0.5",
|
|
12
12
|
"protobuf>=6.31.1",
|
|
13
13
|
"googleapis-common-protos>=1.66.0",
|
|
14
14
|
# Legacy gRPC support (may be removed in future versions)
|