otdf-python 0.6.0__tar.gz → 0.10.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.
Files changed (311) hide show
  1. {otdf_python-0.6.0 → otdf_python-0.10.0}/PKG-INFO +4 -8
  2. {otdf_python-0.6.0 → otdf_python-0.10.0}/README.md +1 -1
  3. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/authorization/authorization_connect.py +5 -2
  4. otdf_python-0.10.0/_proto/otdf_python_proto/authorization/authorization_pb2.py +73 -0
  5. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/authorization/authorization_pb2.pyi +0 -1
  6. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/authorization/v2/authorization_connect.py +5 -2
  7. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/entityresolution/entity_resolution_connect.py +5 -2
  8. otdf_python-0.10.0/_proto/otdf_python_proto/entityresolution/entity_resolution_pb2.py +52 -0
  9. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/entityresolution/entity_resolution_pb2.pyi +1 -2
  10. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/entityresolution/v2/entity_resolution_connect.py +5 -2
  11. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/kas/kas_connect.py +5 -2
  12. otdf_python-0.10.0/_proto/otdf_python_proto/kas/kas_pb2.py +93 -0
  13. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/kas/kas_pb2.pyi +0 -2
  14. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/attributes/attributes_pb2_grpc.py +3 -1
  15. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/namespaces/namespaces_pb2_grpc.py +0 -87
  16. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/obligations/obligations_pb2_grpc.py +44 -1
  17. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/actions/actions_connect.py +5 -2
  18. otdf_python-0.10.0/_proto/otdf_python_proto/policy/actions/actions_pb2.py +93 -0
  19. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/actions/actions_pb2.pyi +18 -6
  20. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/attributes/attributes_connect.py +5 -2
  21. otdf_python-0.10.0/_proto/otdf_python_proto/policy/attributes/attributes_pb2.py +250 -0
  22. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/attributes/attributes_pb2.pyi +40 -5
  23. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/kasregistry/key_access_server_registry_connect.py +5 -2
  24. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.py +133 -114
  25. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/kasregistry/key_access_server_registry_pb2.pyi +49 -5
  26. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/keymanagement/key_management_connect.py +5 -2
  27. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/namespaces/namespaces_connect.py +5 -132
  28. otdf_python-0.10.0/_proto/otdf_python_proto/policy/namespaces/namespaces_pb2.py +131 -0
  29. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/namespaces/namespaces_pb2.pyi +26 -40
  30. otdf_python-0.10.0/_proto/otdf_python_proto/policy/objects_pb2.py +164 -0
  31. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/objects_pb2.pyi +42 -28
  32. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/obligations/obligations_connect.py +74 -2
  33. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/obligations/obligations_pb2.py +83 -65
  34. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/obligations/obligations_pb2.pyi +38 -2
  35. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/registeredresources/registered_resources_connect.py +5 -2
  36. otdf_python-0.10.0/_proto/otdf_python_proto/policy/registeredresources/registered_resources_pb2.py +167 -0
  37. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/registeredresources/registered_resources_pb2.pyi +40 -6
  38. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/resourcemapping/resource_mapping_connect.py +5 -2
  39. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/selectors_pb2.py +3 -1
  40. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/selectors_pb2.pyi +10 -0
  41. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/subjectmapping/subject_mapping_connect.py +5 -2
  42. otdf_python-0.10.0/_proto/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.py +171 -0
  43. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.pyi +63 -8
  44. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/unsafe/unsafe_connect.py +5 -2
  45. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/wellknownconfiguration/wellknown_configuration_connect.py +5 -2
  46. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.py +12 -13
  47. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/wellknownconfiguration/wellknown_configuration_pb2.pyi +0 -1
  48. otdf_python-0.10.0/hatch_build.py +34 -0
  49. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/auth_headers.py +1 -0
  50. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/cli.py +121 -26
  51. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/kas_client.py +10 -2
  52. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/kas_connect_rpc_client.py +29 -28
  53. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/kas_info.py +1 -0
  54. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/key_type_constants.py +1 -0
  55. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/nanotdf_ecdsa_struct.py +1 -0
  56. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/policy_binding_serializer.py +1 -0
  57. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/sdk.py +2 -0
  58. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/sdk_builder.py +47 -7
  59. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/tdf.py +16 -0
  60. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/tdf_reader.py +1 -0
  61. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/token_source.py +1 -1
  62. otdf_python-0.10.0/pyproject.toml +70 -0
  63. otdf_python-0.6.0/.gemini/config.yaml +0 -4
  64. otdf_python-0.6.0/.github/check_entitlements.sh +0 -62
  65. otdf_python-0.6.0/.github/start_opentdf_docker.sh +0 -61
  66. otdf_python-0.6.0/.github/workflows/build-python.yaml +0 -39
  67. otdf_python-0.6.0/.github/workflows/platform-integration-test.yaml +0 -214
  68. otdf_python-0.6.0/.github/workflows/release-please.yaml +0 -139
  69. otdf_python-0.6.0/.github/workflows/test-suite.yaml +0 -141
  70. otdf_python-0.6.0/.pre-commit-config.yaml +0 -48
  71. otdf_python-0.6.0/.release-please-config-develop.json +0 -44
  72. otdf_python-0.6.0/.release-please-config.json +0 -42
  73. otdf_python-0.6.0/.release-please-manifest-develop.json +0 -3
  74. otdf_python-0.6.0/.release-please-manifest.json +0 -3
  75. otdf_python-0.6.0/.vscode/extensions.json +0 -5
  76. otdf_python-0.6.0/.vscode/settings.json +0 -8
  77. otdf_python-0.6.0/CHANGELOG.md +0 -109
  78. otdf_python-0.6.0/LICENSE +0 -21
  79. otdf_python-0.6.0/conftest.py +0 -66
  80. otdf_python-0.6.0/docs/CONNECT_RPC.md +0 -156
  81. otdf_python-0.6.0/docs/DEVELOPING.md +0 -95
  82. otdf_python-0.6.0/docs/LEGACY_VERSION.md +0 -20
  83. otdf_python-0.6.0/docs/RELEASES.md +0 -205
  84. otdf_python-0.6.0/otdf-python-proto/README.md +0 -186
  85. otdf_python-0.6.0/otdf-python-proto/buf.gen.yaml +0 -28
  86. otdf_python-0.6.0/otdf-python-proto/buf.lock +0 -12
  87. otdf_python-0.6.0/otdf-python-proto/buf.yaml +0 -24
  88. otdf_python-0.6.0/otdf-python-proto/proto-files/authorization/authorization.proto +0 -305
  89. otdf_python-0.6.0/otdf-python-proto/proto-files/authorization/v2/authorization.proto +0 -204
  90. otdf_python-0.6.0/otdf-python-proto/proto-files/common/common.proto +0 -65
  91. otdf_python-0.6.0/otdf-python-proto/proto-files/entity/entity.proto +0 -41
  92. otdf_python-0.6.0/otdf-python-proto/proto-files/entityresolution/entity_resolution.proto +0 -124
  93. otdf_python-0.6.0/otdf-python-proto/proto-files/entityresolution/v2/entity_resolution.proto +0 -57
  94. otdf_python-0.6.0/otdf-python-proto/proto-files/kas/kas.proto +0 -311
  95. otdf_python-0.6.0/otdf-python-proto/proto-files/logger/audit/test.proto +0 -40
  96. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/actions/actions.proto +0 -108
  97. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/attributes/attributes.proto +0 -480
  98. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/kasregistry/key_access_server_registry.proto +0 -700
  99. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/keymanagement/key_management.proto +0 -91
  100. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/namespaces/namespaces.proto +0 -250
  101. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/objects.proto +0 -640
  102. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/obligations/obligations.proto +0 -412
  103. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/registeredresources/registered_resources.proto +0 -330
  104. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/resourcemapping/resource_mapping.proto +0 -276
  105. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/selectors.proto +0 -73
  106. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/subjectmapping/subject_mapping.proto +0 -215
  107. otdf_python-0.6.0/otdf-python-proto/proto-files/policy/unsafe/unsafe.proto +0 -223
  108. otdf_python-0.6.0/otdf-python-proto/proto-files/wellknownconfiguration/wellknown_configuration.proto +0 -23
  109. otdf_python-0.6.0/otdf-python-proto/pyproject.toml +0 -37
  110. otdf_python-0.6.0/otdf-python-proto/scripts/build_connect_proto.sh +0 -91
  111. otdf_python-0.6.0/otdf-python-proto/scripts/generate_connect_proto.py +0 -313
  112. otdf_python-0.6.0/otdf-python-proto/scripts/setup_connect_rpc.py +0 -26
  113. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/authorization/authorization_pb2.py +0 -80
  114. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/entityresolution/entity_resolution_pb2.py +0 -57
  115. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/kas/kas_pb2.py +0 -103
  116. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/policy/actions/actions_pb2.py +0 -75
  117. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/policy/attributes/attributes_pb2.py +0 -235
  118. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/policy/namespaces/namespaces_pb2.py +0 -141
  119. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/policy/objects_pb2.py +0 -166
  120. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/policy/obligations/__init__.py +0 -0
  121. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/policy/registeredresources/registered_resources_pb2.py +0 -139
  122. otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/policy/subjectmapping/subject_mapping_pb2.py +0 -127
  123. otdf_python-0.6.0/otdf-python-proto/tests/__init__.py +0 -0
  124. otdf_python-0.6.0/otdf-python-proto/tests/test_generate_connect_proto.py +0 -355
  125. otdf_python-0.6.0/otdf-python-proto/tests/test_package_imports.py +0 -66
  126. otdf_python-0.6.0/otdf-python-proto/uv.lock +0 -465
  127. otdf_python-0.6.0/pyproject.toml +0 -115
  128. otdf_python-0.6.0/tests/__init__.py +0 -1
  129. otdf_python-0.6.0/tests/config_pydantic.py +0 -103
  130. otdf_python-0.6.0/tests/integration/conftest.py +0 -72
  131. otdf_python-0.6.0/tests/integration/otdfctl_only/test_otdfctl_generated_fixtures.py +0 -111
  132. otdf_python-0.6.0/tests/integration/otdfctl_to_python/test_cli_comparison.py +0 -174
  133. otdf_python-0.6.0/tests/integration/otdfctl_to_python/test_cli_decrypt.py +0 -182
  134. otdf_python-0.6.0/tests/integration/otdfctl_to_python/test_cli_inspect.py +0 -115
  135. otdf_python-0.6.0/tests/integration/otdfctl_to_python/test_nanotdf_cli_comparison.py +0 -370
  136. otdf_python-0.6.0/tests/integration/otdfctl_to_python/test_python_nanotdf_only.py +0 -103
  137. otdf_python-0.6.0/tests/integration/otdfctl_to_python/test_tdf_reader_integration.py +0 -267
  138. otdf_python-0.6.0/tests/integration/python_only/test_kas_client_integration.py +0 -242
  139. otdf_python-0.6.0/tests/integration/support_sdk.py +0 -74
  140. otdf_python-0.6.0/tests/integration/test_cli_integration.py +0 -292
  141. otdf_python-0.6.0/tests/integration/test_cli_tdf_validation.py +0 -561
  142. otdf_python-0.6.0/tests/integration/test_data/empty_file.txt +0 -0
  143. otdf_python-0.6.0/tests/integration/test_data/sample_binary.png +0 -0
  144. otdf_python-0.6.0/tests/integration/test_data/sample_text.txt +0 -5
  145. otdf_python-0.6.0/tests/integration/test_data/sample_with_attributes.txt +0 -4
  146. otdf_python-0.6.0/tests/integration/test_pe_interaction.py +0 -94
  147. otdf_python-0.6.0/tests/mock_crypto.py +0 -35
  148. otdf_python-0.6.0/tests/server_logs.py +0 -95
  149. otdf_python-0.6.0/tests/support_cli_args.py +0 -177
  150. otdf_python-0.6.0/tests/support_common.py +0 -89
  151. otdf_python-0.6.0/tests/support_otdfctl.py +0 -24
  152. otdf_python-0.6.0/tests/support_otdfctl_args.py +0 -276
  153. otdf_python-0.6.0/tests/test_address_normalizer.py +0 -71
  154. otdf_python-0.6.0/tests/test_aesgcm.py +0 -35
  155. otdf_python-0.6.0/tests/test_assertion_config.py +0 -56
  156. otdf_python-0.6.0/tests/test_asym_encryption.py +0 -12
  157. otdf_python-0.6.0/tests/test_autoconfigure_utils.py +0 -50
  158. otdf_python-0.6.0/tests/test_cli.py +0 -185
  159. otdf_python-0.6.0/tests/test_collection_store.py +0 -43
  160. otdf_python-0.6.0/tests/test_config.py +0 -35
  161. otdf_python-0.6.0/tests/test_crypto_utils.py +0 -38
  162. otdf_python-0.6.0/tests/test_ecdh.py +0 -433
  163. otdf_python-0.6.0/tests/test_eckeypair.py +0 -34
  164. otdf_python-0.6.0/tests/test_header.py +0 -41
  165. otdf_python-0.6.0/tests/test_inner_classes.py +0 -88
  166. otdf_python-0.6.0/tests/test_kas_allowlist.py +0 -333
  167. otdf_python-0.6.0/tests/test_kas_client.py +0 -511
  168. otdf_python-0.6.0/tests/test_kas_key_cache.py +0 -47
  169. otdf_python-0.6.0/tests/test_kas_key_management.py +0 -123
  170. otdf_python-0.6.0/tests/test_key_type.py +0 -38
  171. otdf_python-0.6.0/tests/test_log_collection.py +0 -38
  172. otdf_python-0.6.0/tests/test_manifest.py +0 -67
  173. otdf_python-0.6.0/tests/test_manifest_format.py +0 -100
  174. otdf_python-0.6.0/tests/test_nanotdf.py +0 -65
  175. otdf_python-0.6.0/tests/test_nanotdf_ecdh.py +0 -319
  176. otdf_python-0.6.0/tests/test_nanotdf_ecdsa_struct.py +0 -89
  177. otdf_python-0.6.0/tests/test_nanotdf_integration.py +0 -45
  178. otdf_python-0.6.0/tests/test_nanotdf_type.py +0 -53
  179. otdf_python-0.6.0/tests/test_policy_object.py +0 -45
  180. otdf_python-0.6.0/tests/test_sdk.py +0 -106
  181. otdf_python-0.6.0/tests/test_sdk_builder.py +0 -212
  182. otdf_python-0.6.0/tests/test_sdk_exceptions.py +0 -28
  183. otdf_python-0.6.0/tests/test_sdk_mock.py +0 -44
  184. otdf_python-0.6.0/tests/test_sdk_tdf_integration.py +0 -261
  185. otdf_python-0.6.0/tests/test_tdf.py +0 -62
  186. otdf_python-0.6.0/tests/test_tdf_key_management.py +0 -153
  187. otdf_python-0.6.0/tests/test_tdf_reader.py +0 -153
  188. otdf_python-0.6.0/tests/test_tdf_writer.py +0 -68
  189. otdf_python-0.6.0/tests/test_token_source.py +0 -42
  190. otdf_python-0.6.0/tests/test_url_normalization.py +0 -44
  191. otdf_python-0.6.0/tests/test_use_plaintext_flow.py +0 -98
  192. otdf_python-0.6.0/tests/test_validate_otdf_python.py +0 -188
  193. otdf_python-0.6.0/tests/test_version.py +0 -47
  194. otdf_python-0.6.0/tests/test_zip_reader.py +0 -78
  195. otdf_python-0.6.0/tests/test_zip_writer.py +0 -41
  196. otdf_python-0.6.0/uv.lock +0 -849
  197. {otdf_python-0.6.0 → otdf_python-0.10.0}/.gitignore +0 -0
  198. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/__init__.py +0 -0
  199. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/authorization/__init__.py +0 -0
  200. {otdf_python-0.6.0/otdf-python-proto/generated → otdf_python-0.10.0/_proto/otdf_python_proto/authorization/v2}/__init__.py +0 -0
  201. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/authorization/v2/authorization_pb2.py +0 -0
  202. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/authorization/v2/authorization_pb2.pyi +0 -0
  203. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/common/__init__.py +0 -0
  204. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/common/common_pb2.py +0 -0
  205. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/common/common_pb2.pyi +0 -0
  206. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/entity/__init__.py +0 -0
  207. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/entity/entity_pb2.py +0 -0
  208. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/entity/entity_pb2.pyi +0 -0
  209. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/entityresolution/__init__.py +0 -0
  210. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/authorization → otdf_python-0.10.0/_proto/otdf_python_proto/entityresolution}/v2/__init__.py +0 -0
  211. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/entityresolution/v2/entity_resolution_pb2.py +0 -0
  212. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/entityresolution/v2/entity_resolution_pb2.pyi +0 -0
  213. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/kas/__init__.py +0 -0
  214. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/__init__.py +0 -0
  215. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/entityresolution/v2 → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/authorization}/__init__.py +0 -0
  216. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/authorization/authorization_pb2_grpc.py +0 -0
  217. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/authorization → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/authorization/v2}/__init__.py +0 -0
  218. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/authorization/v2/authorization_pb2_grpc.py +0 -0
  219. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/authorization/v2 → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/common}/__init__.py +0 -0
  220. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/common/common_pb2_grpc.py +0 -0
  221. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/common → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/entity}/__init__.py +0 -0
  222. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/entity/entity_pb2_grpc.py +0 -0
  223. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/entity → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/entityresolution}/__init__.py +0 -0
  224. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/entityresolution/entity_resolution_pb2_grpc.py +0 -0
  225. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/entityresolution → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/entityresolution/v2}/__init__.py +0 -0
  226. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/entityresolution/v2/entity_resolution_pb2_grpc.py +0 -0
  227. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/entityresolution/v2 → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/kas}/__init__.py +0 -0
  228. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/kas/kas_pb2_grpc.py +0 -0
  229. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/kas → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/logger}/__init__.py +0 -0
  230. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/logger → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/logger/audit}/__init__.py +0 -0
  231. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/logger/audit/test_pb2_grpc.py +0 -0
  232. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/logger/audit → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy}/__init__.py +0 -0
  233. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/actions}/__init__.py +0 -0
  234. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/actions/actions_pb2_grpc.py +0 -0
  235. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/actions → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/attributes}/__init__.py +0 -0
  236. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/attributes → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/kasregistry}/__init__.py +0 -0
  237. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/kasregistry/key_access_server_registry_pb2_grpc.py +0 -0
  238. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/kasregistry → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/keymanagement}/__init__.py +0 -0
  239. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/keymanagement/key_management_pb2_grpc.py +0 -0
  240. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/keymanagement → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/namespaces}/__init__.py +0 -0
  241. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/objects_pb2_grpc.py +0 -0
  242. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/namespaces → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/obligations}/__init__.py +0 -0
  243. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/obligations → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/registeredresources}/__init__.py +0 -0
  244. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/registeredresources/registered_resources_pb2_grpc.py +0 -0
  245. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/registeredresources → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/resourcemapping}/__init__.py +0 -0
  246. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/resourcemapping/resource_mapping_pb2_grpc.py +0 -0
  247. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/selectors_pb2_grpc.py +0 -0
  248. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/resourcemapping → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/subjectmapping}/__init__.py +0 -0
  249. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/subjectmapping/subject_mapping_pb2_grpc.py +0 -0
  250. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/subjectmapping → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/policy/unsafe}/__init__.py +0 -0
  251. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/policy/unsafe/unsafe_pb2_grpc.py +0 -0
  252. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/policy/unsafe → otdf_python-0.10.0/_proto/otdf_python_proto/legacy_grpc/wellknownconfiguration}/__init__.py +0 -0
  253. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/legacy_grpc/wellknownconfiguration/wellknown_configuration_pb2_grpc.py +0 -0
  254. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/logger/__init__.py +0 -0
  255. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/legacy_grpc/wellknownconfiguration → otdf_python-0.10.0/_proto/otdf_python_proto/logger/audit}/__init__.py +0 -0
  256. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/logger/audit/test_pb2.py +0 -0
  257. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/logger/audit/test_pb2.pyi +0 -0
  258. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/__init__.py +0 -0
  259. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/actions/__init__.py +0 -0
  260. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/attributes/__init__.py +0 -0
  261. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/kasregistry/__init__.py +0 -0
  262. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/keymanagement/__init__.py +0 -0
  263. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/keymanagement/key_management_pb2.py +0 -0
  264. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/keymanagement/key_management_pb2.pyi +0 -0
  265. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/namespaces/__init__.py +0 -0
  266. {otdf_python-0.6.0/otdf-python-proto/src/otdf_python_proto/logger/audit → otdf_python-0.10.0/_proto/otdf_python_proto/policy/obligations}/__init__.py +0 -0
  267. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/registeredresources/__init__.py +0 -0
  268. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/resourcemapping/__init__.py +0 -0
  269. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.py +0 -0
  270. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/resourcemapping/resource_mapping_pb2.pyi +0 -0
  271. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/subjectmapping/__init__.py +0 -0
  272. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/unsafe/__init__.py +0 -0
  273. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/unsafe/unsafe_pb2.py +0 -0
  274. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/policy/unsafe/unsafe_pb2.pyi +0 -0
  275. {otdf_python-0.6.0/otdf-python-proto/src → otdf_python-0.10.0/_proto}/otdf_python_proto/wellknownconfiguration/__init__.py +0 -0
  276. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/__init__.py +0 -0
  277. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/__main__.py +0 -0
  278. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/address_normalizer.py +0 -0
  279. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/aesgcm.py +0 -0
  280. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/assertion_config.py +0 -0
  281. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/asym_crypto.py +0 -0
  282. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/autoconfigure_utils.py +0 -0
  283. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/collection_store.py +0 -0
  284. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/collection_store_impl.py +0 -0
  285. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/config.py +0 -0
  286. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/connect_client.py +0 -0
  287. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/constants.py +0 -0
  288. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/crypto_utils.py +0 -0
  289. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/dpop.py +0 -0
  290. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/ecc_constants.py +0 -0
  291. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/ecc_mode.py +0 -0
  292. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/ecdh.py +0 -0
  293. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/eckeypair.py +0 -0
  294. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/header.py +0 -0
  295. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/invalid_zip_exception.py +0 -0
  296. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/kas_allowlist.py +0 -0
  297. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/kas_key_cache.py +0 -0
  298. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/key_type.py +0 -0
  299. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/manifest.py +0 -0
  300. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/nanotdf.py +0 -0
  301. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/nanotdf_type.py +0 -0
  302. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/policy_info.py +0 -0
  303. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/policy_object.py +0 -0
  304. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/policy_stub.py +0 -0
  305. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/resource_locator.py +0 -0
  306. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/sdk_exceptions.py +0 -0
  307. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/symmetric_and_payload_config.py +0 -0
  308. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/tdf_writer.py +0 -0
  309. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/version.py +0 -0
  310. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/zip_reader.py +0 -0
  311. {otdf_python-0.6.0/src → otdf_python-0.10.0}/otdf_python/zip_writer.py +0 -0
