matrx-orm 3.1.154__tar.gz → 3.1.156__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.
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/PKG-INFO +2 -2
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/__init__.py +14 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/platform_access.py +73 -1
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/pyproject.toml +2 -2
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/.gitignore +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/AGENTS.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/BASE_CLASS_METHODS.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/CLAUDE.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/MODEL_API.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/database/orm/extended/managers/ai_model_base.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/docs/migrations.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/FEATURE.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/adapters/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/adapters/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/adapters/async_postgresql.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/adapters/base_adapter.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/adapters/postgresql.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/adapters/postgrest_client_adapter.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/adapters/supabase_adapter.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/admin/FEATURE.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/admin/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/admin/router.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/api/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/api/auth.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/api/config.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/api/handlers.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/api/protocol.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/api/server.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/associations.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/cache_debug.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/catalog.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/catalog_sql.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/client/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/client/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/client/postgres_connection.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/client/postgrest.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/client/supabase_auth.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/client/supabase_config.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/client/supabase_manager.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/EXTENDED-TASK.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/FEATURE.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/RELATIONS-TASKS.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/TASKS.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/async_db_manager.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/base.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/config.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/connections.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/db_function.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/diagnostics.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/expressions.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/extended.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/fields.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/introspection.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/listen.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/loop_filters.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/model_dto.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/model_view.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/one_database.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/paginator.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/pool_maintenance.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/pool_watch.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/pooler_role.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/pydantic_bridge.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/registry.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/relations.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/resilience.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/rls_session.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/session_context.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/signals.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/tls.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/transaction.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/types.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/write_queue.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/core/write_retry.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/entity.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/error_handling.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/exceptions.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/extended/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/extended/app_error_handler.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/identity_rule.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/local_sqlite.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/middleware/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/middleware/base.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/cli.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/ddl.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/diff.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/executor.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/integration.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/loader.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/operations.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/state.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/migrations/table_filter.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/no_org_assignment.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/FEATURE.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/bulk_update_values.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/catalog_select.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/conflict.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/conflict_writes.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/create.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/db_functions.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/delete.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/dynamic_admin.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/dynamic_crud.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/graph_walk.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/latest_rows.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/queue_claim.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/read.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/relational_backfill.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/staging_load.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/operations/update.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/platform_db.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/py.typed +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/pytest_lock_guard.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/pytest_plugin.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/python_sql/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/python_sql/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/python_sql/db_objects.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/python_sql/table_detailed_relationships.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/python_sql/table_typescript_relationship.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/query/FEATURE.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/query/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/query/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/query/builder.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/query/executor.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/resources/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/resources/additional-assigners-2026-09-12.json +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/resources/org_assignment_trigger_baseline.json +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/FEATURE.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/code_handler.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/codegen_writer.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/columns.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/common.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/diff_preview.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/entity_capabilities.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/generator.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/helpers/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/helpers/base_generators.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/helpers/entity_generators.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/helpers/git_checker.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/package_wiring.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/relationships.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/runner.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/schema.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/schema_manager.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/tables.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/views.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/FEATURE.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/attachments.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/crypto.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/host_authorization.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/items.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/model.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/mutation_receipts.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/org_service.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/secrets_battery/service.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/coalesce.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/dag.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/errors.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/fallback.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/flush.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/lifecycle.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/managed.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/op.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/reads.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/session.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/session/telemetry.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/sql_executor/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/sql_executor/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/sql_executor/executor.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/sql_executor/queries.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/sql_executor/registry.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/sql_executor/types.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/sql_executor/utils.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/state.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/utils/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/utils/sql_utils.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/utils/type_converters.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/scripts/git-branches.sh +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/scripts/publish.sh +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/scripts/release.sh +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/conftest.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_adapter_registry.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_admin_db_columns.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_admin_response_rendering.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_admin_search_negation.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_admin_search_sentinels.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_advisory_lock.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_agent_message.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_api_auth.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_api_config.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_api_handlers.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_api_protocol.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_array_agg_order_by.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_associations.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_associations_wiring.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_bulk_hydration_offload.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_bulk_update_by_pk.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_bulk_upsert_increment_set_fields.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_cache_debug.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_call_function.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_case_when.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_catalog.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_committed_row_guard.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_composite_pk_filter.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_composite_pk_write_paths.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_config.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_conflict_target.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_conflict_writes.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_connection_codecs.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_connection_poison_guard.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_connection_primitives.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_count_composite_distinct.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_count_limit_param_leak.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_db_function_field.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_ddl_generator.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_deadlock_retry.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_derived_table.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_dirty_tracking.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_dynamic_crud.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_exceptions.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_execute_query_integrity_mapping.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_expression_primitives.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_fields.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_filter_jsonb_agg_array_index.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_from_alias.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_fts.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_func_expression_args.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_graph_walk.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_having_annotate_alias.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_insert_ignore_and_admin_primitives.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_introspect_rls_policies.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_join_and_aggregate.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_latest_rows.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_listen_notify.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_local_sqlite.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_lock_contention_retry.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_managed_write_guard.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_matrx_entity.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_migration_diff_types.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_migration_loader.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_model_instance.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_model_meta.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_optimistic_concurrency.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_order_by_expression.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_org_assignment_inventory.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_parameter_name_hydration.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_patch_jsonb_path.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_persisted_count.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_pool_holder_census.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_pool_loop_recreation.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_pool_maintenance.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_postgrest_filters.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_pydantic_bridge.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_query_builder.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_query_error_detail.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_query_executor_sql.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_query_timeout.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_querybuilder_clone_semantics.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_queue_claim.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_read_connection_retry.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_registry.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_registry_multi_database.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_registry_multi_schema.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_relational_backfill.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_relations.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_resilience.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_rls_session_scope.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_schema_exists.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_session_advisory_lock.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_standalone_write_session_context.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_state_cache.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_subquery_filter_raw.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_subquery_in_filter.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_subquery_nested_expressions.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_supabase_auth.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_supabase_config.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_tls.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_transaction_database_identity.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_typed_join_projection.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_typed_predicates.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_update_case_expression.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_update_subquery.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_update_with_rebase.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_upsert_default_leak.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_upsert_with_conflict.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_values_jsonb_decode.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_watched_lifecycle.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_write_queue_deadline.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level1/test_write_retry_semantics.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/MODULE_README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/conftest.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/test_bulk_ops.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/test_cache_integration.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/test_crud.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/test_foreign_keys.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/test_m2m.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/test_manager.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/test_migrations_live.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/test_query_execution.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/test_schema_diff.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/level2/verify_committed_row_guard_pg17.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/live_pooler_role.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project/.env.example +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project/README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project/generate.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project/generated/.gitkeep +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project/matrx_orm.yaml +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project/test_schema_generation.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project_desktop/.env.example +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project_desktop/README.md +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project_desktop/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project_desktop/client_example.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project_desktop/client_example.ts +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project_desktop/client_supabase_example.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/sample_project_desktop/server.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/entity_tests.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_base_generation.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_composite_pk_fk_generation.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_composite_unique_generation.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_dto_identity_generation.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_entity_capability_generation.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_enum_ordering.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_generate_schema.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_junction_analysis.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_multi_schema_output.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_schema_analysis.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_sql_expression_defaults.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_table_relationships_query.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema/test_view_generation.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema_builder/test_array_default_parsing.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema_builder/test_focused_generation_plan.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/schema_builder/test_host_models_aggregator.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/__init__.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/conftest.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_cache_no_downgrade.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_capture_poison_proof.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_coalesce.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_dag.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_disk_spill_fallback.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_flush_individual_fallback.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_governed_write.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_managed.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_op_enqueue_site.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_reads.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_record_error_bounded_insert.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_record_error_storm.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_session.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/session/test_spill_guard_plugin.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_array_arg_element_type.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_database_name_alias.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_db_functions.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_dynamic_select_unregistered.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_immutable_insert_or_exact_verify.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_keyed_digest.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_model_cls_refactor.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_no_blocking_asyncpg_tls.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_one_database.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_order_by_desc_nulls_last.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_pooler_role_guard.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_secrets_battery.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_secrets_minting_keys.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_shared_lock_guard.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_sql_param_casts.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_sync_twins_guard.py +0 -0
- {matrx_orm-3.1.154 → matrx_orm-3.1.156}/tests/test_user_visible_lookup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: matrx-orm
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.156
|
|
4
4
|
Summary: Async-first PostgreSQL ORM with bidirectional migrations, schema introspection, many-to-many relationships, and built-in state caching
|
|
5
5
|
Project-URL: Homepage, https://github.com/AI-Matrix-Engine/aidream-current
|
|
6
6
|
Project-URL: Repository, https://github.com/AI-Matrix-Engine/aidream-current
|
|
@@ -25,7 +25,7 @@ Requires-Python: >=3.13
|
|
|
25
25
|
Requires-Dist: asyncpg>=0.31.0
|
|
26
26
|
Requires-Dist: cryptography>=43.0
|
|
27
27
|
Requires-Dist: gitpython>=3.1.40
|
|
28
|
-
Requires-Dist: matrx-utils>=2.0.
|
|
28
|
+
Requires-Dist: matrx-utils>=2.0.44
|
|
29
29
|
Requires-Dist: psycopg-pool>=3.2.5
|
|
30
30
|
Requires-Dist: psycopg[binary]>=3.2.5
|
|
31
31
|
Requires-Dist: python-dotenv>=1.0
|
|
@@ -40,10 +40,17 @@ from .entity import EntityCapabilityError, MatrxEntity
|
|
|
40
40
|
from .platform_access import (
|
|
41
41
|
ACCESS_POLICY_FUNCTION,
|
|
42
42
|
ACCESS_POLICY_SCHEMA,
|
|
43
|
+
DB_PERMISSION_LEVELS,
|
|
44
|
+
PERMISSION_LEVEL_LABELS,
|
|
45
|
+
PERMISSION_LEVEL_RANK,
|
|
46
|
+
PERMISSION_LEVELS,
|
|
43
47
|
EdgeAccessRequirement,
|
|
48
|
+
PermissionLevel,
|
|
44
49
|
configure_platform_access,
|
|
50
|
+
permission_level_rank,
|
|
45
51
|
platform_access_check,
|
|
46
52
|
platform_edge_requirement,
|
|
53
|
+
to_db_permission_level,
|
|
47
54
|
verify_platform_access_wiring,
|
|
48
55
|
)
|
|
49
56
|
from .platform_db import (
|
|
@@ -408,6 +415,13 @@ __all__ = [
|
|
|
408
415
|
"EdgeAccessRequirement",
|
|
409
416
|
"ACCESS_POLICY_SCHEMA",
|
|
410
417
|
"ACCESS_POLICY_FUNCTION",
|
|
418
|
+
"PERMISSION_LEVELS",
|
|
419
|
+
"PERMISSION_LEVEL_RANK",
|
|
420
|
+
"PERMISSION_LEVEL_LABELS",
|
|
421
|
+
"DB_PERMISSION_LEVELS",
|
|
422
|
+
"PermissionLevel",
|
|
423
|
+
"permission_level_rank",
|
|
424
|
+
"to_db_permission_level",
|
|
411
425
|
"host_db_config_name",
|
|
412
426
|
"HOST_DB_CONFIG_NAME_ENV",
|
|
413
427
|
"platform_connection_url",
|
|
@@ -39,7 +39,79 @@ from __future__ import annotations
|
|
|
39
39
|
from dataclasses import dataclass
|
|
40
40
|
from typing import Literal
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
# ── THE LADDER ────────────────────────────────────────────────────────────────
|
|
43
|
+
#
|
|
44
|
+
# The access levels are ``viewer`` · ``commenter`` · ``editor`` · ``admin``
|
|
45
|
+
# (AI Matrx Data Doctrine R18, 2026-09-10; see
|
|
46
|
+
# common-docs/systems/platform/access/DECISIONS.md). This is THE ONE PLACE they
|
|
47
|
+
# are declared on the Python side — every rank map, label map and level tuple in
|
|
48
|
+
# aidream derives from it, so a level cannot be present in one ladder and absent
|
|
49
|
+
# from another.
|
|
50
|
+
#
|
|
51
|
+
# It matters because the failure is SILENT. A rank map that omits a level hands
|
|
52
|
+
# a ``dict.get(level, 0)`` caller a 0, the comparison is ``False``, and the
|
|
53
|
+
# holder is refused with nothing written anywhere. A ``not in {...}`` validation
|
|
54
|
+
# set that omits one rejects a legitimate grant as "unsupported".
|
|
55
|
+
#
|
|
56
|
+
# ``PERMISSION_LEVELS`` (the CODE ladder) deliberately runs WIDER than
|
|
57
|
+
# ``DB_PERMISSION_LEVELS`` (what ``public.permission_level`` holds today):
|
|
58
|
+
# ``commenter`` is not in the database enum yet. Reading, ranking and labelling
|
|
59
|
+
# always use the code ladder, so nothing needs an edit the day the enum gains
|
|
60
|
+
# it; nothing breaks meanwhile, because the value simply never arrives. WRITING
|
|
61
|
+
# a level to the database narrows through ``to_db_permission_level`` first.
|
|
62
|
+
PERMISSION_LEVELS: tuple[str, ...] = ("viewer", "commenter", "editor", "admin")
|
|
63
|
+
|
|
64
|
+
PermissionLevel = Literal["viewer", "commenter", "editor", "admin"]
|
|
65
|
+
|
|
66
|
+
#: Ordinal rank, 1-based, derived from the ladder so it can never drift out of step.
|
|
67
|
+
PERMISSION_LEVEL_RANK: dict[str, int] = {level: index + 1 for index, level in enumerate(PERMISSION_LEVELS)}
|
|
68
|
+
|
|
69
|
+
#: Human labels — a level that reaches a screen or a log is never rendered blank.
|
|
70
|
+
PERMISSION_LEVEL_LABELS: dict[str, str] = {
|
|
71
|
+
"viewer": "Viewer",
|
|
72
|
+
"commenter": "Commenter",
|
|
73
|
+
"editor": "Editor",
|
|
74
|
+
"admin": "Full access",
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
#: What ``public.permission_level`` accepts RIGHT NOW. Widen this the same
|
|
78
|
+
#: migration that runs
|
|
79
|
+
#: ``ALTER TYPE public.permission_level ADD VALUE 'commenter' BEFORE 'editor'``.
|
|
80
|
+
DB_PERMISSION_LEVELS: tuple[str, ...] = ("viewer", "editor", "admin")
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def permission_level_rank(level: str) -> int:
|
|
84
|
+
"""Rank a level, refusing to answer silently for one off the ladder.
|
|
85
|
+
|
|
86
|
+
The old shape — ``LEVEL_ORDER.get(level, 0)`` — quietly ranked an unknown
|
|
87
|
+
level at the bottom and denied it with no trace. This raises by name with
|
|
88
|
+
the remedy instead.
|
|
89
|
+
"""
|
|
90
|
+
try:
|
|
91
|
+
return PERMISSION_LEVEL_RANK[level]
|
|
92
|
+
except KeyError:
|
|
93
|
+
raise ValueError(
|
|
94
|
+
f"Unknown permission level {level!r}. Known levels are "
|
|
95
|
+
f"{', '.join(PERMISSION_LEVELS)} — add it to PERMISSION_LEVELS in "
|
|
96
|
+
"matrx_orm.platform_access if the database gained a new value."
|
|
97
|
+
) from None
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def to_db_permission_level(level: str) -> str:
|
|
101
|
+
"""Narrow a code-ladder level to one the database can actually store.
|
|
102
|
+
|
|
103
|
+
Refuses by name with the remedy rather than letting Postgres answer with an
|
|
104
|
+
opaque ``invalid input value for enum public.permission_level``.
|
|
105
|
+
"""
|
|
106
|
+
permission_level_rank(level) # rejects an off-ladder level first
|
|
107
|
+
if level not in DB_PERMISSION_LEVELS:
|
|
108
|
+
raise ValueError(
|
|
109
|
+
f"Permission level {level!r} is not in the database enum "
|
|
110
|
+
f"public.permission_level (it holds {', '.join(DB_PERMISSION_LEVELS)}). "
|
|
111
|
+
f"Apply ALTER TYPE public.permission_level ADD VALUE '{level}' before "
|
|
112
|
+
"granting this level."
|
|
113
|
+
)
|
|
114
|
+
return level
|
|
43
115
|
|
|
44
116
|
#: The canonical policy function: ``iam.has_access_for(uuid, text, uuid, permission_level)``.
|
|
45
117
|
ACCESS_POLICY_SCHEMA = "iam"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "matrx-orm"
|
|
3
|
-
version = "3.1.
|
|
3
|
+
version = "3.1.156"
|
|
4
4
|
description = "Async-first PostgreSQL ORM with bidirectional migrations, schema introspection, many-to-many relationships, and built-in state caching"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { text = "MIT" }
|
|
@@ -41,7 +41,7 @@ dependencies = [
|
|
|
41
41
|
"gitpython>=3.1.40",
|
|
42
42
|
"psycopg[binary]>=3.2.5",
|
|
43
43
|
"psycopg-pool>=3.2.5",
|
|
44
|
-
"matrx-utils>=2.0.
|
|
44
|
+
"matrx-utils>=2.0.44",
|
|
45
45
|
"pyyaml>=6.0.3",
|
|
46
46
|
"python-dotenv>=1.0",
|
|
47
47
|
"cryptography>=43.0",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/python_sql/table_detailed_relationships.py
RENAMED
|
File without changes
|
{matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/python_sql/table_typescript_relationship.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/resources/additional-assigners-2026-09-12.json
RENAMED
|
File without changes
|
{matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/resources/org_assignment_trigger_baseline.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
|
{matrx_orm-3.1.154 → matrx_orm-3.1.156}/matrx_orm/schema_builder/helpers/entity_generators.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
|