supertable 2.0.7__tar.gz → 2.0.8__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 (166) hide show
  1. {supertable-2.0.7/supertable.egg-info → supertable-2.0.8}/PKG-INFO +1 -1
  2. {supertable-2.0.7 → supertable-2.0.8}/pyproject.toml +1 -1
  3. {supertable-2.0.7 → supertable-2.0.8}/setup.py +1 -1
  4. {supertable-2.0.7 → supertable-2.0.8}/supertable/__init__.py +1 -1
  5. {supertable-2.0.7 → supertable-2.0.8}/supertable/redis_keys.py +20 -0
  6. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_redis_key_prefix.py +1 -0
  7. {supertable-2.0.7 → supertable-2.0.8/supertable.egg-info}/PKG-INFO +1 -1
  8. {supertable-2.0.7 → supertable-2.0.8}/LICENSE +0 -0
  9. {supertable-2.0.7 → supertable-2.0.8}/README.md +0 -0
  10. {supertable-2.0.7 → supertable-2.0.8}/requirements.txt +0 -0
  11. {supertable-2.0.7 → supertable-2.0.8}/setup.cfg +0 -0
  12. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/__init__.py +0 -0
  13. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/admin.py +0 -0
  14. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/chain.py +0 -0
  15. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/consumers.py +0 -0
  16. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/crypto.py +0 -0
  17. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/events.py +0 -0
  18. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/export.py +0 -0
  19. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/logger.py +0 -0
  20. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/middleware.py +0 -0
  21. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/reader.py +0 -0
  22. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/retention.py +0 -0
  23. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/tests/__init__.py +0 -0
  24. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/tests/test_chain.py +0 -0
  25. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/tests/test_crypto.py +0 -0
  26. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/tests/test_emit.py +0 -0
  27. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/tests/test_events.py +0 -0
  28. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/tests/test_retention.py +0 -0
  29. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/writer_parquet.py +0 -0
  30. {supertable-2.0.7 → supertable-2.0.8}/supertable/audit/writer_redis.py +0 -0
  31. {supertable-2.0.7 → supertable-2.0.8}/supertable/config/__init__.py +0 -0
  32. {supertable-2.0.7 → supertable-2.0.8}/supertable/config/defaults.py +0 -0
  33. {supertable-2.0.7 → supertable-2.0.8}/supertable/config/homedir.py +0 -0
  34. {supertable-2.0.7 → supertable-2.0.8}/supertable/config/settings.py +0 -0
  35. {supertable-2.0.7 → supertable-2.0.8}/supertable/config/tests/__init__.py +0 -0
  36. {supertable-2.0.7 → supertable-2.0.8}/supertable/config/tests/test_defaults.py +0 -0
  37. {supertable-2.0.7 → supertable-2.0.8}/supertable/config/tests/test_homedir.py +0 -0
  38. {supertable-2.0.7 → supertable-2.0.8}/supertable/config/tests/test_settings.py +0 -0
  39. {supertable-2.0.7 → supertable-2.0.8}/supertable/data_classes.py +0 -0
  40. {supertable-2.0.7 → supertable-2.0.8}/supertable/data_reader.py +0 -0
  41. {supertable-2.0.7 → supertable-2.0.8}/supertable/data_writer.py +0 -0
  42. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/__init__.py +0 -0
  43. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/__init__.py +0 -0
  44. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/__main__.py +0 -0
  45. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/check_filter_builder.py +0 -0
  46. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/controller.py +0 -0
  47. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/data_writer_helpers.py +0 -0
  48. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/defaults.py +0 -0
  49. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/dummy_data.py +0 -0
  50. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/read_parquet_header.py +0 -0
  51. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s01_01_01_create_super_table.py +0 -0
  52. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s01_01_02_enable_mirroring_formats.py +0 -0
  53. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s01_02_create_roles.py +0 -0
  54. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s01_03_create_users.py +0 -0
  55. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s02_01_write_dummy_data.py +0 -0
  56. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s02_02_write_single_data.py +0 -0
  57. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s02_03_01_write_staging.py +0 -0
  58. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s02_03_02_create_pipe.py +0 -0
  59. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s02_04_01_write_monitoring_simple.py +0 -0
  60. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s02_04_02_write_monitoring_parallel.py +0 -0
  61. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s02_05_write_tombstone.py +0 -0
  62. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_01_read_data_error.py +0 -0
  63. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_02_01_read_super_data_ok.py +0 -0
  64. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_02_02_read_table_data_ok.py +0 -0
  65. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_03_read_meta.py +0 -0
  66. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_04_read_staging.py +0 -0
  67. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_06_01_read_roles.py +0 -0
  68. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_06_02_read_user.py +0 -0
  69. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_07_01_estimate_read.py +0 -0
  70. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_07_02_estimate_files.py +0 -0
  71. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s03_08_read_snapshot_history.py +0 -0
  72. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s04_01_03_delete_pipe.py +0 -0
  73. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s05_01_delete_table.py +0 -0
  74. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/quickstart/s05_02_delete_super_table.py +0 -0
  75. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/webshop/__init__.py +0 -0
  76. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/webshop/core.py +0 -0
  77. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/webshop/defaults.py +0 -0
  78. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/webshop/generate.py +0 -0
  79. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/webshop/load.py +0 -0
  80. {supertable-2.0.7 → supertable-2.0.8}/supertable/demo/webshop/topup.py +0 -0
  81. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/__init__.py +0 -0
  82. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/data_estimator.py +0 -0
  83. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/duckdb_lite.py +0 -0
  84. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/duckdb_pro.py +0 -0
  85. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/engine_common.py +0 -0
  86. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/engine_enum.py +0 -0
  87. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/executor.py +0 -0
  88. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/plan_stats.py +0 -0
  89. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/spark_thrift.py +0 -0
  90. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/tests/__init__.py +0 -0
  91. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/tests/conftest.py +0 -0
  92. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/tests/test_dedup_read.py +0 -0
  93. {supertable-2.0.7 → supertable-2.0.8}/supertable/engine/tests/test_engine.py +0 -0
  94. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/__init__.py +0 -0
  95. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/benchmarks/__init__.py +0 -0
  96. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/benchmarks/benchmark_locking.py +0 -0
  97. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/benchmarks/measure_lock_speed.py +0 -0
  98. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/benchmarks/measure_lock_time.py +0 -0
  99. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/file_lock.py +0 -0
  100. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/redis_lock.py +0 -0
  101. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/tests/__init__.py +0 -0
  102. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/tests/test_file_lock.py +0 -0
  103. {supertable-2.0.7 → supertable-2.0.8}/supertable/locking/tests/test_redis_lock.py +0 -0
  104. {supertable-2.0.7 → supertable-2.0.8}/supertable/logging.py +0 -0
  105. {supertable-2.0.7 → supertable-2.0.8}/supertable/meta_reader.py +0 -0
  106. {supertable-2.0.7 → supertable-2.0.8}/supertable/mirroring/__init__.py +0 -0
  107. {supertable-2.0.7 → supertable-2.0.8}/supertable/mirroring/mirror_delta.py +0 -0
  108. {supertable-2.0.7 → supertable-2.0.8}/supertable/mirroring/mirror_formats.py +0 -0
  109. {supertable-2.0.7 → supertable-2.0.8}/supertable/mirroring/mirror_iceberg.py +0 -0
  110. {supertable-2.0.7 → supertable-2.0.8}/supertable/mirroring/mirror_parquet.py +0 -0
  111. {supertable-2.0.7 → supertable-2.0.8}/supertable/monitoring_writer.py +0 -0
  112. {supertable-2.0.7 → supertable-2.0.8}/supertable/plan_extender.py +0 -0
  113. {supertable-2.0.7 → supertable-2.0.8}/supertable/processing.py +0 -0
  114. {supertable-2.0.7 → supertable-2.0.8}/supertable/query_plan_manager.py +0 -0
  115. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/__init__.py +0 -0
  116. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/access_control.py +0 -0
  117. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/filter_builder.py +0 -0
  118. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/permissions.py +0 -0
  119. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/role_manager.py +0 -0
  120. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/row_column_security.py +0 -0
  121. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/tests/test_filter_builder.py +0 -0
  122. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/tests/test_rbac.py +0 -0
  123. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/tests/test_rbac_per_table.py +0 -0
  124. {supertable-2.0.7 → supertable-2.0.8}/supertable/rbac/user_manager.py +0 -0
  125. {supertable-2.0.7 → supertable-2.0.8}/supertable/redis_catalog.py +0 -0
  126. {supertable-2.0.7 → supertable-2.0.8}/supertable/redis_connector.py +0 -0
  127. {supertable-2.0.7 → supertable-2.0.8}/supertable/redis_infra.py +0 -0
  128. {supertable-2.0.7 → supertable-2.0.8}/supertable/simple_table.py +0 -0
  129. {supertable-2.0.7 → supertable-2.0.8}/supertable/staging_area.py +0 -0
  130. {supertable-2.0.7 → supertable-2.0.8}/supertable/storage/__init__.py +0 -0
  131. {supertable-2.0.7 → supertable-2.0.8}/supertable/storage/azure_storage.py +0 -0
  132. {supertable-2.0.7 → supertable-2.0.8}/supertable/storage/gcp_storage.py +0 -0
  133. {supertable-2.0.7 → supertable-2.0.8}/supertable/storage/local_storage.py +0 -0
  134. {supertable-2.0.7 → supertable-2.0.8}/supertable/storage/minio_storage.py +0 -0
  135. {supertable-2.0.7 → supertable-2.0.8}/supertable/storage/s3_storage.py +0 -0
  136. {supertable-2.0.7 → supertable-2.0.8}/supertable/storage/storage_factory.py +0 -0
  137. {supertable-2.0.7 → supertable-2.0.8}/supertable/storage/storage_interface.py +0 -0
  138. {supertable-2.0.7 → supertable-2.0.8}/supertable/storage/tests/test_storage.py +0 -0
  139. {supertable-2.0.7 → supertable-2.0.8}/supertable/super_pipe.py +0 -0
  140. {supertable-2.0.7 → supertable-2.0.8}/supertable/super_table.py +0 -0
  141. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/__init__.py +0 -0
  142. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_align_to_schema_fix.py +0 -0
  143. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_data_reader.py +0 -0
  144. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_data_writer.py +0 -0
  145. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_data_writer_comprehensive.py +0 -0
  146. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_data_writer_tombstones.py +0 -0
  147. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_dedup_on_read_write.py +0 -0
  148. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_meta_reader.py +0 -0
  149. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_newer_than.py +0 -0
  150. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_process_delete_only.py +0 -0
  151. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_processing.py +0 -0
  152. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_query_sql.py +0 -0
  153. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_simple_table.py +0 -0
  154. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_small_file_compaction.py +0 -0
  155. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_super_table.py +0 -0
  156. {supertable-2.0.7 → supertable-2.0.8}/supertable/tests/test_supertable_all.py +0 -0
  157. {supertable-2.0.7 → supertable-2.0.8}/supertable/utils/__init__.py +0 -0
  158. {supertable-2.0.7 → supertable-2.0.8}/supertable/utils/helper.py +0 -0
  159. {supertable-2.0.7 → supertable-2.0.8}/supertable/utils/sql_parser.py +0 -0
  160. {supertable-2.0.7 → supertable-2.0.8}/supertable/utils/tests/test_sql_parser_columns.py +0 -0
  161. {supertable-2.0.7 → supertable-2.0.8}/supertable/utils/timer.py +0 -0
  162. {supertable-2.0.7 → supertable-2.0.8}/supertable.egg-info/SOURCES.txt +0 -0
  163. {supertable-2.0.7 → supertable-2.0.8}/supertable.egg-info/dependency_links.txt +0 -0
  164. {supertable-2.0.7 → supertable-2.0.8}/supertable.egg-info/entry_points.txt +0 -0
  165. {supertable-2.0.7 → supertable-2.0.8}/supertable.egg-info/requires.txt +0 -0
  166. {supertable-2.0.7 → supertable-2.0.8}/supertable.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: supertable
