jvspatial 0.2.0__tar.gz → 0.2.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.
- {jvspatial-0.2.0/jvspatial.egg-info → jvspatial-0.2.1}/PKG-INFO +1 -1
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/_observable.py +7 -5
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/version.py +1 -1
- {jvspatial-0.2.0 → jvspatial-0.2.1/jvspatial.egg-info}/PKG-INFO +1 -1
- {jvspatial-0.2.0 → jvspatial-0.2.1}/AUTHORS +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/LICENSE +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/README.md +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/_route_utils.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/_session_store.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/api_key_service.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/cleanup.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/config.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/enhanced.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/models.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/bridge.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/client_adapter.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/dcr.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/denylist.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/keys.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/metadata.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/models.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/refresh_store.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/requests.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/resource.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/revocation.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/routes.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/oauth/server.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/openapi_config.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/rbac.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/auth/service.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/app_builder.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/auth_configurator.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/auth_middleware.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/database_configurator.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/endpoint_auth_resolver.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/endpoint_manager.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/error_handler.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/logging_config.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/components/path_matcher.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/config.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/config_groups.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/constants.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/context.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/decorators/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/decorators/deferred_registry.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/decorators/field.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/decorators/function_wrappers.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/decorators/route.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/decorators/route_config.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/deferred_invoke_route.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/endpoints/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/endpoints/factory.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/endpoints/graph_visualization.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/endpoints/metadata.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/endpoints/registry.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/endpoints/response.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/endpoints/router.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/endpoints/walker_executor.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/exceptions.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/scheduler/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/scheduler/decorators.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/scheduler/middleware.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/scheduler/models.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/scheduler/scheduler.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/storage/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/storage/service.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/webhooks/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/webhooks/helpers.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/webhooks/middleware.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/webhooks/models.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/webhooks/utils.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/integrations/webhooks/webhook_auth.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/middleware/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/middleware/manager.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/middleware/rate_limit.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/middleware/rate_limit_backend.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/server.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/server_app_factory.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/server_configurator.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/server_lifecycle.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/server_registration.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/server_run.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/services/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/services/discovery.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/services/file_storage.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/services/lifecycle.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/utils/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/utils/path_utils.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/api/utils/reload.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/async_utils/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/cache/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/cache/base.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/cache/factory.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/cache/layered.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/cache/memory.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/cache/redis.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/cli.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/annotations.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/context.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/decorators.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/_visit_hooks.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/edge.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/node.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/node_query.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/object.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/root.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/event_system.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/protection.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/trail_store.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/walker_queue.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/walker_trail.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/events.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/graph.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/graph_context_config.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/graph_expansion.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/graph_payload.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/graph_projection.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/migrations.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/mixins/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/mixins/deferred_save.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/pager.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/utils.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/validate.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/_atomic.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/_cache.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/_path_locks.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/_postgres_translate.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/_sqlite_translate.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/database.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/dynamodb.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/factory.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/jsondb.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/manager.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/mongodb.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/postgres.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/query.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/sqlite.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/transaction.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/db/work_claim.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/dev_tools/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/env.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/env_adapter.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/exceptions.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/logging/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/logging/config.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/logging/custom_levels.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/logging/endpoints.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/logging/filter_utils.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/logging/handler.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/logging/models.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/logging/service.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/memory/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/observability/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/observability/metrics.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/observability/otel.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/observability/tracing.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/profiling/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/py.typed +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/runtime/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/runtime/eventbridge_readiness.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/runtime/lwa.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/runtime/serverless.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/serverless/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/serverless/deferred_invoke.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/serverless/factory.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/serverless/tasks/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/serverless/tasks/aws_lambda.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/serverless/tasks/aws_sqs.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/serverless/tasks/base.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/serverless/tasks/stub.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/serverless/tasks/sync.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/exceptions.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/interfaces/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/interfaces/_stream.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/interfaces/base.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/interfaces/local.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/interfaces/s3.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/internal_markers.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/managers/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/managers/proxy.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/models.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/security/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/security/path_sanitizer.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/storage/security/validator.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/testing/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/__init__.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/context.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/decorators.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/deprecation.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/factory.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/normalization.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/retry.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/serialization.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/stability.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/types.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/utils/validation.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial.egg-info/SOURCES.txt +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial.egg-info/dependency_links.txt +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial.egg-info/entry_points.txt +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial.egg-info/requires.txt +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial.egg-info/top_level.txt +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/pyproject.toml +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/setup.cfg +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/tests/test_config.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/tests/test_create_task.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/tests/test_env.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/tests/test_env_adapter_eventbridge_validation.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/tests/test_env_adapter_postgres.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/tests/test_node_operations.py +0 -0
- {jvspatial-0.2.0 → jvspatial-0.2.1}/tests/test_normalize_optional_secret.py +0 -0
|
@@ -5,8 +5,8 @@ and emits, for each operation:
|
|
|
5
5
|
|
|
6
6
|
1. A structured log line with the standard fields
|
|
7
7
|
``backend`` / ``op`` / ``collection`` / ``duration_ms`` / ``result_count``
|
|
8
|
-
/ ``success``.
|
|
9
|
-
|
|
8
|
+
/ ``success``. DEBUG for successful calls under the threshold;
|
|
9
|
+
WARNING for failures or calls reaching ``slow_query_ms``.
|
|
10
10
|
2. One metrics emission to the configured :class:`MetricsRecorder`:
|
|
11
11
|
a duration histogram and a counter, both labeled with the standard
|
|
12
12
|
dimensions.
|
|
@@ -91,7 +91,7 @@ class ObservableDatabase(Database):
|
|
|
91
91
|
metrics: A :class:`MetricsRecorder`. Defaults to
|
|
92
92
|
:class:`NullMetricsRecorder` (zero overhead).
|
|
93
93
|
slow_query_ms: Threshold above which the per-op log line is
|
|
94
|
-
elevated from
|
|
94
|
+
elevated from DEBUG to WARNING. Defaults to 100ms.
|
|
95
95
|
"""
|
|
96
96
|
|
|
97
97
|
def __init__(
|
|
@@ -195,15 +195,17 @@ class ObservableDatabase(Database):
|
|
|
195
195
|
if active_duration_s is not None:
|
|
196
196
|
log_extra["active_duration_ms"] = round(active_duration_s * 1000, 3)
|
|
197
197
|
|
|
198
|
-
# Structured log. WARNING when slow,
|
|
198
|
+
# Structured log. WARNING when slow or failed, DEBUG otherwise. extra=
|
|
199
199
|
# supplies the structured fields to any handler that
|
|
200
200
|
# understands them (json formatters, structlog, etc.).
|
|
201
201
|
slow = duration_ms >= self.slow_query_ms
|
|
202
202
|
msg = "db.%s on '%s' took %.2fms" % (op, collection, duration_ms)
|
|
203
203
|
if slow:
|
|
204
204
|
logger.warning("SLOW %s", msg, extra=log_extra)
|
|
205
|
+
elif not success:
|
|
206
|
+
logger.warning("FAILED %s", msg, extra=log_extra)
|
|
205
207
|
else:
|
|
206
|
-
logger.
|
|
208
|
+
logger.debug(msg, extra=log_extra)
|
|
207
209
|
|
|
208
210
|
# Metrics. Best-effort -- do not surface backend errors here.
|
|
209
211
|
try:
|
|
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
|
{jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/event_system.py
RENAMED
|
File without changes
|
|
File without changes
|
{jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/trail_store.py
RENAMED
|
File without changes
|
{jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/walker_queue.py
RENAMED
|
File without changes
|
{jvspatial-0.2.0 → jvspatial-0.2.1}/jvspatial/core/entities/walker_components/walker_trail.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
|
|
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
|