matrx-orm 3.0.27__tar.gz → 3.0.28__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.
Files changed (186) hide show
  1. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/PKG-INFO +2 -1
  2. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/README.md +1 -0
  3. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/pyproject.toml +1 -1
  4. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/schema.py +27 -12
  5. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/.arman/pending/versioning/INITIAL.md +0 -0
  6. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/.env.example +0 -0
  7. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/.github/workflows/publish.yml +0 -0
  8. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/.gitignore +0 -0
  9. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/.python-version +0 -0
  10. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/.vscode/settings.json +0 -0
  11. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/CLAUDE.md +0 -0
  12. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/DESKTOP-API-INTEGRATION.md +0 -0
  13. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/MIGRATIONS.md +0 -0
  14. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/MODULE_README.md +0 -0
  15. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/RESERVED_NAMES.md +0 -0
  16. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/TASKS-TEMPLATE.md +0 -0
  17. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/TASKS.md +0 -0
  18. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/TRANSACTION_POOLER_PLAN.MD +0 -0
  19. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/WRITE-QUEUE-UPGRADE.md +0 -0
  20. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/database/orm/extended/managers/ai_model_base.py +0 -0
  21. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/docs/migrations.md +0 -0
  22. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/extended_jan5_backup.py +0 -0
  23. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/main.py +0 -0
  24. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/release.sh +0 -0
  25. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/scripts/git-branches.sh +0 -0
  26. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/scripts/publish.sh +0 -0
  27. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/scripts/release.sh +0 -0
  28. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/MODULE_README.md +0 -0
  29. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/MODULE_README.md +0 -0
  30. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/__init__.py +0 -0
  31. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/adapters/MODULE_README.md +0 -0
  32. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/adapters/__init__.py +0 -0
  33. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/adapters/async_postgresql.py +0 -0
  34. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/adapters/base_adapter.py +0 -0
  35. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/adapters/postgresql.py +0 -0
  36. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/adapters/postgrest_client_adapter.py +0 -0
  37. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/adapters/supabase_adapter.py +0 -0
  38. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/api/__init__.py +0 -0
  39. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/api/auth.py +0 -0
  40. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/api/config.py +0 -0
  41. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/api/handlers.py +0 -0
  42. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/api/protocol.py +0 -0
  43. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/api/server.py +0 -0
  44. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/client/MODULE_README.md +0 -0
  45. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/client/__init__.py +0 -0
  46. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/client/postgres_connection.py +0 -0
  47. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/client/postgrest.py +0 -0
  48. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/client/supabase_auth.py +0 -0
  49. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/client/supabase_config.py +0 -0
  50. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/client/supabase_manager.py +0 -0
  51. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/EXTENDED-TASK.md +0 -0
  52. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/MODULE_README.md +0 -0
  53. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/RELATIONS-TASKS.md +0 -0
  54. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/TASKS.md +0 -0
  55. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/__init__.py +0 -0
  56. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/async_db_manager.py +0 -0
  57. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/base.py +0 -0
  58. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/config.py +0 -0
  59. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/expressions.py +0 -0
  60. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/extended.py +0 -0
  61. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/fields.py +0 -0
  62. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/model_dto.py +0 -0
  63. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/model_view.py +0 -0
  64. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/paginator.py +0 -0
  65. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/pydantic_bridge.py +0 -0
  66. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/registry.py +0 -0
  67. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/relations.py +0 -0
  68. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/signals.py +0 -0
  69. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/transaction.py +0 -0
  70. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/types.py +0 -0
  71. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/core/write_queue.py +0 -0
  72. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/error_handling.py +0 -0
  73. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/exceptions.py +0 -0
  74. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/extended/__init__.py +0 -0
  75. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/extended/app_error_handler.py +0 -0
  76. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/middleware/__init__.py +0 -0
  77. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/middleware/base.py +0 -0
  78. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/MODULE_README.md +0 -0
  79. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/__init__.py +0 -0
  80. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/cli.py +0 -0
  81. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/ddl.py +0 -0
  82. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/diff.py +0 -0
  83. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/executor.py +0 -0
  84. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/integration.py +0 -0
  85. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/loader.py +0 -0
  86. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/operations.py +0 -0
  87. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/state.py +0 -0
  88. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/migrations/table_filter.py +0 -0
  89. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/operations/MODULE_README.md +0 -0
  90. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/operations/__init__.py +0 -0
  91. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/operations/create.py +0 -0
  92. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/operations/delete.py +0 -0
  93. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/operations/read.py +0 -0
  94. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/operations/update.py +0 -0
  95. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/py.typed +0 -0
  96. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/python_sql/MODULE_README.md +0 -0
  97. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/python_sql/__init__.py +0 -0
  98. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/python_sql/db_objects.py +0 -0
  99. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/python_sql/table_detailed_relationships.py +0 -0
  100. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/python_sql/table_typescript_relationship.py +0 -0
  101. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/query/MODULE_README.md +0 -0
  102. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/query/__init__.py +0 -0
  103. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/query/builder.py +0 -0
  104. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/query/executor.py +0 -0
  105. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/MODULE_README.md +0 -0
  106. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/__init__.py +0 -0
  107. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/code_handler.py +0 -0
  108. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/columns.py +0 -0
  109. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/common.py +0 -0
  110. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/generator.py +0 -0
  111. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/helpers/__init__.py +0 -0
  112. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/helpers/base_generators.py +0 -0
  113. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/helpers/entity_generators.py +0 -0
  114. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/helpers/git_checker.py +0 -0
  115. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/relationships.py +0 -0
  116. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/runner.py +0 -0
  117. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/schema_manager.py +0 -0
  118. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/tables.py +0 -0
  119. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/schema_builder/views.py +0 -0
  120. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/sql_executor/MODULE_README.md +0 -0
  121. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/sql_executor/__init__.py +0 -0
  122. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/sql_executor/executor.py +0 -0
  123. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/sql_executor/queries.py +0 -0
  124. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/sql_executor/registry.py +0 -0
  125. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/sql_executor/types.py +0 -0
  126. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/sql_executor/utils.py +0 -0
  127. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/state.py +0 -0
  128. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/utils/__init__.py +0 -0
  129. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/utils/sql_utils.py +0 -0
  130. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/src/matrx_orm/utils/type_converters.py +0 -0
  131. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/MODULE_README.md +0 -0
  132. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/__init__.py +0 -0
  133. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/conftest.py +0 -0
  134. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/MODULE_README.md +0 -0
  135. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/__init__.py +0 -0
  136. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_api_auth.py +0 -0
  137. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_api_config.py +0 -0
  138. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_api_handlers.py +0 -0
  139. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_api_protocol.py +0 -0
  140. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_config.py +0 -0
  141. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_ddl_generator.py +0 -0
  142. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_exceptions.py +0 -0
  143. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_fields.py +0 -0
  144. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_migration_diff_types.py +0 -0
  145. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_migration_loader.py +0 -0
  146. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_model_instance.py +0 -0
  147. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_model_meta.py +0 -0
  148. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_postgrest_filters.py +0 -0
  149. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_query_builder.py +0 -0
  150. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_query_executor_sql.py +0 -0
  151. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_registry.py +0 -0
  152. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_relations.py +0 -0
  153. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_state_cache.py +0 -0
  154. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_supabase_auth.py +0 -0
  155. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level1/test_supabase_config.py +0 -0
  156. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/MODULE_README.md +0 -0
  157. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/__init__.py +0 -0
  158. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/conftest.py +0 -0
  159. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/test_bulk_ops.py +0 -0
  160. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/test_cache_integration.py +0 -0
  161. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/test_crud.py +0 -0
  162. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/test_foreign_keys.py +0 -0
  163. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/test_m2m.py +0 -0
  164. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/test_manager.py +0 -0
  165. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/test_migrations_live.py +0 -0
  166. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/test_query_execution.py +0 -0
  167. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/level2/test_schema_diff.py +0 -0
  168. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project/.env.example +0 -0
  169. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project/README.md +0 -0
  170. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project/__init__.py +0 -0
  171. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project/generate.py +0 -0
  172. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project/generated/.gitkeep +0 -0
  173. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project/matrx_orm.yaml +0 -0
  174. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project/test_schema_generation.py +0 -0
  175. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project_desktop/.env.example +0 -0
  176. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project_desktop/README.md +0 -0
  177. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project_desktop/__init__.py +0 -0
  178. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project_desktop/client_example.py +0 -0
  179. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project_desktop/client_example.ts +0 -0
  180. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project_desktop/client_supabase_example.py +0 -0
  181. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/sample_project_desktop/server.py +0 -0
  182. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/schema/entity_tests.py +0 -0
  183. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/schema/test_base_generation.py +0 -0
  184. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/schema/test_generate_schema.py +0 -0
  185. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/tests/test_model_cls_refactor.py +0 -0
  186. {matrx_orm-3.0.27 → matrx_orm-3.0.28}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrx-orm
