b24api 2.5.0__tar.gz → 2.5.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.
- {b24api-2.5.0/b24api.egg-info → b24api-2.5.1}/PKG-INFO +1 -1
- {b24api-2.5.0 → b24api-2.5.1}/b24api/testing/transport.py +9 -1
- {b24api-2.5.0 → b24api-2.5.1/b24api.egg-info}/PKG-INFO +1 -1
- {b24api-2.5.0 → b24api-2.5.1}/LICENSE +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/MANIFEST.in +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/README.md +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/__init__.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/_client_traversal.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/_diagnostics.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/_error_types.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/_sources.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/batch/__init__.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/batch/engine.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/batch/facade.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/batch/logical.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/batch/outcome.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/batch/stream.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/cli.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/cli_contract.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/client.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/completion/__init__.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/completion/closure.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/completion/fast_recorder.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/completion/gate.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/completion/operation_stream.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/completion/recorder.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/completion/reference_recorder.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/__init__.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/bounded_range.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/command.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/completion.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/dispatch.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/error_base.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/evidence.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/identity_store.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/json.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/keyset_capability.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/keyset_execution.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/page.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/page_stop.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/policy.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/positional.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/reference.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/report.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/request.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/request_summary.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/response.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/stream.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/traversal.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/v3_codes.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/violation.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/contracts/wire.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/encoding.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/errors.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/__init__.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/boundary.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/cleanup.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/context.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/executor.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/failure.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/lifecycle.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/rate.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/snapshot.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/execution/throttle.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/migration.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/py.typed +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/redaction.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/__init__.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/binding.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/dispatch.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/dispatch_plan.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/facade.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/fanout.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/outcome.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/scheduler.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/stream.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/references/support.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/settings.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/testing/__init__.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/testing/_isolation.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/testing/scripted.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/transport/__init__.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/transport/base.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/transport/decoding.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/transport/httpx.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/transport/log_records.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/transport/logging_shield.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/transport/protocol.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/__init__.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/control_preflight.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/counted.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/counted_batch.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/counted_rules.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/cursor.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/cursor_domain.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/driver.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/facade.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/facade_support.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/identity.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/identity_ledger.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_auto.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_capability.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_eligibility.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_fast_plan.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_fast_stream.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_geometry.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_observation.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_ordered_admission.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_page_validation.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_plan.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_reporting.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_runtime.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_step.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_transaction_contract.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_transactions.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/keyset_verifier.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/offset_rules.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/page_adaptation.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/plans.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/sequential.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/sparse.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/strategy_context.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/stream.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api/traversal/values.py +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api.egg-info/SOURCES.txt +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api.egg-info/dependency_links.txt +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api.egg-info/entry_points.txt +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api.egg-info/requires.txt +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/b24api.egg-info/top_level.txt +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/pyproject.toml +0 -0
- {b24api-2.5.0 → b24api-2.5.1}/setup.cfg +0 -0
|
@@ -242,7 +242,7 @@ def _failure_detail(error: BaseException | None) -> str | None:
|
|
|
242
242
|
|
|
243
243
|
async def _await_bounded[T](awaitable: Awaitable[T], *, seconds: float, detail: str) -> T:
|
|
244
244
|
"""Await extension code without waiting indefinitely for cancellation cooperation."""
|
|
245
|
-
task = asyncio.ensure_future(awaitable)
|
|
245
|
+
task = asyncio.ensure_future(_contain_process_aborts(awaitable))
|
|
246
246
|
try:
|
|
247
247
|
done, _ = await asyncio.wait({task}, timeout=seconds)
|
|
248
248
|
except asyncio.CancelledError:
|
|
@@ -256,6 +256,14 @@ async def _await_bounded[T](awaitable: Awaitable[T], *, seconds: float, detail:
|
|
|
256
256
|
raise IsolationDeadlineError(detail)
|
|
257
257
|
|
|
258
258
|
|
|
259
|
+
async def _contain_process_aborts[T](awaitable: Awaitable[T]) -> T:
|
|
260
|
+
"""Convert process aborts before Task re-raises them into and stops the isolated loop."""
|
|
261
|
+
try:
|
|
262
|
+
return await awaitable
|
|
263
|
+
except (KeyboardInterrupt, SystemExit) as error:
|
|
264
|
+
raise IsolationAbortError(type(error).__name__) from None
|
|
265
|
+
|
|
266
|
+
|
|
259
267
|
def _consume_detached_task[T](task: asyncio.Future[T]) -> None:
|
|
260
268
|
"""Retrieve any eventual exception from cancellation-resistant extension code."""
|
|
261
269
|
if not task.done():
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|