matrx-orm 3.1.8__tar.gz → 3.1.9__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.8 → matrx_orm-3.1.9}/PKG-INFO +1 -1
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/exceptions.py +7 -2
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/pyproject.toml +1 -1
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/test_sync_twins_guard.py +9 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/.gitignore +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/BASE_CLASS_METHODS.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/CLAUDE.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/MODEL_API.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/database/orm/extended/managers/ai_model_base.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/docs/migrations.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/adapters/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/adapters/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/adapters/async_postgresql.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/adapters/base_adapter.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/adapters/postgresql.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/adapters/postgrest_client_adapter.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/adapters/supabase_adapter.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/admin/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/admin/router.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/api/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/api/auth.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/api/config.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/api/handlers.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/api/protocol.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/api/server.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/associations.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/cache_debug.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/client/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/client/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/client/postgres_connection.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/client/postgrest.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/client/supabase_auth.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/client/supabase_config.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/client/supabase_manager.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/EXTENDED-TASK.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/RELATIONS-TASKS.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/TASKS.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/async_db_manager.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/base.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/config.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/db_function.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/diagnostics.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/expressions.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/extended.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/fields.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/introspection.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/listen.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/loop_filters.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/model_dto.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/model_view.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/paginator.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/pydantic_bridge.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/registry.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/relations.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/resilience.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/rls_session.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/signals.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/transaction.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/types.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/core/write_queue.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/entity.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/error_handling.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/extended/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/extended/app_error_handler.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/middleware/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/middleware/base.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/cli.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/ddl.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/diff.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/executor.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/integration.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/loader.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/operations.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/state.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/migrations/table_filter.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/bulk_update_values.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/conflict.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/conflict_writes.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/create.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/delete.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/dynamic_admin.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/queue_claim.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/read.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/staging_load.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/operations/update.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/py.typed +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/python_sql/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/python_sql/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/python_sql/db_objects.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/python_sql/table_detailed_relationships.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/python_sql/table_typescript_relationship.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/query/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/query/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/query/builder.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/query/executor.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/code_handler.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/codegen_writer.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/columns.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/common.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/diff_preview.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/entity_capabilities.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/generator.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/helpers/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/helpers/base_generators.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/helpers/entity_generators.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/helpers/git_checker.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/package_wiring.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/relationships.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/runner.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/schema.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/schema_manager.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/tables.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/schema_builder/views.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/coalesce.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/dag.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/errors.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/fallback.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/flush.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/lifecycle.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/managed.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/op.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/reads.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/session.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/session/telemetry.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/sql_executor/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/sql_executor/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/sql_executor/executor.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/sql_executor/queries.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/sql_executor/registry.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/sql_executor/types.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/sql_executor/utils.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/state.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/utils/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/utils/sql_utils.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/matrx_orm/utils/type_converters.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/scripts/git-branches.sh +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/scripts/publish.sh +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/scripts/release.sh +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/conftest.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_admin_db_columns.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_admin_search_sentinels.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_advisory_lock.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_agent_message.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_api_auth.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_api_config.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_api_handlers.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_api_protocol.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_array_agg_order_by.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_associations.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_bulk_update_by_pk.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_bulk_upsert_increment_set_fields.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_cache_debug.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_call_function.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_case_when.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_composite_pk_filter.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_composite_pk_write_paths.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_config.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_conflict_target.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_conflict_writes.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_connection_codecs.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_connection_poison_guard.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_count_composite_distinct.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_db_function_field.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_ddl_generator.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_dirty_tracking.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_exceptions.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_execute_admin_sql.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_expression_primitives.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_fields.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_filter_jsonb_agg_array_index.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_filter_raw.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_from_alias.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_fts.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_func_expression_args.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_having_annotate_alias.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_insert_ignore_and_admin_primitives.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_introspect_rls_policies.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_join_and_aggregate.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_listen_notify.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_managed_write_guard.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_matrx_entity.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_migration_diff_types.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_migration_loader.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_model_instance.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_model_meta.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_order_by_expression.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_patch_jsonb_path.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_postgrest_filters.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_query_builder.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_query_error_detail.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_query_executor_sql.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_query_timeout.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_querybuilder_clone_semantics.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_queue_claim.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_registry.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_registry_multi_database.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_registry_multi_schema.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_relations.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_resilience.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_schema_exists.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_session_advisory_lock.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_state_cache.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_subquery_filter_raw.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_subquery_in_filter.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_supabase_auth.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_supabase_config.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_update_case_expression.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_update_subquery.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_upsert_with_conflict.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_values_jsonb_decode.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_watched_lifecycle.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level1/test_write_retry_semantics.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/MODULE_README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/conftest.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/test_bulk_ops.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/test_cache_integration.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/test_crud.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/test_foreign_keys.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/test_m2m.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/test_manager.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/test_migrations_live.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/test_query_execution.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/level2/test_schema_diff.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project/.env.example +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project/README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project/generate.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project/generated/.gitkeep +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project/matrx_orm.yaml +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project/test_schema_generation.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project_desktop/.env.example +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project_desktop/README.md +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project_desktop/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project_desktop/client_example.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project_desktop/client_example.ts +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project_desktop/client_supabase_example.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/sample_project_desktop/server.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/schema/entity_tests.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/schema/test_base_generation.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/schema/test_composite_pk_fk_generation.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/schema/test_generate_schema.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/schema/test_multi_schema_output.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/__init__.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/conftest.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_capture_poison_proof.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_coalesce.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_dag.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_disk_spill_fallback.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_flush_individual_fallback.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_governed_write.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_managed.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_op_enqueue_site.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_reads.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/session/test_session.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/test_database_name_alias.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/test_model_cls_refactor.py +0 -0
- {matrx_orm-3.1.8 → matrx_orm-3.1.9}/tests/test_sql_param_casts.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: matrx-orm
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.9
|
|
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
|
|
@@ -1472,8 +1472,13 @@ class MigrationError(ORMException):
|
|
|
1472
1472
|
return f"{_RED}{body}{_RESET}"
|
|
1473
1473
|
|
|
1474
1474
|
|
|
1475
|
-
class ParameterError(ORMException):
|
|
1476
|
-
"""Raised when query parameters are invalid or malformed.
|
|
1475
|
+
class ParameterError(ORMException, ValueError):
|
|
1476
|
+
"""Raised when query parameters are invalid or malformed.
|
|
1477
|
+
|
|
1478
|
+
Subclasses ValueError: a malformed query parameter (e.g. a non-UUID
|
|
1479
|
+
string for a UUID column) IS an invalid value, so consumers that map
|
|
1480
|
+
``ValueError`` to a 400/invalid-request response catch it correctly
|
|
1481
|
+
instead of surfacing an unmapped 500."""
|
|
1477
1482
|
|
|
1478
1483
|
def __init__(
|
|
1479
1484
|
self,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "matrx-orm"
|
|
3
|
-
version = "3.1.
|
|
3
|
+
version = "3.1.9"
|
|
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" }
|
|
@@ -50,3 +50,12 @@ def test_sync_twins_refuse_async_context() -> None:
|
|
|
50
50
|
call_function_sync("db", "public", "fn")
|
|
51
51
|
|
|
52
52
|
asyncio.run(run())
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def test_parameter_error_is_value_error() -> None:
|
|
56
|
+
"""ParameterError (bad query params) must subclass ValueError so consumer
|
|
57
|
+
`except ValueError -> 400` mappings catch a non-UUID id instead of 500ing."""
|
|
58
|
+
from matrx_orm.exceptions import ParameterError
|
|
59
|
+
|
|
60
|
+
assert issubclass(ParameterError, ValueError)
|
|
61
|
+
assert isinstance(ParameterError(reason="bad uuid"), ValueError)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|