@@ -1,12 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: otdf-python
3
- Version: 0.6.0
3
+ Version: 0.10.0
4
4
  Summary: Unofficial OpenTDF SDK for Python
5
5
  Project-URL: Homepage, https://github.com/b-long/opentdf-python-sdk
6
6
  Project-URL: Repository, https://github.com/b-long/opentdf-python-sdk
7
7
  Project-URL: Issues, https://github.com/b-long/opentdf-python-sdk/issues
8
8
  Author-email: b-long <b-long@users.noreply.github.com>
9
- License-File: LICENSE
10
9
  Classifier: Development Status :: 4 - Beta
11
10
  Classifier: Intended Audience :: Developers
12
11
  Classifier: License :: OSI Approved :: MIT License
@@ -22,15 +21,12 @@ Classifier: Topic :: Security :: Cryptography
22
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
22
  Classifier: Typing :: Typed
24
23
  Requires-Python: >=3.10
25
- Requires-Dist: connect-python<0.7,>=0.6.0
24
+ Requires-Dist: connect-python>=0.9.0
26
25
  Requires-Dist: cryptography>=45.0.4
27
26
  Requires-Dist: grpcio-status>=1.74.0
28
- Requires-Dist: grpcio-tools>=1.74.0
29
27
  Requires-Dist: grpcio>=1.74.0