3
- Version: 2.0.7
3
+ Version: 2.0.8
4
4
  Summary: SuperTable — versioned data lake library for SQL analytics on Parquet + Redis.
5
5
  Author: Levente Kupas
6
6
  Author-email: Levente Kupas <lkupas@kladnasoft.com>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "supertable"
7
- version = "2.0.7"
7
+ version = "2.0.8"
8
8
  description = "SuperTable — versioned data lake library for SQL analytics on Parquet + Redis."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -19,7 +19,7 @@ long_description = readme.read_text(encoding="utf-8") if readme.exists() else ""
19
19
 
20
20
  setup(
21
21
  name="supertable",
22
- version="2.0.7",
22
+ version="2.0.8",
23
23
  description="SuperTable — versioned data lake library for SQL analytics on Parquet + Redis.",
24
24
  long_description=long_description,
25
25
  long_description_content_type="text/markdown",
@@ -25,7 +25,7 @@ See the ``supertable.demo`` package for runnable end-to-end demos and the
25
25
  project documentation for the full API surface.
26
26
  """
27
27
 
28
- __version__ = "2.0.7"
28
+ __version__ = "2.0.8"
29
29
 
30
30
  # Re-export the core public surface so users can do ``from supertable import …``
31
31
  # instead of remembering submodule paths.
@@ -709,6 +709,26 @@ def linked_share_doc(org: str, sup: str, link_id: str) -> str:
709
709
  )
710
710
 
711
711
 
712
+ # --- Data Quality (dataisland-core dq module owns its sub-structure) ----- #
713
+
714
+ def dq_prefix(org: str, sup: str) -> str:
715
+ """Per-supertable data-quality namespace prefix (with trailing colon).
716
+
717
+ The dataisland-core dq module appends its own sub-keys to this
718
+ prefix (e.g. ``config:__global__``, ``rules:index``,
719
+ ``rules:doc:{rule_id}``, ``schedule:{table}``, ``latest:{table}``,
720
+ ``history``, ``pending:{table}``, ``running:{table}``,
721
+ ``cooldown:{table}``, ``run-all-progress``).
722
+
723
+ Centralised here so the lakes-scope prefix is enforced from a
724
+ single source.
725
+ """
726
+ return (
727
+ f"{SUPERTABLE_PREFIX}:{_safe('org', org)}:{LAKES_SCOPE}"
728
+ f":{_safe('sup', sup)}:dq:"
729
+ )
730
+
731
+
712
732
  # --- Monitoring ------------------------------------------------------------ #
713
733
 
714
734
  _VALID_MONITOR_TYPES: FrozenSet[str] = frozenset(
@@ -124,6 +124,7 @@ def _all_helpers() -> list[tuple[str, str, str]]:
124
124
  # ---- Linked shares ---------------------------------------------
125
125
  ("linked_share_index", RK.linked_share_index(ORG, SUP), f"{lake_pre}:linked_shares:index"),
126
126
  ("linked_share_doc", RK.linked_share_doc(ORG, SUP, LINK), f"{lake_pre}:linked_shares:doc:{LINK}"),
127
+ ("dq_prefix", RK.dq_prefix(ORG, SUP), f"{lake_pre}:dq:"),
127
128
 
128
129
  # ---- Monitoring (org-level, closed set) ------------------------
129
130
  ("monitor", RK.monitor(ORG, "plans"), f"supertable:{ORG}:monitor:plans"),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: supertable
3
- Version: 2.0.7
3
+ Version: 2.0.8
4
4
  Summary: SuperTable — versioned data lake library for SQL analytics on Parquet + Redis.
5
5
  Author: Levente Kupas
6
6
  Author-email: Levente Kupas <lkupas@kladnasoft.com>
File without changes
File without changes
File without changes
File without changes