3
- Version: 3.0.27
3
+ Version: 3.0.28
4
4
  Summary: Async-first PostgreSQL ORM with bidirectional migrations, schema introspection, many-to-many relationships, and built-in state caching. Works with any PostgreSQL database.
5
5
  Project-URL: Homepage, https://github.com/armanisadeghi/matrx-orm
6
6
  Project-URL: Repository, https://github.com/armanisadeghi/matrx-orm
@@ -1838,6 +1838,7 @@ When you run the schema builder against a database that has `vector(n)` columns,
1838
1838
 
1839
1839
  | Version | Highlights |
1840
1840
  |---|---|
1841
+ | **v3.0.28** | Patch release |
1841
1842
  | **v3.0.27** | Patch release |
1842
1843
  | **v3.0.26** | Patch release |
1843
1844
  | **v3.0.25** | Patch release |
@@ -1795,6 +1795,7 @@ When you run the schema builder against a database that has `vector(n)` columns,
1795
1795
 
1796
1796
  | Version | Highlights |
1797
1797
  |---|---|
1798
+ | **v3.0.28** | Patch release |
1798
1799
  | **v3.0.27** | Patch release |
1799
1800
  | **v3.0.26** | Patch release |
1800
1801
  | **v3.0.25** | Patch release |
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "matrx-orm"
3
- version = "3.0.27"
3
+ version = "3.0.28"
4
4
  description = "Async-first PostgreSQL ORM with bidirectional migrations, schema introspection, many-to-many relationships, and built-in state caching. Works with any PostgreSQL database."
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -56,6 +56,7 @@ class Schema:
56
56
  self.initialized = False