30
- Requires-Dist: httpx>=0.28.1
28
+ Requires-Dist: httpx2>=2.3.0
31
29
  Requires-Dist: protobuf>=6.31.1
32
- Requires-Dist: protoc-gen-connect-python<0.7,>=0.6.0
33
- Requires-Dist: protoc-gen-openapiv2>=0.0.1
34
30
  Requires-Dist: pyjwt>=2.10.1
35
31
  Requires-Dist: typing-extensions>=4.14.1
36
32
  Description-Content-Type: text/markdown
@@ -137,7 +133,7 @@ with open("decrypted.txt", "wb") as f:
137
133
  ## Project Structure
138
134
 
139
135
  ```
140
- src/otdf_python/
136
+ packages/otdf-python/src/otdf_python/
141
137
  ├── sdk.py # Main SDK interface
142
138
  ├── config.py # Configuration management
143
139
  ├── tdf.py # TDF format handling
@@ -100,7 +100,7 @@ with open("decrypted.txt", "wb") as f:
100
100
  ## Project Structure
101
101
 
102
102
  ```
103
- src/otdf_python/
103
+ packages/otdf-python/src/otdf_python/
104
104
  ├── sdk.py # Main SDK interface
105
105
  ├── config.py # Configuration management
106
106
  ├── tdf.py # TDF format handling
