openbox-sdk-python 1.3.0__tar.gz → 1.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/CHANGELOG.md +6 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/PKG-INFO +2 -2
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/__init__.py +1 -1
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/pyproject.toml +2 -2
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/test_sdk_version.py +11 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/uv.lock +49 -49
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/.github/instructions/openbox-sdk-python.instructions.md +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/.github/workflows/ci.yml +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/.github/workflows/publish.yml +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/.gitignore +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/.python-version +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/LICENSE +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/README.md +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/adapters/__init__.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/adapters/base.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/approvals.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/bootstrap.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/client.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/config.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/conformance/__init__.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/conformance/fake_core.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/conformance/hook_preflight.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/conformance/instrumentation.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/context.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/contracts/__init__.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/contracts/context.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/contracts/events.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/contracts/otel_spans.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/contracts/results.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/errors.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/gate.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/hooks/__init__.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/hooks/events.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/hooks/preflight.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/hooks/wrappers.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/identity.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/identity_okta.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/identity_transitions.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/identity_types.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/__init__.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/db.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/file.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/function.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/http.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/llm.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/manager.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/shared.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/jwk_thumbprint.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/otel/__init__.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/otel/propagation.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/otel/provider.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/otel/setup.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/otel/span_processor.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/otel/trace_context.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/py.typed +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/runtime.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/sdk_version.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/serialization.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/validation/__init__.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/validation/diagnostics.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/validation/event_rules.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/validation/registry.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/validation/span_normalization.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/wire/__init__.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/wire/core_span.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/wire/evaluate_payload.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/workload_identity.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/identity_fixtures.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/test_approval_poll.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/test_auth_failure_classification.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/test_bootstrap.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/test_fail_modes.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/test_keycloak_workload_identity.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/test_transition_preflight.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/test_v2_endpoint_selection.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/config/test_bootstrap_mode.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/config/test_identity_verification_method.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/config/test_resolution_order.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/conformance/test_required_cases.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/context/test_bind_reset.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/context/test_trace_key.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/contracts/test_approval_parsing.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/contracts/test_event_classify.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/contracts/test_patch.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/contracts/test_result_parsing.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/gate/test_diagnostics.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/gate/test_strict_failures.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/conftest.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/instrumented_env.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_db_block.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_db_redis_mongo.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_file_function_block.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_hook_failclosed_and_sync_approval.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_hook_runtime.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_http_preflight_block.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_http_urllib.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_manager_and_otel_lifecycle.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/runtime/test_runtime_delegation.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/generate_golden_fixture_from_temporal_signer.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/golden_temporal_signed_request.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/MANIFEST.sha256 +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/approval.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/auth-validate.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/evaluate.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/handoff.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/keypair.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/README.md +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/alg-none.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/alg-symmetric.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/body-tampered.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/embedded-jku.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/embedded-jwk.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/embedded-x5u.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/empty-jti.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/excessive-lifetime.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/expired.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/future-iat.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/htu-with-host.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/htu-with-query.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/malformed-jwt-truncated.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/malformed-jwt.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/missing-assertion.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/missing-exp.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/normal-assertion-on-transition-proof-route.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/paired-with-different-api-key.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/signature-by-other-key.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/transition-proof-on-validate-route.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/transition-proof-signed-by-other-credential.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/undersized-rsa-key.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/unknown-kid.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/v1-path.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-audience.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-deployment-id.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-http-method.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-iss.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-path.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-signed-agent-id.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-signed-organization-id.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-sub.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-transition-challenge.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-transition-purpose.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/wrong-typ.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/transition-proof.json +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/test_golden_signing.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/test_identity_okta_unit.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/test_identity_v2_fixtures.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/test_identity_v2_signing.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/test_jwk_thumbprint.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/test_import_safety.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/wire/go_spandata_compat/go.mod +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/wire/go_spandata_compat/main.go +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/wire/span_fixtures.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/wire/test_backend_compat.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/wire/test_core_span_projection.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/wire/test_flat_hook_contract.py +0 -0
- {openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/wire/test_hex_ids.py +0 -0
|
@@ -41,6 +41,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
41
41
|
- No failure path downgrades to v1, to an unsigned request, or to a different identity
|
|
42
42
|
method. A Core that predates the endpoint (`404`) produces actionable upgrade guidance.
|
|
43
43
|
|
|
44
|
+
## [1.3.1] - 2026-09-17
|
|
45
|
+
|
|
46
|
+
### Security
|
|
47
|
+
- Require `cryptography>=50,<51` to address CVE-2026-69247. No OpenBox SDK API or
|
|
48
|
+
runtime behavior changes are included in this patch release.
|
|
49
|
+
|
|
44
50
|
## [1.3.0] - 2026-07-30
|
|
45
51
|
|
|
46
52
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: openbox-sdk-python
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: OpenBox base SDK - governance contracts, strict gate, identity/signing, evaluate client, context runtime, OTel span wire serialization, and generic instrumentation shared by every OpenBox framework SDK
|
|
5
5
|
Author-email: OpenBox Team <tino@openbox.ai>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -15,7 +15,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
15
15
|
Classifier: Topic :: System :: Monitoring
|
|
16
16
|
Classifier: Typing :: Typed
|
|
17
17
|
Requires-Python: >=3.11
|
|
18
|
-
Requires-Dist: cryptography<50
|
|
18
|
+
Requires-Dist: cryptography<51,>=50
|
|
19
19
|
Requires-Dist: httpx<1,>=0.28.0
|
|
20
20
|
Requires-Dist: opentelemetry-api<1.40.0,>=1.38.0
|
|
21
21
|
Requires-Dist: opentelemetry-sdk<1.40.0,>=1.38.0
|
|
@@ -37,7 +37,7 @@ from .errors import (
|
|
|
37
37
|
# governance; eagerly it can deadlock package init as a circular import, and
|
|
38
38
|
# lazily it can recurse unboundedly when a per-request header builder resolves
|
|
39
39
|
# the version. Keep in sync with pyproject.toml on release.
|
|
40
|
-
__version__ = "1.3.
|
|
40
|
+
__version__ = "1.3.1"
|
|
41
41
|
|
|
42
42
|
__all__ = [
|
|
43
43
|
"__version__",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "openbox-sdk-python"
|
|
3
|
-
version = "1.3.
|
|
3
|
+
version = "1.3.1"
|
|
4
4
|
description = "OpenBox base SDK - governance contracts, strict gate, identity/signing, evaluate client, context runtime, OTel span wire serialization, and generic instrumentation shared by every OpenBox framework SDK"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "OpenBox Team", email = "tino@openbox.ai" },
|
|
@@ -26,7 +26,7 @@ dependencies = [
|
|
|
26
26
|
"opentelemetry-api>=1.38.0,<1.40.0",
|
|
27
27
|
"opentelemetry-sdk>=1.38.0,<1.40.0",
|
|
28
28
|
"httpx>=0.28.0,<1",
|
|
29
|
-
"cryptography>=
|
|
29
|
+
"cryptography>=50,<51",
|
|
30
30
|
]
|
|
31
31
|
|
|
32
32
|
[project.optional-dependencies]
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import tomllib
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
3
6
|
import httpx
|
|
4
7
|
|
|
5
8
|
import openbox_core
|
|
@@ -10,6 +13,14 @@ from openbox_core.runtime import OpenBoxRuntime
|
|
|
10
13
|
from openbox_core.sdk_version import build_sdk_identifier, normalize_sdk_version
|
|
11
14
|
|
|
12
15
|
|
|
16
|
+
def test_package_version_matches_project_metadata():
|
|
17
|
+
pyproject = tomllib.loads(
|
|
18
|
+
(Path(__file__).parents[1] / "pyproject.toml").read_text()
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
assert openbox_core.__version__ == pyproject["project"]["version"]
|
|
22
|
+
|
|
23
|
+
|
|
13
24
|
def test_build_sdk_identifier_defaults_to_base_python_package_version():
|
|
14
25
|
assert (
|
|
15
26
|
build_sdk_identifier()
|
|
@@ -255,58 +255,58 @@ wheels = [
|
|
|
255
255
|
|
|
256
256
|
[[package]]
|
|
257
257
|
name = "cryptography"
|
|
258
|
-
version = "
|
|
258
|
+
version = "50.0.1"
|
|
259
259
|
source = { registry = "https://pypi.org/simple" }
|
|
260
260
|
dependencies = [
|
|
261
261
|
{ name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
|
|
262
262
|
]
|
|
263
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
263
|
+
sdist = { url = "https://files.pythonhosted.org/packages/bb/ad/5d6702db60b1e40b41ef513b6967ff5848f307d50f8449baf1634f5908f1/cryptography-50.0.1.tar.gz", hash = "sha256:5dd9bda1c12b4162f6ff568eeb5e0ff956c28d14406e875cfe8a63a2d414ff20", size = 880381, upload-time = "2026-08-25T19:45:45.499Z" }
|
|
264
264
|
wheels = [
|
|
265
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
266
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
267
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
268
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
269
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
270
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
271
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
272
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
273
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
274
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
275
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
276
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
277
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
278
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
279
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
280
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
281
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
282
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
283
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
284
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
285
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
286
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
287
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
288
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
289
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
290
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
291
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
292
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
293
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
294
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
295
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
296
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
297
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
298
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
299
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
300
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
301
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
302
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
303
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
304
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
305
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
306
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
307
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
308
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
309
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
265
|
+
{ url = "https://files.pythonhosted.org/packages/ba/19/797e2aaac9df6a66f1550f49979dc1b1e39ecd2077501c30efa81e8d5d67/cryptography-50.0.1-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:b8f852c65863251b9e3a1b8c150ce21e59b522dbb6a7d4bc80e680d38388e986", size = 4010153, upload-time = "2026-08-25T19:44:03.155Z" },
|
|
266
|
+
{ url = "https://files.pythonhosted.org/packages/90/34/9ce9a62ed9dc82ca9fd6a34445b6904af56e5f38b3eae2ed32e49c36053d/cryptography-50.0.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:53e279950892dc102c6b4e52af03ae5ea92fac572a1ddab78ca73a997f62b69f", size = 4723133, upload-time = "2026-08-25T19:44:05.461Z" },
|
|
267
|
+
{ url = "https://files.pythonhosted.org/packages/57/26/e6d4fc8512a51a5f9ee7bfdbfb853bce1197087df40c9ad993ad370b846f/cryptography-50.0.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ff838d62ec1bfce4f9ba7fa16f4a7b554cd8d0c299e6be37502161a660c84eef", size = 4712478, upload-time = "2026-08-25T19:44:07.375Z" },
|
|
268
|
+
{ url = "https://files.pythonhosted.org/packages/e6/de/d3cdc2815697aae84126cbd6a030ca7b6b452e28a88b501b836bd3aa7a86/cryptography-50.0.1-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:e74591e283fe6eb956416c929eb58262a719fe0311fd9054c62c3350ed8760d8", size = 4730726, upload-time = "2026-08-25T19:44:09.294Z" },
|
|
269
|
+
{ url = "https://files.pythonhosted.org/packages/55/32/38c0d344b98c06d34b5df8946565a9c0d6dbf32c8e0730a7f05f0a3c6cab/cryptography-50.0.1-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:5fe002589592ed749ce77fe0695fcbd3500dd61d7d6db5858a7544c612fa8e45", size = 5353524, upload-time = "2026-08-25T19:44:11.96Z" },
|
|
270
|
+
{ url = "https://files.pythonhosted.org/packages/e1/1b/82f0f0d8858d4432be1af790477edf62aef90324041aa07c57e57bef1af7/cryptography-50.0.1-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:51593d180cf6d179bde5c5d065bed81386b1f381656ae7d042b7ffc87a9895ad", size = 4746720, upload-time = "2026-08-25T19:44:14.051Z" },
|
|
271
|
+
{ url = "https://files.pythonhosted.org/packages/29/ba/042ca458b8c64348c768284b5d23e69b92ed53d057ab779fee628564676d/cryptography-50.0.1-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:359e62deae718bce96170e223fdcb6357e4fbd3bb7a3a75f4430763532560e49", size = 4361866, upload-time = "2026-08-25T19:44:16.167Z" },
|
|
272
|
+
{ url = "https://files.pythonhosted.org/packages/39/3b/e96c1ef71edef71057c7e3c3d982ce8fda554e0c52d0cc19c18845cde3eb/cryptography-50.0.1-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:e2ca8fd1b6b4b82a1c4cb02841d0837e3c12336c2e24b520ab8ab3b969733d8f", size = 4730028, upload-time = "2026-08-25T19:44:18.085Z" },
|
|
273
|
+
{ url = "https://files.pythonhosted.org/packages/e3/38/45abd72ef63f2e7d0754a6cacf97bd8b69512ace7f6130d24c39ece65da2/cryptography-50.0.1-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:76de83fbd91ac49c0feaaa983d0748fd7a53176afac5fb3bf7478d244f0eb527", size = 5308405, upload-time = "2026-08-25T19:44:20.197Z" },
|
|
274
|
+
{ url = "https://files.pythonhosted.org/packages/85/66/6ccca4722987ddedaa7fc9c3f4708af7431f5535666c174350830888c6b7/cryptography-50.0.1-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:51afcfceb15597cf2635068e4ac9a56b2abde622edde17f37d85fd7b5306497a", size = 4746230, upload-time = "2026-08-25T19:44:22.376Z" },
|
|
275
|
+
{ url = "https://files.pythonhosted.org/packages/13/0e/b1f92e013228111413f2e6743948b80bc24dfd3c1b87ba98ceea16f5df89/cryptography-50.0.1-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:be224a65493ec5b74a158ff22a5522ce4a5ca1e543c647a3a4730d4a09e5f959", size = 4862596, upload-time = "2026-08-25T19:44:24.472Z" },
|
|
276
|
+
{ url = "https://files.pythonhosted.org/packages/7e/22/c3654cccc856e9d682817b04ac3ee79731cb09ca6f95996a95c904de2883/cryptography-50.0.1-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9ebcdd5519be9b652a46f507817a74591774fc3d6923ac364e4dfa64e36b291b", size = 5014082, upload-time = "2026-08-25T19:44:26.709Z" },
|
|
277
|
+
{ url = "https://files.pythonhosted.org/packages/42/8b/cb12b1b60c91b074ca6bf0fdd59aa8f10d8bc5f73af8faece86ef0421b37/cryptography-50.0.1-cp311-abi3-win_amd64.whl", hash = "sha256:aed8db4f6d71c51efb89530e12d9464e7bf2923d46c3205dc794a2a93f8c0648", size = 3842826, upload-time = "2026-08-25T19:44:28.784Z" },
|
|
278
|
+
{ url = "https://files.pythonhosted.org/packages/5b/f0/424cb557d99aa86ac55da5e2add02e2882e44047b6264f93ade1b975a993/cryptography-50.0.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:30a125032e5642a21ff816e021152bd4e7e94f03eff3f4b7fca41cd22bc3110f", size = 3973525, upload-time = "2026-08-25T19:44:30.7Z" },
|
|
279
|
+
{ url = "https://files.pythonhosted.org/packages/4d/72/3a2711d967977ab5fc80b782837c7e8d1ac7445e764c20c381a265c57ef3/cryptography-50.0.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a0b1a59e3a089064a0ec309e9428c8e3ae4e161419d20ac33600767e83fc658a", size = 4708817, upload-time = "2026-08-25T19:44:32.773Z" },
|
|
280
|
+
{ url = "https://files.pythonhosted.org/packages/b4/f2/bb1f56e10815b789df0b409a69fa4992ff3d3fef9c72747f4a6b26fed38e/cryptography-50.0.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8921d58f426793c5f1b47f0b59575780de9a095214958d0eb37d909593db8367", size = 4697300, upload-time = "2026-08-25T19:44:35.144Z" },
|
|
281
|
+
{ url = "https://files.pythonhosted.org/packages/08/bd/ed5396be499ffcf8807a585bfe38b71a1fbdd1c342b4f9b6d0ef5162a946/cryptography-50.0.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:a8f40ea47330e71b594a7e246898f93177c259490c63183dbaf9e571d71ed9a5", size = 4716039, upload-time = "2026-08-25T19:44:37.192Z" },
|
|
282
|
+
{ url = "https://files.pythonhosted.org/packages/f6/6e/1cf405c5c8e8df7545378048e954792f00b7f2367af8863ce8b8f3e10607/cryptography-50.0.1-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:a255449073358275b64b67d3f595f268bbef70e72b6edb65e0c70c735bf739c9", size = 5332388, upload-time = "2026-08-25T19:44:39.16Z" },
|
|
283
|
+
{ url = "https://files.pythonhosted.org/packages/47/92/b4317e8c32c4f47b062f5398bd79106b220a124546f42be83bf32b761e2a/cryptography-50.0.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:8df2de9102026855887e4587084f6eabd80ed0f345b8ad8a7ac27ab9bf4723e0", size = 4730293, upload-time = "2026-08-25T19:44:41.298Z" },
|
|
284
|
+
{ url = "https://files.pythonhosted.org/packages/39/0d/a1e7633e2c744d0f2983320a27e924ef2264c79c56e1a58d5fb0a1cfd413/cryptography-50.0.1-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:ac02b07824d4d1001bd4367599f839c19cb171924c796e52c23508ac14c2c0cc", size = 4346031, upload-time = "2026-08-25T19:44:43.245Z" },
|
|
285
|
+
{ url = "https://files.pythonhosted.org/packages/88/dd/b215616f9bab3fc18510c78a4e5c9f362d77838503c363dc747c7d4f5c6f/cryptography-50.0.1-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:cbf74a81765ee67413503ca6e26dcc4f6f5a519822436cc0a1b97aab6c1b8a17", size = 4715344, upload-time = "2026-08-25T19:44:45.291Z" },
|
|
286
|
+
{ url = "https://files.pythonhosted.org/packages/b1/1b/ec3ebd31741d0e963612c4fe43caa39341b9b1e031e469820e42e4c83918/cryptography-50.0.1-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:16c5ecd954b3330ebfb6605eca4fd952da8bef376551d5cc264534e3770a9ee6", size = 5287201, upload-time = "2026-08-25T19:44:47.297Z" },
|
|
287
|
+
{ url = "https://files.pythonhosted.org/packages/1a/01/0127d11a762b31a9ee0221894f540318761783f3fdc4bc5d057698caebd5/cryptography-50.0.1-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:79bf008d1f9af6071c797ad133e39915dfee7614f18f18f4db9072eb715064a3", size = 4730023, upload-time = "2026-08-25T19:44:49.435Z" },
|
|
288
|
+
{ url = "https://files.pythonhosted.org/packages/9e/b9/e7425ebfb599241a0c1d7000f1b466c3062da66c19d9525031315dff7213/cryptography-50.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:330fbb252391c596f1ae42c5754449dc924e6ad012dca8efe0d703f9f2d12ec6", size = 4847362, upload-time = "2026-08-25T19:44:51.94Z" },
|
|
289
|
+
{ url = "https://files.pythonhosted.org/packages/2d/fd/60d0ddf4defa12e482c9d5e0f554384d6e8ab25341fd15f060028fd92e6a/cryptography-50.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:42be3bb70596b3abe4ac097b75be223e8b3ab614a0e5de068e3dcc54d71d6149", size = 4999247, upload-time = "2026-08-25T19:44:53.876Z" },
|
|
290
|
+
{ url = "https://files.pythonhosted.org/packages/4d/56/bc4f2b209e766c93372cfcd59b781a0b2b59700f62a969580415b699c2b2/cryptography-50.0.1-cp314-cp314t-win_amd64.whl", hash = "sha256:f74455bb086a85d5e81246412602aaa97ed095e504cd40dd261ef50be42205bf", size = 3825806, upload-time = "2026-08-25T19:44:56.209Z" },
|
|
291
|
+
{ url = "https://files.pythonhosted.org/packages/84/a9/ee16a903f13755e914d1eecc482fe64d1f10761c3960e5d8fa6837377aff/cryptography-50.0.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:ca83d00d9e69cd5eb63f2e69c3a5a59e0cecae5ae14c6ae0b35830fe3b37bad0", size = 4035307, upload-time = "2026-08-25T19:44:58.305Z" },
|
|
292
|
+
{ url = "https://files.pythonhosted.org/packages/5e/a5/9ec7e81e8526c0d7a387d73386b2daed3f39e10d81a85930bd1b6bfba65c/cryptography-50.0.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:05ba322c4da95b262a212c345af888ef2c37c88c0509756ea00a0e6d68850f23", size = 4751900, upload-time = "2026-08-25T19:45:00.401Z" },
|
|
293
|
+
{ url = "https://files.pythonhosted.org/packages/7e/3c/0e77bd5ffcf078e9dd27d3074aad6c030d9b10d0bf69329d573c927a188c/cryptography-50.0.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e22dfed744bd4002e909464cb23d2f0b05c6f3113a79ef2e9864a53db737c733", size = 4738357, upload-time = "2026-08-25T19:45:02.786Z" },
|
|
294
|
+
{ url = "https://files.pythonhosted.org/packages/27/3a/3c5f80daa4dcd47323c7af8a2fcb90de27a33564d4fcac69846c0972691a/cryptography-50.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4c4188f7c0cf655be5c06342b817ed0f9595b69ffa2b12026e5353eed29dea88", size = 4758474, upload-time = "2026-08-25T19:45:04.889Z" },
|
|
295
|
+
{ url = "https://files.pythonhosted.org/packages/6e/2b/214cf0cf93db9628c3c20c896b229f327f6fb1b20e4b3743d8ad3f00af8b/cryptography-50.0.1-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:2ebbfb0f1fed745e91796e3e1080a1440423fdae8ece1b995a1d80883a409054", size = 5375862, upload-time = "2026-08-25T19:45:07.163Z" },
|
|
296
|
+
{ url = "https://files.pythonhosted.org/packages/d6/51/3f9701867a46b6c1740c9b52fc4d3bed6cbdcfedcc9b6e64305c07f39cff/cryptography-50.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:407fe2b6db00939c05c0e945e9914238f2f0a430974839429dafc82b1ee6bee5", size = 4772942, upload-time = "2026-08-25T19:45:09.396Z" },
|
|
297
|
+
{ url = "https://files.pythonhosted.org/packages/0d/5c/13ea642e08e2544d0f5396122055f4820cfacb3203562197b5967125ea97/cryptography-50.0.1-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:2b34d76a652ea2b6faf777c35df230c5637842cd904e04f16230c3f9f03e4361", size = 4383347, upload-time = "2026-08-25T19:45:11.659Z" },
|
|
298
|
+
{ url = "https://files.pythonhosted.org/packages/84/d5/7d1fe1cb93f91c428093ff234e128c89ba8ea61a6f26aab406081f9b996e/cryptography-50.0.1-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:01f41478cf33fc605a6a089cd56d28b45c6c0b45a1928b61797f2621a04bac71", size = 4758050, upload-time = "2026-08-25T19:45:13.745Z" },
|
|
299
|
+
{ url = "https://files.pythonhosted.org/packages/dd/04/557fc5ead96a829e0bc812a3b9dc4a52a2f27e4f7f5950da7ff27653a805/cryptography-50.0.1-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:fc3ed7ebd2a8c96f5b166de0ab9b624996bef3b07bbeb19364dfb78222c22c80", size = 5332955, upload-time = "2026-08-25T19:45:16.193Z" },
|
|
300
|
+
{ url = "https://files.pythonhosted.org/packages/8c/eb/5d7124083e8d8cda8f5b348f544b71ad6f707ad63193758ef4d8e569da02/cryptography-50.0.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:9dde0a357190eb3b1da1bb9ab750e9c85cba82ca5977aa0836cbb94e92611239", size = 4772694, upload-time = "2026-08-25T19:45:18.315Z" },
|
|
301
|
+
{ url = "https://files.pythonhosted.org/packages/63/8e/f1f955e0921dd2b6d22eae7e8d24a4c4b638d10735ffbf6a71f99eb0fcb8/cryptography-50.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd3718b960d0b5dd213cdf03f3bcb7000e69dda0de8b956061947ff6bcff5558", size = 4888413, upload-time = "2026-08-25T19:45:20.4Z" },
|
|
302
|
+
{ url = "https://files.pythonhosted.org/packages/1f/ab/89e2b798d2c3925f82e2bb72d5979f3d2f6da2dd22ef4a8cd8b70d920039/cryptography-50.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2a93d05e34d5f67fba6f891fe85d929999baa7195e853923ea6d7576c9e68c5e", size = 5044355, upload-time = "2026-08-25T19:45:22.353Z" },
|
|
303
|
+
{ url = "https://files.pythonhosted.org/packages/99/89/87ef49ffe383ef4e147d27b7bf2088fb0b54ea409dd87b5a89442e5828a5/cryptography-50.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:55d16b1ef3ee0958d893a977b19777887e546c9954ea81b200c3301a864013f2", size = 3875429, upload-time = "2026-08-25T19:45:24.418Z" },
|
|
304
|
+
{ url = "https://files.pythonhosted.org/packages/c7/27/8d207af749c453ee17ea087340b3f2b4adef75aadd1d277b1b129bdda84e/cryptography-50.0.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9cb3cb952cf5a8abd50c782a98a89d71699715e802fe349704b47f2425b42a94", size = 3974350, upload-time = "2026-08-25T19:45:26.551Z" },
|
|
305
|
+
{ url = "https://files.pythonhosted.org/packages/14/9a/6d3a4d7852e22d657438b7bf51f66102c7d71c0e1fafeec652281d0403e5/cryptography-50.0.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5fe939deeb161024a6be98229c953b6591fef1f41214497a78fe793a244c017f", size = 4698675, upload-time = "2026-08-25T19:45:28.658Z" },
|
|
306
|
+
{ url = "https://files.pythonhosted.org/packages/73/35/5c3717edf9e68a0550ce04e28eab493fe545eccd81742af03f6a75fe260b/cryptography-50.0.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fb4b9672d389c738b175c4166e78310f8a70358886aacd9173ee03a85ffdc671", size = 4707410, upload-time = "2026-08-25T19:45:30.816Z" },
|
|
307
|
+
{ url = "https://files.pythonhosted.org/packages/1d/e0/e786934472e3ac4ecdecc7b129a0ca1a2a40dffdafcf2c3ea9d4397f8def/cryptography-50.0.1-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:d63ae8f6481fec907ac0f588eee8a90aefde112c633131fe540e5711ddbb5a4e", size = 4698378, upload-time = "2026-08-25T19:45:33.043Z" },
|
|
308
|
+
{ url = "https://files.pythonhosted.org/packages/51/cf/5b3f53a0b74d122f023476ede40ba5d3e70d5cf475f73b899740d26a4fb2/cryptography-50.0.1-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:804728ce710890870f3aaa344b2e161172d258d768ac139d02cfd9092d0d94e6", size = 4706889, upload-time = "2026-08-25T19:45:35.086Z" },
|
|
309
|
+
{ url = "https://files.pythonhosted.org/packages/71/44/711e61f7d014be825ef79b285b047292d1bf893732ac1bc030a351fb517f/cryptography-50.0.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:693c99b49bd37d0d096e4334c10232c77248c415b98d35236094cdf96d57258b", size = 3824006, upload-time = "2026-08-25T19:45:37.281Z" },
|
|
310
310
|
]
|
|
311
311
|
|
|
312
312
|
[[package]]
|
|
@@ -584,7 +584,7 @@ wheels = [
|
|
|
584
584
|
|
|
585
585
|
[[package]]
|
|
586
586
|
name = "openbox-sdk-python"
|
|
587
|
-
version = "1.3.
|
|
587
|
+
version = "1.3.1"
|
|
588
588
|
source = { editable = "." }
|
|
589
589
|
dependencies = [
|
|
590
590
|
{ name = "cryptography" },
|
|
@@ -624,7 +624,7 @@ dev = [
|
|
|
624
624
|
[package.metadata]
|
|
625
625
|
requires-dist = [
|
|
626
626
|
{ name = "asyncpg", marker = "extra == 'db'", specifier = ">=0.29.0" },
|
|
627
|
-
{ name = "cryptography", specifier = ">=
|
|
627
|
+
{ name = "cryptography", specifier = ">=50,<51" },
|
|
628
628
|
{ name = "httpx", specifier = ">=0.28.0,<1" },
|
|
629
629
|
{ name = "opentelemetry-api", specifier = ">=1.38.0,<1.40.0" },
|
|
630
630
|
{ name = "opentelemetry-instrumentation-asyncpg", marker = "extra == 'db'", specifier = ">=0.59b0,<0.61b0" },
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/conformance/hook_preflight.py
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/conformance/instrumentation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/function.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/manager.py
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/instrumentation/shared.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/validation/diagnostics.py
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/validation/event_rules.py
RENAMED
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/openbox_core/validation/span_normalization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/test_transition_preflight.py
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/client/test_v2_endpoint_selection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/conformance/test_required_cases.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/contracts/test_approval_parsing.py
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/contracts/test_event_classify.py
RENAMED
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/contracts/test_result_parsing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/instrumented_env.py
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_db_block.py
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_db_redis_mongo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_hook_runtime.py
RENAMED
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/instrumentation/test_http_urllib.py
RENAMED
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/runtime/test_runtime_delegation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/MANIFEST.sha256
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/approval.json
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/auth-validate.json
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/evaluate.json
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/handoff.json
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/keypair.json
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/README.md
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/alg-none.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/expired.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/identity_v2/tamper/v1-path.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/test_identity_okta_unit.py
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/test_identity_v2_fixtures.py
RENAMED
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/signing/test_identity_v2_signing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openbox_sdk_python-1.3.0 → openbox_sdk_python-1.3.1}/tests/wire/test_core_span_projection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|