57
57
  self._include_tables: set[str] | None = None
58
58
  self._exclude_tables: set[str] | None = None
59
+
59
60
  # Global manager flags — yaml-level defaults, per-table overrides stack on top
60
61
  self.manager_flags: dict = {**_MANAGER_FLAG_DEFAULTS, **(manager_flags or {})}
61
62
 
@@ -99,6 +100,20 @@ class Schema:
99
100
  def __repr__(self):
100
101
  return f"<Schema name={self.name}, tables={len(self.tables)}, views={len(self.views)}>"
101
102
 
103
+ @property
104
+ def _filtered_tables(self) -> dict:
105
+ """Return the table subset honoring include_tables / exclude_tables.
106
+
107
+ All introspection, relationship resolution, and topological sorting
108
+ operate on the full ``self.tables`` dict. This property is used only
109
+ at *output-time* so generated files contain just the requested tables.
110
+ """
111
+ if self._include_tables is not None:
112
+ return {k: v for k, v in self.tables.items() if k in self._include_tables}
113
+ if self._exclude_tables is not None:
114
+ return {k: v for k, v in self.tables.items() if k not in self._exclude_tables}
115
+ return self.tables
116
+
102
117
  def initialize_code_generation(self):
103
118
  if self.initialized:
104
119
  return
@@ -151,7 +166,7 @@ class Schema:
151
166
  const_structure = ""
152
167
  const_entries = []
153
168
 
154
- for table in self.tables.values():
169
+ for table in self._filtered_tables.values():
155
170
  ts_table_entry, _, const_ts_structure = table.to_schema_entry()
156
171
  table_entries.append(ts_table_entry.strip())
157
172
  const_entries.append(const_ts_structure.strip())
@@ -167,7 +182,7 @@ class Schema:
167
182
  # export type MessageRecordMap = Record<MatrxRecordId, MessageData>;
168
183
  def generate_type_inference_entries(self):
169
184
  infer_entries = []