@@ -7,6 +7,7 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.compression import Compression
10
11
  from connectrpc.errors import ConnectError
11
12
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
13
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -27,7 +28,7 @@ class AuthorizationService(Protocol):
27
28
 
28
29
 
29
30
  class AuthorizationServiceASGIApplication(ConnectASGIApplication[AuthorizationService]):
30
- def __init__(self, service: AuthorizationService | AsyncGenerator[AuthorizationService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
31
+ def __init__(self, service: AuthorizationService | AsyncGenerator[AuthorizationService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
31
32
  super().__init__(
32
33
  service=service,
33
34
  endpoints=lambda svc: {
@@ -64,6 +65,7 @@ class AuthorizationServiceASGIApplication(ConnectASGIApplication[AuthorizationSe
64
65
  },
65
66
  interceptors=interceptors,
66
67
  read_max_bytes=read_max_bytes,
68
+ compressions=compressions,
67
69
  )
68
70
 
69
71
  @property
@@ -144,7 +146,7 @@ class AuthorizationServiceSync(Protocol):
144
146
 
145
147
 
146
148
  class AuthorizationServiceWSGIApplication(ConnectWSGIApplication):
147
- def __init__(self, service: AuthorizationServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
149
+ def __init__(self, service: AuthorizationServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
148
150
  super().__init__(
149
151
  endpoints={
150
152
  "/authorization.AuthorizationService/GetDecisions": EndpointSync.unary(
@@ -180,6 +182,7 @@ class AuthorizationServiceWSGIApplication(ConnectWSGIApplication):
180
182
  },
181
183
  interceptors=interceptors,
182
184
  read_max_bytes=read_max_bytes,
185
+ compressions=compressions,
183
186
  )
184
187
 
185
188
  @property
@@ -0,0 +1,73 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: authorization/authorization.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'authorization/authorization.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
26
+ from policy import objects_pb2 as policy_dot_objects__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!authorization/authorization.proto\x12\rauthorization\x1a\x19google/protobuf/any.proto\x1a\x14policy/objects.proto\")\n\x05Token\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03jwt\x18\x02 \x01(\tR\x03jwt\"\xc9\x03\n\x06\x45ntity\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12%\n\remail_address\x18\x02 \x01(\tH\x00R\x0c\x65mailAddress\x12\x1d\n\tuser_name\x18\x03 \x01(\tH\x00R\x08userName\x12,\n\x11remote_claims_url\x18\x04 \x01(\tH\x00R\x0fremoteClaimsUrl\x12\x14\n\x04uuid\x18\x05 \x01(\tH\x00R\x04uuid\x12.\n\x06\x63laims\x18\x06 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x06\x63laims\x12\x35\n\x06\x63ustom\x18\x07 \x01(\x0b\x32\x1b.authorization.EntityCustomH\x00R\x06\x63ustom\x12\x1d\n\tclient_id\x18\x08 \x01(\tH\x00R\x08\x63lientId\x12:\n\x08\x63\x61tegory\x18\t \x01(\x0e\x32\x1e.authorization.Entity.CategoryR\x08\x63\x61tegory\"T\n\x08\x43\x61tegory\x12\x18\n\x14\x43\x41TEGORY_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43\x41TEGORY_SUBJECT\x10\x01\x12\x18\n\x14\x43\x41TEGORY_ENVIRONMENT\x10\x02\x42\r\n\x0b\x65ntity_type\"B\n\x0c\x45ntityCustom\x12\x32\n\textension\x18\x01 \x01(\x0b\x32\x14.google.protobuf.AnyR\textension\"P\n\x0b\x45ntityChain\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x31\n\x08\x65ntities\x18\x02 \x03(\x0b\x32\x15.authorization.EntityR\x08\x65ntities\"\xcf\x01\n\x0f\x44\x65\x63isionRequest\x12(\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x0e.policy.ActionR\x07\x61\x63tions\x12?\n\rentity_chains\x18\x02 \x03(\x0b\x32\x1a.authorization.EntityChainR\x0c\x65ntityChains\x12Q\n\x13resource_attributes\x18\x03 \x03(\x0b\x32 .authorization.ResourceAttributeR\x12resourceAttributes\"\xce\x02\n\x10\x44\x65\x63isionResponse\x12&\n\x0f\x65ntity_chain_id\x18\x01 \x01(\tR\rentityChainId\x12\x34\n\x16resource_attributes_id\x18\x02 \x01(\tR\x14resourceAttributesId\x12&\n\x06\x61\x63tion\x18\x03 \x01(\x0b\x32\x0e.policy.ActionR\x06\x61\x63tion\x12\x44\n\x08\x64\x65\x63ision\x18\x04 \x01(\x0e\x32(.authorization.DecisionResponse.DecisionR\x08\x64\x65\x63ision\x12 \n\x0bobligations\x18\x05 \x03(\tR\x0bobligations\"L\n\x08\x44\x65\x63ision\x12\x18\n\x14\x44\x45\x43ISION_UNSPECIFIED\x10\x00\x12\x11\n\rDECISION_DENY\x10\x01\x12\x13\n\x0f\x44\x45\x43ISION_PERMIT\x10\x02\"b\n\x13GetDecisionsRequest\x12K\n\x11\x64\x65\x63ision_requests\x18\x01 \x03(\x0b\x32\x1e.authorization.DecisionRequestR\x10\x64\x65\x63isionRequests\"f\n\x14GetDecisionsResponse\x12N\n\x12\x64\x65\x63ision_responses\x18\x01 \x03(\x0b\x32\x1f.authorization.DecisionResponseR\x11\x64\x65\x63isionResponses\"\xfa\x01\n\x16GetEntitlementsRequest\x12\x31\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x15.authorization.EntityR\x08\x65ntities\x12;\n\x05scope\x18\x02 \x01(\x0b\x32 .authorization.ResourceAttributeH\x00R\x05scope\x88\x01\x01\x12\x45\n\x1cwith_comprehensive_hierarchy\x18\x03 \x01(\x08H\x01R\x1awithComprehensiveHierarchy\x88\x01\x01\x42\x08\n\x06_scopeB\x1f\n\x1d_with_comprehensive_hierarchy\"c\n\x12\x45ntityEntitlements\x12\x1b\n\tentity_id\x18\x01 \x01(\tR\x08\x65ntityId\x12\x30\n\x14\x61ttribute_value_fqns\x18\x02 \x03(\tR\x12\x61ttributeValueFqns\"{\n\x11ResourceAttribute\x12\x34\n\x16resource_attributes_id\x18\x01 \x01(\tR\x14resourceAttributesId\x12\x30\n\x14\x61ttribute_value_fqns\x18\x02 \x03(\tR\x12\x61ttributeValueFqns\"`\n\x17GetEntitlementsResponse\x12\x45\n\x0c\x65ntitlements\x18\x01 \x03(\x0b\x32!.authorization.EntityEntitlementsR\x0c\x65ntitlements\"\xc1\x01\n\x14TokenDecisionRequest\x12(\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x0e.policy.ActionR\x07\x61\x63tions\x12,\n\x06tokens\x18\x02 \x03(\x0b\x32\x14.authorization.TokenR\x06tokens\x12Q\n\x13resource_attributes\x18\x03 \x03(\x0b\x32 .authorization.ResourceAttributeR\x12resourceAttributes\"n\n\x1aGetDecisionsByTokenRequest\x12P\n\x11\x64\x65\x63ision_requests\x18\x01 \x03(\x0b\x32#.authorization.TokenDecisionRequestR\x10\x64\x65\x63isionRequests\"m\n\x1bGetDecisionsByTokenResponse\x12N\n\x12\x64\x65\x63ision_responses\x18\x01 \x03(\x0b\x32\x1f.authorization.DecisionResponseR\x11\x64\x65\x63isionResponses2\xc5\x02\n\x14\x41uthorizationService\x12Y\n\x0cGetDecisions\x12\".authorization.GetDecisionsRequest\x1a#.authorization.GetDecisionsResponse\"\x00\x12n\n\x13GetDecisionsByToken\x12).authorization.GetDecisionsByTokenRequest\x1a*.authorization.GetDecisionsByTokenResponse\"\x00\x12\x62\n\x0fGetEntitlements\x12%.authorization.GetEntitlementsRequest\x1a&.authorization.GetEntitlementsResponse\"\x00\x42{\n\x11\x63om.authorizationB\x12\x41uthorizationProtoP\x01\xa2\x02\x03\x41XX\xaa\x02\rAuthorization\xca\x02\rAuthorization\xe2\x02\x19\x41uthorization\\GPBMetadata\xea\x02\rAuthorizationb\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'authorization.authorization_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ _globals['DESCRIPTOR']._loaded_options = None
36
+ _globals['DESCRIPTOR']._serialized_options = b'\n\021com.authorizationB\022AuthorizationProtoP\001\242\002\003AXX\252\002\rAuthorization\312\002\rAuthorization\342\002\031Authorization\\GPBMetadata\352\002\rAuthorization'
37
+ _globals['_TOKEN']._serialized_start=101
38
+ _globals['_TOKEN']._serialized_end=142
39
+ _globals['_ENTITY']._serialized_start=145
40
+ _globals['_ENTITY']._serialized_end=602
41
+ _globals['_ENTITY_CATEGORY']._serialized_start=503
42
+ _globals['_ENTITY_CATEGORY']._serialized_end=587
43
+ _globals['_ENTITYCUSTOM']._serialized_start=604
44
+ _globals['_ENTITYCUSTOM']._serialized_end=670
45
+ _globals['_ENTITYCHAIN']._serialized_start=672
46
+ _globals['_ENTITYCHAIN']._serialized_end=752
47
+ _globals['_DECISIONREQUEST']._serialized_start=755
48
+ _globals['_DECISIONREQUEST']._serialized_end=962
49
+ _globals['_DECISIONRESPONSE']._serialized_start=965
50
+ _globals['_DECISIONRESPONSE']._serialized_end=1299
51
+ _globals['_DECISIONRESPONSE_DECISION']._serialized_start=1223
52
+ _globals['_DECISIONRESPONSE_DECISION']._serialized_end=1299
53
+ _globals['_GETDECISIONSREQUEST']._serialized_start=1301
54
+ _globals['_GETDECISIONSREQUEST']._serialized_end=1399
55
+ _globals['_GETDECISIONSRESPONSE']._serialized_start=1401
56
+ _globals['_GETDECISIONSRESPONSE']._serialized_end=1503
57
+ _globals['_GETENTITLEMENTSREQUEST']._serialized_start=1506
58
+ _globals['_GETENTITLEMENTSREQUEST']._serialized_end=1756
59
+ _globals['_ENTITYENTITLEMENTS']._serialized_start=1758
60
+ _globals['_ENTITYENTITLEMENTS']._serialized_end=1857
61
+ _globals['_RESOURCEATTRIBUTE']._serialized_start=1859
62
+ _globals['_RESOURCEATTRIBUTE']._serialized_end=1982
63
+ _globals['_GETENTITLEMENTSRESPONSE']._serialized_start=1984
64
+ _globals['_GETENTITLEMENTSRESPONSE']._serialized_end=2080
65
+ _globals['_TOKENDECISIONREQUEST']._serialized_start=2083
66
+ _globals['_TOKENDECISIONREQUEST']._serialized_end=2276
67
+ _globals['_GETDECISIONSBYTOKENREQUEST']._serialized_start=2278
68
+ _globals['_GETDECISIONSBYTOKENREQUEST']._serialized_end=2388
69
+ _globals['_GETDECISIONSBYTOKENRESPONSE']._serialized_start=2390
70
+ _globals['_GETDECISIONSBYTOKENRESPONSE']._serialized_end=2499
71
+ _globals['_AUTHORIZATIONSERVICE']._serialized_start=2502
72
+ _globals['_AUTHORIZATIONSERVICE']._serialized_end=2827
73
+ # @@protoc_insertion_point(module_scope)
@@ -1,4 +1,3 @@
1
- from google.api import annotations_pb2 as _annotations_pb2
2
1
  from google.protobuf import any_pb2 as _any_pb2
3
2
  from policy import objects_pb2 as _objects_pb2
4
3
  from google.protobuf.internal import containers as _containers
@@ -7,6 +7,7 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.compression import Compression
10
11
  from connectrpc.errors import ConnectError
11
12
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
13
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -30,7 +31,7 @@ class AuthorizationService(Protocol):
30
31
 
31
32
 
32
33
  class AuthorizationServiceASGIApplication(ConnectASGIApplication[AuthorizationService]):
33
- def __init__(self, service: AuthorizationService | AsyncGenerator[AuthorizationService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
34
+ def __init__(self, service: AuthorizationService | AsyncGenerator[AuthorizationService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
34
35
  super().__init__(
35
36
  service=service,
36
37
  endpoints=lambda svc: {
@@ -77,6 +78,7 @@ class AuthorizationServiceASGIApplication(ConnectASGIApplication[AuthorizationSe
77
78
  },
78
79
  interceptors=interceptors,
79
80
  read_max_bytes=read_max_bytes,
81
+ compressions=compressions,
80
82
  )
81
83
 
82
84
  @property
@@ -179,7 +181,7 @@ class AuthorizationServiceSync(Protocol):
179
181
 
180
182
 
181
183
  class AuthorizationServiceWSGIApplication(ConnectWSGIApplication):
182
- def __init__(self, service: AuthorizationServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
184
+ def __init__(self, service: AuthorizationServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
183
185
  super().__init__(
184
186
  endpoints={
185
187
  "/authorization.v2.AuthorizationService/GetDecision": EndpointSync.unary(
@@ -225,6 +227,7 @@ class AuthorizationServiceWSGIApplication(ConnectWSGIApplication):
225
227
  },
226
228
  interceptors=interceptors,
227
229
  read_max_bytes=read_max_bytes,
230
+ compressions=compressions,
228
231
  )
229
232
 
230
233
  @property
@@ -7,6 +7,7 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.compression import Compression
10
11
  from connectrpc.errors import ConnectError
11
12
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
13
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -24,7 +25,7 @@ class EntityResolutionService(Protocol):
24
25
 
25
26
 
26
27
  class EntityResolutionServiceASGIApplication(ConnectASGIApplication[EntityResolutionService]):
27
- def __init__(self, service: EntityResolutionService | AsyncGenerator[EntityResolutionService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
28
+ def __init__(self, service: EntityResolutionService | AsyncGenerator[EntityResolutionService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
28
29
  super().__init__(
29
30
  service=service,
30
31
  endpoints=lambda svc: {
@@ -51,6 +52,7 @@ class EntityResolutionServiceASGIApplication(ConnectASGIApplication[EntityResolu
51
52
  },
52
53
  interceptors=interceptors,
53
54
  read_max_bytes=read_max_bytes,
55
+ compressions=compressions,
54
56
  )
55
57
 
56
58
  @property
@@ -109,7 +111,7 @@ class EntityResolutionServiceSync(Protocol):
109
111
 
110
112
 
111
113
  class EntityResolutionServiceWSGIApplication(ConnectWSGIApplication):
112
- def __init__(self, service: EntityResolutionServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
114
+ def __init__(self, service: EntityResolutionServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
113
115
  super().__init__(
114
116
  endpoints={
115
117
  "/entityresolution.EntityResolutionService/ResolveEntities": EndpointSync.unary(
@@ -135,6 +137,7 @@ class EntityResolutionServiceWSGIApplication(ConnectWSGIApplication):
135
137
  },
136
138
  interceptors=interceptors,
137
139
  read_max_bytes=read_max_bytes,
140
+ compressions=compressions,
138
141
  )
139
142
 
140
143
  @property
@@ -0,0 +1,52 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: entityresolution/entity_resolution.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'entityresolution/entity_resolution.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from authorization import authorization_pb2 as authorization_dot_authorization__pb2
26
+ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
27
+ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
28
+
29
+
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(entityresolution/entity_resolution.proto\x12\x10\x65ntityresolution\x1a!authorization/authorization.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\"K\n\x16ResolveEntitiesRequest\x12\x31\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x15.authorization.EntityR\x08\x65ntities\"{\n\x14\x45ntityRepresentation\x12\x42\n\x10\x61\x64\x64itional_props\x18\x01 \x03(\x0b\x32\x17.google.protobuf.StructR\x0f\x61\x64\x64itionalProps\x12\x1f\n\x0boriginal_id\x18\x02 \x01(\tR\noriginalId\"x\n\x17ResolveEntitiesResponse\x12]\n\x16\x65ntity_representations\x18\x01 \x03(\x0b\x32&.entityresolution.EntityRepresentationR\x15\x65ntityRepresentations\"\x8b\x01\n\x13\x45ntityNotFoundError\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12.\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\x07\x64\x65tails\x12\x16\n\x06\x65ntity\x18\x04 \x01(\tR\x06\x65ntity\"O\n\x1f\x43reateEntityChainFromJwtRequest\x12,\n\x06tokens\x18\x01 \x03(\x0b\x32\x14.authorization.TokenR\x06tokens\"c\n CreateEntityChainFromJwtResponse\x12?\n\rentity_chains\x18\x01 \x03(\x0b\x32\x1a.authorization.EntityChainR\x0c\x65ntityChains2\x89\x02\n\x17\x45ntityResolutionService\x12h\n\x0fResolveEntities\x12(.entityresolution.ResolveEntitiesRequest\x1a).entityresolution.ResolveEntitiesResponse\"\x00\x12\x83\x01\n\x18\x43reateEntityChainFromJwt\x12\x31.entityresolution.CreateEntityChainFromJwtRequest\x1a\x32.entityresolution.CreateEntityChainFromJwtResponse\"\x00\x42\x8d\x01\n\x14\x63om.entityresolutionB\x15\x45ntityResolutionProtoP\x01\xa2\x02\x03\x45XX\xaa\x02\x10\x45ntityresolution\xca\x02\x10\x45ntityresolution\xe2\x02\x1c\x45ntityresolution\\GPBMetadata\xea\x02\x10\x45ntityresolutionb\x06proto3')
31
+
32
+ _globals = globals()
33
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
34
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'entityresolution.entity_resolution_pb2', _globals)
35
+ if not _descriptor._USE_C_DESCRIPTORS:
36
+ _globals['DESCRIPTOR']._loaded_options = None
37
+ _globals['DESCRIPTOR']._serialized_options = b'\n\024com.entityresolutionB\025EntityResolutionProtoP\001\242\002\003EXX\252\002\020Entityresolution\312\002\020Entityresolution\342\002\034Entityresolution\\GPBMetadata\352\002\020Entityresolution'
38
+ _globals['_RESOLVEENTITIESREQUEST']._serialized_start=154
39
+ _globals['_RESOLVEENTITIESREQUEST']._serialized_end=229
40
+ _globals['_ENTITYREPRESENTATION']._serialized_start=231
41
+ _globals['_ENTITYREPRESENTATION']._serialized_end=354
42
+ _globals['_RESOLVEENTITIESRESPONSE']._serialized_start=356
43
+ _globals['_RESOLVEENTITIESRESPONSE']._serialized_end=476
44
+ _globals['_ENTITYNOTFOUNDERROR']._serialized_start=479
45
+ _globals['_ENTITYNOTFOUNDERROR']._serialized_end=618
46
+ _globals['_CREATEENTITYCHAINFROMJWTREQUEST']._serialized_start=620
47
+ _globals['_CREATEENTITYCHAINFROMJWTREQUEST']._serialized_end=699
48
+ _globals['_CREATEENTITYCHAINFROMJWTRESPONSE']._serialized_start=701
49
+ _globals['_CREATEENTITYCHAINFROMJWTRESPONSE']._serialized_end=800
50
+ _globals['_ENTITYRESOLUTIONSERVICE']._serialized_start=803
51
+ _globals['_ENTITYRESOLUTIONSERVICE']._serialized_end=1068
52
+ # @@protoc_insertion_point(module_scope)
@@ -1,7 +1,6 @@
1
1
  from authorization import authorization_pb2 as _authorization_pb2
2
- from google.protobuf import struct_pb2 as _struct_pb2
3
2
  from google.protobuf import any_pb2 as _any_pb2
4
- from google.api import annotations_pb2 as _annotations_pb2
3
+ from google.protobuf import struct_pb2 as _struct_pb2
5
4
  from google.protobuf.internal import containers as _containers
6
5
  from google.protobuf import descriptor as _descriptor
7
6
  from google.protobuf import message as _message
@@ -7,6 +7,7 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.compression import Compression
10
11
  from connectrpc.errors import ConnectError
11
12
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
13
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -24,7 +25,7 @@ class EntityResolutionService(Protocol):
24
25
 
25
26
 
26
27
  class EntityResolutionServiceASGIApplication(ConnectASGIApplication[EntityResolutionService]):
27
- def __init__(self, service: EntityResolutionService | AsyncGenerator[EntityResolutionService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
28
+ def __init__(self, service: EntityResolutionService | AsyncGenerator[EntityResolutionService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
28
29
  super().__init__(
29
30
  service=service,
30
31
  endpoints=lambda svc: {
@@ -51,6 +52,7 @@ class EntityResolutionServiceASGIApplication(ConnectASGIApplication[EntityResolu
51
52
  },
52
53
  interceptors=interceptors,
53
54
  read_max_bytes=read_max_bytes,
55
+ compressions=compressions,
54
56
  )
55
57
 
56
58
  @property
@@ -109,7 +111,7 @@ class EntityResolutionServiceSync(Protocol):
109
111
 
110
112
 
111
113
  class EntityResolutionServiceWSGIApplication(ConnectWSGIApplication):
112
- def __init__(self, service: EntityResolutionServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
114
+ def __init__(self, service: EntityResolutionServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
113
115
  super().__init__(
114
116
  endpoints={
115
117
  "/entityresolution.v2.EntityResolutionService/ResolveEntities": EndpointSync.unary(
@@ -135,6 +137,7 @@ class EntityResolutionServiceWSGIApplication(ConnectWSGIApplication):
135
137
  },
136
138
  interceptors=interceptors,
137
139
  read_max_bytes=read_max_bytes,
140
+ compressions=compressions,
138
141
  )
139
142
 
140
143
  @property
@@ -7,6 +7,7 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.compression import Compression
10
11
  from connectrpc.errors import ConnectError
11
12
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
13
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -28,7 +29,7 @@ class AccessService(Protocol):
28
29
 
29
30
 
30
31
  class AccessServiceASGIApplication(ConnectASGIApplication[AccessService]):
31
- def __init__(self, service: AccessService | AsyncGenerator[AccessService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
32
+ def __init__(self, service: AccessService | AsyncGenerator[AccessService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
32
33
  super().__init__(
33
34
  service=service,
34
35
  endpoints=lambda svc: {
@@ -65,6 +66,7 @@ class AccessServiceASGIApplication(ConnectASGIApplication[AccessService]):
65
66
  },
66
67
  interceptors=interceptors,
67
68
  read_max_bytes=read_max_bytes,
69
+ compressions=compressions,
68
70
  )
69
71
 
70
72
  @property
@@ -149,7 +151,7 @@ class AccessServiceSync(Protocol):
149
151
 
150
152
 
151
153
  class AccessServiceWSGIApplication(ConnectWSGIApplication):
152
- def __init__(self, service: AccessServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
154
+ def __init__(self, service: AccessServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
153
155
  super().__init__(
154
156
  endpoints={
155
157
  "/kas.AccessService/PublicKey": EndpointSync.unary(
@@ -185,6 +187,7 @@ class AccessServiceWSGIApplication(ConnectWSGIApplication):
185
187
  },
186
188
  interceptors=interceptors,
187
189
  read_max_bytes=read_max_bytes,
190
+ compressions=compressions,
188
191
  )
189
192
 
190
193
  @property
@@ -0,0 +1,93 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: kas/kas.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'kas/kas.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
26
+ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rkas/kas.proto\x12\x03kas\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\r\n\x0bInfoRequest\"(\n\x0cInfoResponse\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\"6\n\x16LegacyPublicKeyRequest\x12\x1c\n\talgorithm\x18\x01 \x01(\tR\talgorithm\";\n\rPolicyBinding\x12\x16\n\talgorithm\x18\x01 \x01(\tR\x03\x61lg\x12\x12\n\x04hash\x18\x02 \x01(\tR\x04hash\"\xd3\x02\n\tKeyAccess\x12-\n\x12\x65ncrypted_metadata\x18\x01 \x01(\tR\x11\x65ncryptedMetadata\x12\x39\n\x0epolicy_binding\x18\x02 \x01(\x0b\x32\x12.kas.PolicyBindingR\rpolicyBinding\x12\x1a\n\x08protocol\x18\x03 \x01(\tR\x08protocol\x12\x16\n\x08key_type\x18\x04 \x01(\tR\x04type\x12\x14\n\x07kas_url\x18\x05 \x01(\tR\x03url\x12\x10\n\x03kid\x18\x06 \x01(\tR\x03kid\x12\x15\n\x08split_id\x18\x07 \x01(\tR\x03sid\x12\x1f\n\x0bwrapped_key\x18\x08 \x01(\x0cR\nwrappedKey\x12\x16\n\x06header\x18\t \x01(\x0cR\x06header\x12\x30\n\x14\x65phemeral_public_key\x18\n \x01(\tR\x12\x65phemeralPublicKey\"\x86\x05\n\x15UnsignedRewrapRequest\x12*\n\x11\x63lient_public_key\x18\x01 \x01(\tR\x0f\x63lientPublicKey\x12H\n\x08requests\x18\x02 \x03(\x0b\x32,.kas.UnsignedRewrapRequest.WithPolicyRequestR\x08requests\x12\x31\n\nkey_access\x18\x03 \x01(\x0b\x32\x0e.kas.KeyAccessB\x02\x18\x01R\tkeyAccess\x12\x1a\n\x06policy\x18\x04 \x01(\tB\x02\x18\x01R\x06policy\x12 \n\talgorithm\x18\x05 \x01(\tB\x02\x18\x01R\talgorithm\x1a\x30\n\nWithPolicy\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04\x62ody\x18\x02 \x01(\tR\x04\x62ody\x1a\x82\x01\n\x13WithKeyAccessObject\x12/\n\x14key_access_object_id\x18\x01 \x01(\tR\x11keyAccessObjectId\x12:\n\x11key_access_object\x18\x02 \x01(\x0b\x32\x0e.kas.KeyAccessR\x0fkeyAccessObject\x1a\xce\x01\n\x11WithPolicyRequest\x12\\\n\x12key_access_objects\x18\x01 \x03(\x0b\x32..kas.UnsignedRewrapRequest.WithKeyAccessObjectR\x10keyAccessObjects\x12=\n\x06policy\x18\x02 \x01(\x0b\x32%.kas.UnsignedRewrapRequest.WithPolicyR\x06policy\x12\x1c\n\talgorithm\x18\x03 \x01(\tR\talgorithm\"P\n\x10PublicKeyRequest\x12\x1c\n\talgorithm\x18\x01 \x01(\tR\talgorithm\x12\x10\n\x03\x66mt\x18\x02 \x01(\tR\x03\x66mt\x12\x0c\n\x01v\x18\x03 \x01(\tR\x01v\"D\n\x11PublicKeyResponse\x12\x1d\n\npublic_key\x18\x01 \x01(\tR\tpublicKey\x12\x10\n\x03kid\x18\x02 \x01(\tR\x03kid\"O\n\rRewrapRequest\x12\x30\n\x14signed_request_token\x18\x01 \x01(\tR\x12signedRequestTokenJ\x04\x08\x02\x10\x03R\x06\x62\x65\x61rer\"\xc7\x02\n\x15KeyAccessRewrapResult\x12\x44\n\x08metadata\x18\x01 \x03(\x0b\x32(.kas.KeyAccessRewrapResult.MetadataEntryR\x08metadata\x12/\n\x14key_access_object_id\x18\x02 \x01(\tR\x11keyAccessObjectId\x12\x16\n\x06status\x18\x03 \x01(\tR\x06status\x12(\n\x0fkas_wrapped_key\x18\x04 \x01(\x0cH\x00R\rkasWrappedKey\x12\x16\n\x05\x65rror\x18\x05 \x01(\tH\x00R\x05\x65rror\x1aS\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x42\x08\n\x06result\"g\n\x12PolicyRewrapResult\x12\x1b\n\tpolicy_id\x18\x01 \x01(\tR\x08policyId\x12\x34\n\x07results\x18\x02 \x03(\x0b\x32\x1a.kas.KeyAccessRewrapResultR\x07results\"\xea\x02\n\x0eRewrapResponse\x12\x41\n\x08metadata\x18\x01 \x03(\x0b\x32!.kas.RewrapResponse.MetadataEntryB\x02\x18\x01R\x08metadata\x12\x30\n\x12\x65ntity_wrapped_key\x18\x02 \x01(\x0c\x42\x02\x18\x01R\x10\x65ntityWrappedKey\x12,\n\x12session_public_key\x18\x03 \x01(\tR\x10sessionPublicKey\x12)\n\x0eschema_version\x18\x04 \x01(\tB\x02\x18\x01R\rschemaVersion\x12\x35\n\tresponses\x18\x05 \x03(\x0b\x32\x17.kas.PolicyRewrapResultR\tresponses\x1aS\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x32\xdb\x01\n\rAccessService\x12?\n\tPublicKey\x12\x15.kas.PublicKeyRequest\x1a\x16.kas.PublicKeyResponse\"\x03\x90\x02\x01\x12T\n\x0fLegacyPublicKey\x12\x1b.kas.LegacyPublicKeyRequest\x1a\x1c.google.protobuf.StringValue\"\x06\x88\x02\x01\x90\x02\x01\x12\x33\n\x06Rewrap\x12\x12.kas.RewrapRequest\x1a\x13.kas.RewrapResponse\"\x00\x42?\n\x07\x63om.kasB\x08KasProtoP\x01\xa2\x02\x03KXX\xaa\x02\x03Kas\xca\x02\x03Kas\xe2\x02\x0fKas\\GPBMetadata\xea\x02\x03Kasb\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'kas.kas_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ _globals['DESCRIPTOR']._loaded_options = None
36
+ _globals['DESCRIPTOR']._serialized_options = b'\n\007com.kasB\010KasProtoP\001\242\002\003KXX\252\002\003Kas\312\002\003Kas\342\002\017Kas\\GPBMetadata\352\002\003Kas'
37
+ _globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['key_access']._loaded_options = None
38
+ _globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['key_access']._serialized_options = b'\030\001'
39
+ _globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['policy']._loaded_options = None
40
+ _globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['policy']._serialized_options = b'\030\001'
41
+ _globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['algorithm']._loaded_options = None
42
+ _globals['_UNSIGNEDREWRAPREQUEST'].fields_by_name['algorithm']._serialized_options = b'\030\001'
43
+ _globals['_KEYACCESSREWRAPRESULT_METADATAENTRY']._loaded_options = None
44
+ _globals['_KEYACCESSREWRAPRESULT_METADATAENTRY']._serialized_options = b'8\001'
45
+ _globals['_REWRAPRESPONSE_METADATAENTRY']._loaded_options = None
46
+ _globals['_REWRAPRESPONSE_METADATAENTRY']._serialized_options = b'8\001'
47
+ _globals['_REWRAPRESPONSE'].fields_by_name['metadata']._loaded_options = None
48
+ _globals['_REWRAPRESPONSE'].fields_by_name['metadata']._serialized_options = b'\030\001'
49
+ _globals['_REWRAPRESPONSE'].fields_by_name['entity_wrapped_key']._loaded_options = None
50
+ _globals['_REWRAPRESPONSE'].fields_by_name['entity_wrapped_key']._serialized_options = b'\030\001'
51
+ _globals['_REWRAPRESPONSE'].fields_by_name['schema_version']._loaded_options = None
52
+ _globals['_REWRAPRESPONSE'].fields_by_name['schema_version']._serialized_options = b'\030\001'
53
+ _globals['_ACCESSSERVICE'].methods_by_name['PublicKey']._loaded_options = None
54
+ _globals['_ACCESSSERVICE'].methods_by_name['PublicKey']._serialized_options = b'\220\002\001'
55
+ _globals['_ACCESSSERVICE'].methods_by_name['LegacyPublicKey']._loaded_options = None
56
+ _globals['_ACCESSSERVICE'].methods_by_name['LegacyPublicKey']._serialized_options = b'\210\002\001\220\002\001'
57
+ _globals['_INFOREQUEST']._serialized_start=84
58
+ _globals['_INFOREQUEST']._serialized_end=97
59
+ _globals['_INFORESPONSE']._serialized_start=99
60
+ _globals['_INFORESPONSE']._serialized_end=139
61
+ _globals['_LEGACYPUBLICKEYREQUEST']._serialized_start=141
62
+ _globals['_LEGACYPUBLICKEYREQUEST']._serialized_end=195
63
+ _globals['_POLICYBINDING']._serialized_start=197
64
+ _globals['_POLICYBINDING']._serialized_end=256
65
+ _globals['_KEYACCESS']._serialized_start=259
66
+ _globals['_KEYACCESS']._serialized_end=598
67
+ _globals['_UNSIGNEDREWRAPREQUEST']._serialized_start=601
68
+ _globals['_UNSIGNEDREWRAPREQUEST']._serialized_end=1247
69
+ _globals['_UNSIGNEDREWRAPREQUEST_WITHPOLICY']._serialized_start=857
70
+ _globals['_UNSIGNEDREWRAPREQUEST_WITHPOLICY']._serialized_end=905
71
+ _globals['_UNSIGNEDREWRAPREQUEST_WITHKEYACCESSOBJECT']._serialized_start=908
72
+ _globals['_UNSIGNEDREWRAPREQUEST_WITHKEYACCESSOBJECT']._serialized_end=1038
73
+ _globals['_UNSIGNEDREWRAPREQUEST_WITHPOLICYREQUEST']._serialized_start=1041
74
+ _globals['_UNSIGNEDREWRAPREQUEST_WITHPOLICYREQUEST']._serialized_end=1247
75
+ _globals['_PUBLICKEYREQUEST']._serialized_start=1249
76
+ _globals['_PUBLICKEYREQUEST']._serialized_end=1329
77
+ _globals['_PUBLICKEYRESPONSE']._serialized_start=1331
78
+ _globals['_PUBLICKEYRESPONSE']._serialized_end=1399
79
+ _globals['_REWRAPREQUEST']._serialized_start=1401
80
+ _globals['_REWRAPREQUEST']._serialized_end=1480
81
+ _globals['_KEYACCESSREWRAPRESULT']._serialized_start=1483
82
+ _globals['_KEYACCESSREWRAPRESULT']._serialized_end=1810
83
+ _globals['_KEYACCESSREWRAPRESULT_METADATAENTRY']._serialized_start=1717
84
+ _globals['_KEYACCESSREWRAPRESULT_METADATAENTRY']._serialized_end=1800
85
+ _globals['_POLICYREWRAPRESULT']._serialized_start=1812
86
+ _globals['_POLICYREWRAPRESULT']._serialized_end=1915
87
+ _globals['_REWRAPRESPONSE']._serialized_start=1918
88
+ _globals['_REWRAPRESPONSE']._serialized_end=2280
89
+ _globals['_REWRAPRESPONSE_METADATAENTRY']._serialized_start=1717
90
+ _globals['_REWRAPRESPONSE_METADATAENTRY']._serialized_end=1800
91
+ _globals['_ACCESSSERVICE']._serialized_start=2283
92
+ _globals['_ACCESSSERVICE']._serialized_end=2502
93
+ # @@protoc_insertion_point(module_scope)
@@ -1,7 +1,5 @@
1
- from google.api import annotations_pb2 as _annotations_pb2
2
1
  from google.protobuf import struct_pb2 as _struct_pb2
3
2
  from google.protobuf import wrappers_pb2 as _wrappers_pb2
4
- from protoc_gen_openapiv2.options import annotations_pb2 as _annotations_pb2_1
5
3
  from google.protobuf.internal import containers as _containers
6
4
  from google.protobuf import descriptor as _descriptor
7
5
  from google.protobuf import message as _message
@@ -130,7 +130,9 @@ class AttributesServiceServicer(object):
130
130
  raise NotImplementedError('Method not implemented!')
131
131
 
132
132
  def ListAttributeValues(self, request, context):
133
- """Missing associated documentation comment in .proto file."""
133
+ """Deprecated
134
+ Use GetAttribute
135
+ """
134
136
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
135
137
  context.set_details('Method not implemented!')
136
138
  raise NotImplementedError('Method not implemented!')
@@ -59,16 +59,6 @@ class NamespaceServiceStub(object):
59
59
  request_serializer=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest.SerializeToString,
60
60
  response_deserializer=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse.FromString,
61
61
  _registered_method=True)
62
- self.AssignCertificateToNamespace = channel.unary_unary(
63
- '/policy.namespaces.NamespaceService/AssignCertificateToNamespace',
64
- request_serializer=policy_dot_namespaces_dot_namespaces__pb2.AssignCertificateToNamespaceRequest.SerializeToString,
65
- response_deserializer=policy_dot_namespaces_dot_namespaces__pb2.AssignCertificateToNamespaceResponse.FromString,
66
- _registered_method=True)
67
- self.RemoveCertificateFromNamespace = channel.unary_unary(
68
- '/policy.namespaces.NamespaceService/RemoveCertificateFromNamespace',
69
- request_serializer=policy_dot_namespaces_dot_namespaces__pb2.RemoveCertificateFromNamespaceRequest.SerializeToString,
70
- response_deserializer=policy_dot_namespaces_dot_namespaces__pb2.RemoveCertificateFromNamespaceResponse.FromString,
71
- _registered_method=True)
72
62
 
73
63
 
74
64
  class NamespaceServiceServicer(object):
@@ -137,19 +127,6 @@ class NamespaceServiceServicer(object):
137
127
  context.set_details('Method not implemented!')
138
128
  raise NotImplementedError('Method not implemented!')
139
129
 
140
- def AssignCertificateToNamespace(self, request, context):
141
- """Namespace <> Certificate RPCs
142
- """
143
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
144
- context.set_details('Method not implemented!')
145
- raise NotImplementedError('Method not implemented!')
146
-
147
- def RemoveCertificateFromNamespace(self, request, context):
148
- """Missing associated documentation comment in .proto file."""
149
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
150
- context.set_details('Method not implemented!')
151
- raise NotImplementedError('Method not implemented!')
152
-
153
130
 
154
131
  def add_NamespaceServiceServicer_to_server(servicer, server):
155
132
  rpc_method_handlers = {
@@ -198,16 +175,6 @@ def add_NamespaceServiceServicer_to_server(servicer, server):
198
175
  request_deserializer=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceRequest.FromString,
199
176
  response_serializer=policy_dot_namespaces_dot_namespaces__pb2.RemovePublicKeyFromNamespaceResponse.SerializeToString,
200
177
  ),
201
- 'AssignCertificateToNamespace': grpc.unary_unary_rpc_method_handler(
202
- servicer.AssignCertificateToNamespace,
203
- request_deserializer=policy_dot_namespaces_dot_namespaces__pb2.AssignCertificateToNamespaceRequest.FromString,
204
- response_serializer=policy_dot_namespaces_dot_namespaces__pb2.AssignCertificateToNamespaceResponse.SerializeToString,
205
- ),
206
- 'RemoveCertificateFromNamespace': grpc.unary_unary_rpc_method_handler(
207
- servicer.RemoveCertificateFromNamespace,
208
- request_deserializer=policy_dot_namespaces_dot_namespaces__pb2.RemoveCertificateFromNamespaceRequest.FromString,
209
- response_serializer=policy_dot_namespaces_dot_namespaces__pb2.RemoveCertificateFromNamespaceResponse.SerializeToString,
210
- ),
211
178
  }
212
179
  generic_handler = grpc.method_handlers_generic_handler(
213
180
  'policy.namespaces.NamespaceService', rpc_method_handlers)
@@ -461,57 +428,3 @@ class NamespaceService(object):
461
428
  timeout,
462
429
  metadata,
463
430
  _registered_method=True)
464
-
465
- @staticmethod
466
- def AssignCertificateToNamespace(request,
467
- target,
468
- options=(),
469
- channel_credentials=None,
470
- call_credentials=None,
471
- insecure=False,
472
- compression=None,
473
- wait_for_ready=None,
474
- timeout=None,
475
- metadata=None):
476
- return grpc.experimental.unary_unary(
477
- request,
478
- target,
479
- '/policy.namespaces.NamespaceService/AssignCertificateToNamespace',
480
- policy_dot_namespaces_dot_namespaces__pb2.AssignCertificateToNamespaceRequest.SerializeToString,
481
- policy_dot_namespaces_dot_namespaces__pb2.AssignCertificateToNamespaceResponse.FromString,
482
- options,
483
- channel_credentials,
484
- insecure,
485
- call_credentials,
486
- compression,
487
- wait_for_ready,
488
- timeout,
489
- metadata,
490
- _registered_method=True)
491
-
492
- @staticmethod
493
- def RemoveCertificateFromNamespace(request,
494
- target,
495
- options=(),
496
- channel_credentials=None,
497
- call_credentials=None,
498
- insecure=False,
499
- compression=None,
500
- wait_for_ready=None,
501
- timeout=None,
502
- metadata=None):
503
- return grpc.experimental.unary_unary(
504
- request,
505
- target,
506
- '/policy.namespaces.NamespaceService/RemoveCertificateFromNamespace',
507
- policy_dot_namespaces_dot_namespaces__pb2.RemoveCertificateFromNamespaceRequest.SerializeToString,
508
- policy_dot_namespaces_dot_namespaces__pb2.RemoveCertificateFromNamespaceResponse.FromString,
509
- options,
510
- channel_credentials,
511
- insecure,
512
- call_credentials,
513
- compression,
514
- wait_for_ready,
515
- timeout,
516
- metadata,
517
- _registered_method=True)