170
- for table in self.tables.values():
185
+ for table in self._filtered_tables.values():
171
186
  table_infer_entry = (
172
187
  f'export type {table.name_pascal}Type = AutomationEntity<"{table.name_camel}">;\n'
173
188
  f'export type {table.name_pascal}DataRequired = Expand<EntityData<"{table.name_camel}">>;\n'
@@ -183,7 +198,7 @@ class Schema:
183
198
 
184
199
  def generate_initial_type_inference_entries(self):
185
200
  infer_entries = []
186
- for table in self.tables.values():
201
+ for table in self._filtered_tables.values():
187
202
  table_infer_entry = f'export type {table.name_pascal}InitialType = ExpandedInitialTableType<"{table.name_camel}">;'
188
203
  infer_entries.append(table_infer_entry)
189
204
  return "\n".join(infer_entries)
@@ -194,7 +209,7 @@ class Schema:
194
209
  ts_views = []
195
210
  ts_entities = []
196
211
 
197
- for table in self.tables.values():
212
+ for table in self._filtered_tables.values():
198
213
  ts_tables.append(table.name_camel)
199
214
 
200
215
  for view in self.views.values():
@@ -227,7 +242,7 @@ class Schema:
227
242
 
228
243
  def generate_primary_key_object(self):
229
244
  result = "export const primaryKeys = {\n"
230
- for table in self.tables.values():
245
+ for table in self._filtered_tables.values():
231
246
  table_name = table.name_camel
232
247
  pk_entry = table.get_primary_key_fields_list()
233
248
 
@@ -482,7 +497,7 @@ class Schema:
482
497
 
483
498
  ts_common_close = "};"
484
499
 
485
- for table in self.tables.values():
500
+ for table in self._filtered_tables.values():
486
501
  for key, value in table.unique_name_lookups.items():
487
502
  ts_table_name_lookup.append(f' {key}: "{value}",')
488
503
 
@@ -558,7 +573,7 @@ class Schema:
558
573
 
559
574
  def generate_entity_typescript_types_file(self):
560
575
  ts_type_entries = []
561
- for table in self.tables.values():
576
+ for table in self._filtered_tables.values():
562
577
  ts_type_entries.append(table.to_typescript_type_entry())
563
578
 
564
579
  main_code = "\n".join(ts_type_entries)
@@ -637,7 +652,7 @@ class Schema:
637
652
 
638
653
  def generate_field_name_list(self):
639
654
  entity_field_names = {}
640
- for table in self.tables.values():
655
+ for table in self._filtered_tables.values():
641
656
  entity_name = table.name_camel
642
657
  vcprint(
643
658
  f"Processing entity: {entity_name}", verbose=self.verbose, color="blue"
@@ -660,7 +675,7 @@ class Schema:
660
675
 
661
676
  def generate_entity_overrides(self):
662
677
  entity_names = []
663
- for table in self.tables.values():
678
+ for table in self._filtered_tables.values():
664
679
  entity_names.append(table.name_camel)
665
680
 
666
681
  schema_builder_overrides = get_schema_builder_overrides(self.database_project)
@@ -677,7 +692,7 @@ class Schema:
677
692
  self.generate_entity_field_overrides()
678
693
 
679
694
  def generate_entity_main_hooks(self):
680
- all_table_snake_names = [table.name for table in self.tables.values()]
695
+ all_table_snake_names = [table.name for table in self._filtered_tables.values()]
681
696
  main_hook_code = generate_complete_main_hooks_file(all_table_snake_names)
682
697
  self.code_handler.generate_and_save_code_from_object(
683
698
  get_code_config(self.database_project)["typescript_entity_main_hooks"],
@@ -686,7 +701,7 @@ class Schema:
686
701
 
687
702
  def generate_entity_field_overrides(self):
688
703
  entity_names = []
689
- for table in self.tables.values():
704
+ for table in self._filtered_tables.values():
690
705
  entity_names.append(table.name_camel)
691
706
 
692
707
  schema_builder_overrides = get_schema_builder_overrides(self.database_project)
@@ -712,7 +727,7 @@ class Schema:
712
727
  # Generate and save JSON structure for schema data
713
728
  json_code_temp_path = "initialSchemas.json"
714
729
  json_structure = {}
715
- for table in self.tables.values():
730
+ for table in self._filtered_tables.values():
716
731
  _, json_table_entry, _ = table.to_schema_entry()
717
732
  json_structure.update(json_table_entry)
718
733
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes