sqlbenchdag 0.1.0__tar.gz → 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. {sqlbenchdag-0.1.0/sqlbenchdag.egg-info → sqlbenchdag-0.1.1}/PKG-INFO +18 -3
  2. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/README.md +9 -2
  3. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/pyproject.toml +18 -2
  4. sqlbenchdag-0.1.1/scripts/autonomous_agent.py +840 -0
  5. sqlbenchdag-0.1.1/scripts/dev/check_deps.py +219 -0
  6. sqlbenchdag-0.1.1/scripts/dev/publish_capsule.py +118 -0
  7. sqlbenchdag-0.1.1/scripts/dev/remove_capsule.py +77 -0
  8. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/dev/verify_capsule.py +4 -1
  9. sqlbenchdag-0.1.1/scripts/multi_agent.py +106 -0
  10. sqlbenchdag-0.1.1/scripts/run_study.py +158 -0
  11. sqlbenchdag-0.1.1/scripts/tools/analyze_agent_traces.py +170 -0
  12. sqlbenchdag-0.1.1/scripts/tools/article_pack.py +88 -0
  13. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/gen_experiment_catalog.py +9 -3
  14. sqlbenchdag-0.1.1/scripts/tools/grade_analyses.py +210 -0
  15. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/plot_scaling.py +18 -21
  16. sqlbenchdag-0.1.1/scripts/tools/plot_transport.py +120 -0
  17. sqlbenchdag-0.1.1/scripts/tools/publish_figure.py +53 -0
  18. sqlbenchdag-0.1.1/scripts/tools/reorganize_agent_runs.py +121 -0
  19. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/verify_doc_claims.py +18 -1
  20. sqlbenchdag-0.1.1/scripts/tools/xfactor.py +66 -0
  21. sqlbenchdag-0.1.1/scripts/verify_malloy_equivalence.py +86 -0
  22. sqlbenchdag-0.1.1/skills/scripts/compare_engines.py +9 -0
  23. sqlbenchdag-0.1.1/skills/scripts/compare_engines_by_partition.py +7 -0
  24. sqlbenchdag-0.1.1/skills/scripts/get_experiment_result.py +7 -0
  25. sqlbenchdag-0.1.1/skills/scripts/get_experiment_status.py +7 -0
  26. sqlbenchdag-0.1.1/skills/scripts/get_experiment_summary.py +7 -0
  27. sqlbenchdag-0.1.1/skills/scripts/get_means_by_partition.py +7 -0
  28. sqlbenchdag-0.1.1/skills/scripts/get_replication_stability.py +7 -0
  29. sqlbenchdag-0.1.1/skills/scripts/get_scaling_factor.py +7 -0
  30. sqlbenchdag-0.1.1/skills/scripts/get_template.py +7 -0
  31. sqlbenchdag-0.1.1/skills/scripts/list_categories.py +4 -0
  32. sqlbenchdag-0.1.1/skills/scripts/list_suites.py +7 -0
  33. sqlbenchdag-0.1.1/skills/scripts/list_templates.py +4 -0
  34. sqlbenchdag-0.1.1/skills/scripts/submit_experiment.py +9 -0
  35. sqlbenchdag-0.1.1/sql_benchmarks/agent_orchestrator.py +518 -0
  36. sqlbenchdag-0.1.1/sql_benchmarks/agent_specialist.py +359 -0
  37. sqlbenchdag-0.1.1/sql_benchmarks/agent_tools.py +359 -0
  38. sqlbenchdag-0.1.1/sql_benchmarks/agent_trace.py +240 -0
  39. sqlbenchdag-0.1.1/sql_benchmarks/api/data/catalog_reader.py +117 -0
  40. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/data/reader.py +15 -0
  41. sqlbenchdag-0.1.1/sql_benchmarks/api/data/taxonomy.py +70 -0
  42. sqlbenchdag-0.1.1/sql_benchmarks/api/data/templates_reader.py +117 -0
  43. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/logic/comparator.py +29 -1
  44. sqlbenchdag-0.1.1/sql_benchmarks/api/logic/lab_docs.py +76 -0
  45. sqlbenchdag-0.1.1/sql_benchmarks/api/logic/projections.py +263 -0
  46. sqlbenchdag-0.1.1/sql_benchmarks/api/logic/published_library.py +106 -0
  47. sqlbenchdag-0.1.1/sql_benchmarks/api/logic/skills_library.py +92 -0
  48. sqlbenchdag-0.1.1/sql_benchmarks/api/models/catalog.py +64 -0
  49. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/models/experiments.py +5 -1
  50. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/models/results.py +14 -0
  51. sqlbenchdag-0.1.1/sql_benchmarks/api/routers/catalog.py +129 -0
  52. sqlbenchdag-0.1.1/sql_benchmarks/api/routers/experiments.py +136 -0
  53. sqlbenchdag-0.1.1/sql_benchmarks/api/routers/results.py +135 -0
  54. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/assets/benchmark_factory.py +24 -5
  55. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/assets/data_quality.py +20 -0
  56. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/assets/reporting.py +5 -0
  57. sqlbenchdag-0.1.1/sql_benchmarks/canonicalization.py +119 -0
  58. sqlbenchdag-0.1.1/sql_benchmarks/capsule_registry.py +104 -0
  59. sqlbenchdag-0.1.1/sql_benchmarks/cli.py +141 -0
  60. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/config_loader.py +82 -2
  61. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/constants.py +5 -2
  62. sqlbenchdag-0.1.1/sql_benchmarks/coordinator.py +494 -0
  63. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/definitions.py +40 -2
  64. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/experiments/templates/experiment_template.yaml +4 -2
  65. sqlbenchdag-0.1.1/sql_benchmarks/failure_marker.py +68 -0
  66. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/plugins/data_sources/declarative_gen.py +45 -0
  67. sqlbenchdag-0.1.1/sql_benchmarks/resources/malloy.py +65 -0
  68. sqlbenchdag-0.1.1/sql_benchmarks/resources/malloy_client.py +167 -0
  69. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/postgres_client.py +56 -10
  70. sqlbenchdag-0.1.1/sql_benchmarks/resources/postgres_transport.py +59 -0
  71. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/quack.py +22 -1
  72. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/quack_client.py +55 -3
  73. sqlbenchdag-0.1.1/sql_benchmarks/resources/storage.py +129 -0
  74. sqlbenchdag-0.1.1/sql_benchmarks/running_marker.py +145 -0
  75. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/null_logic/duckdb/indistinct_identity.sql +9 -0
  76. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/null_logic/postgres/indistinct_identity.sql +9 -0
  77. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/outer_join/duckdb/inner_join.sql +4 -0
  78. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/outer_join/duckdb/left_join.sql +5 -0
  79. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/outer_join/duckdb/right_join_flipped.sql +6 -0
  80. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/outer_join/postgres/inner_join.sql +4 -0
  81. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/outer_join/postgres/left_join.sql +5 -0
  82. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/outer_join/postgres/right_join_flipped.sql +6 -0
  83. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/quack_transport/duckdb/narrow.sql +2 -0
  84. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/quack_transport/duckdb/wide.sql +2 -0
  85. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/transport/postgres/nested.sql +2 -0
  86. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/transport/postgres/primitives.sql +2 -0
  87. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/transport/postgres/with_array.sql +2 -0
  88. sqlbenchdag-0.1.1/sql_benchmarks/scripts/sql/transport/postgres/with_jsonb.sql +2 -0
  89. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/common.py +28 -14
  90. sqlbenchdag-0.1.1/sql_benchmarks/utils/datagen_contract.py +162 -0
  91. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/hasher.py +7 -0
  92. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/providers.py +72 -6
  93. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/schema.py +17 -2
  94. sqlbenchdag-0.1.1/sql_benchmarks/validation.py +264 -0
  95. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1/sqlbenchdag.egg-info}/PKG-INFO +18 -3
  96. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sqlbenchdag.egg-info/SOURCES.txt +62 -2
  97. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sqlbenchdag.egg-info/requires.txt +8 -0
  98. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sqlbenchdag.egg-info/top_level.txt +2 -3
  99. sqlbenchdag-0.1.0/sql_benchmarks/api/data/catalog_reader.py +0 -73
  100. sqlbenchdag-0.1.0/sql_benchmarks/api/models/catalog.py +0 -22
  101. sqlbenchdag-0.1.0/sql_benchmarks/api/routers/catalog.py +0 -19
  102. sqlbenchdag-0.1.0/sql_benchmarks/api/routers/experiments.py +0 -79
  103. sqlbenchdag-0.1.0/sql_benchmarks/api/routers/results.py +0 -51
  104. sqlbenchdag-0.1.0/sql_benchmarks/cli.py +0 -69
  105. sqlbenchdag-0.1.0/sql_benchmarks/coordinator.py +0 -282
  106. sqlbenchdag-0.1.0/venv/bin/activate_this.py +0 -59
  107. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/LICENSE +0 -0
  108. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/infrastructure/debug_aws.py +0 -0
  109. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/dev/backfill_queries.py +0 -0
  110. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/dev/timestamp_capsule.py +0 -0
  111. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/dev/upgrade_capsule.py +0 -0
  112. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/dev/verify_portability.py +0 -0
  113. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/_plotlib.py +0 -0
  114. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/analyze_scaling.py +0 -0
  115. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/demo_breach_detection.py +0 -0
  116. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/extract_results.py +0 -0
  117. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/find_kink.py +0 -0
  118. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/load_parquet_to_local.py +0 -0
  119. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/plot_execution_modes.py +0 -0
  120. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/plot_selectivity.py +0 -0
  121. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/plot_threads.py +0 -0
  122. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/scripts/tools/regenerate_dashboard.py +0 -0
  123. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/setup.cfg +0 -0
  124. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/__init__.py +0 -0
  125. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/__init__.py +0 -0
  126. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/app.py +0 -0
  127. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/data/__init__.py +0 -0
  128. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/logic/__init__.py +0 -0
  129. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/logic/ranker.py +0 -0
  130. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/models/__init__.py +0 -0
  131. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/models/recommend.py +0 -0
  132. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/routers/__init__.py +0 -0
  133. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/api/routers/recommend.py +0 -0
  134. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/assets/__init__.py +0 -0
  135. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/assets/data_factory.py +0 -0
  136. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/assets/ingestion_factory.py +0 -0
  137. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/assets/maintenance.py +0 -0
  138. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/assets/semantic_gate.py +0 -0
  139. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/harness.py +0 -0
  140. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/jobs.py +0 -0
  141. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/partitions.py +0 -0
  142. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/plugins/data_sources/local_file_loader.py +0 -0
  143. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/plugins/data_sources/tpc_h.py +0 -0
  144. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/__init__.py +0 -0
  145. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/actian.py +0 -0
  146. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/actian_client.py +0 -0
  147. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/base_engine.py +0 -0
  148. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/base_schema_client.py +0 -0
  149. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/duckdb.py +0 -0
  150. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/duckdb_client.py +0 -0
  151. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/postgres.py +0 -0
  152. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/typedb_client.py +0 -0
  153. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/resources/typedb_engine.py +0 -0
  154. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/__init__.py +0 -0
  155. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/acid_test/duckdb/test.sql +0 -0
  156. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/acid_test/postgres/test.sql +0 -0
  157. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/analytical_wall/actian/analytical_wall.sql +0 -0
  158. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/analytical_wall/analytical_wall.sql.template +0 -0
  159. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/analytical_wall/duckdb/analytical_wall.sql +0 -0
  160. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/analytical_wall/postgres/analytical_wall.sql +0 -0
  161. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/group_by/duckdb/groupby_antipattern.sql +0 -0
  162. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/group_by/duckdb/groupby_recommended_cte.sql +0 -0
  163. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/group_by/postgres/groupby_antipattern.sql +0 -0
  164. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/group_by/postgres/groupby_recommended_pk.sql +0 -0
  165. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/hypergraph/duckdb/q_1hop.sql +0 -0
  166. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/hypergraph/duckdb/q_2hop.sql +0 -0
  167. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/hypergraph/duckdb/q_full.sql +0 -0
  168. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/hypergraph/typedb/q_1hop.sql +0 -0
  169. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/hypergraph/typedb/q_2hop.sql +0 -0
  170. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/hypergraph/typedb/q_full.sql +0 -0
  171. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/joins/duckdb/join_antipattern.sql +0 -0
  172. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/joins/duckdb/join_recommended.sql +0 -0
  173. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/joins/postgres/join_antipattern.sql +0 -0
  174. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/joins/postgres/join_recommended.sql +0 -0
  175. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_logic/duckdb/2VL_identity.sql +0 -0
  176. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_logic/duckdb/3VL_identity.sql +0 -0
  177. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_logic/postgres/2VL_identity.sql +0 -0
  178. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_logic/postgres/3VL_identity.sql +0 -0
  179. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_sentinel/duckdb/2VL_identity.sql +0 -0
  180. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_sentinel/duckdb/3VL_identity.sql +0 -0
  181. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_sentinel/duckdb/sentinel_optimization.sql +0 -0
  182. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_sentinel/postgres/2VL_identity.sql +0 -0
  183. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_sentinel/postgres/3VL_identity.sql +0 -0
  184. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/null_sentinel/postgres/sentinel_optimization.sql +0 -0
  185. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/recursion/duckdb/recursive_cte.sql +0 -0
  186. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/recursion/postgres/recursive_cte.sql +0 -0
  187. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/recursive_graph/duckdb/q_bounded_3hop.sql +0 -0
  188. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/recursive_graph/duckdb/q_fixed_2hop.sql +0 -0
  189. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/recursive_graph/duckdb/q_transitive_closure.sql +0 -0
  190. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/recursive_graph/typedb/q_bounded_3hop.sql +0 -0
  191. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/recursive_graph/typedb/q_fixed_2hop.sql +0 -0
  192. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/recursive_graph/typedb/q_transitive_closure.sql +0 -0
  193. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/security/acid_resilience/duckdb/test.sql +0 -0
  194. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/duckdb/q_0_1_percent.sql +0 -0
  195. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/duckdb/q_10_percent.sql +0 -0
  196. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/duckdb/q_1_percent.sql +0 -0
  197. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/duckdb/q_20_percent.sql +0 -0
  198. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/duckdb/q_5_percent.sql +0 -0
  199. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/duckdb/q_filler.sql +0 -0
  200. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/postgres/q_0_1_percent.sql +0 -0
  201. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/postgres/q_10_percent.sql +0 -0
  202. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/postgres/q_1_percent.sql +0 -0
  203. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/postgres/q_20_percent.sql +0 -0
  204. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/postgres/q_5_percent.sql +0 -0
  205. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/postgres/q_filler.sql +0 -0
  206. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/typedb/q_0_1_percent.sql +0 -0
  207. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/typedb/q_10_percent.sql +0 -0
  208. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/typedb/q_1_percent.sql +0 -0
  209. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/typedb/q_20_percent.sql +0 -0
  210. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/typedb/q_5_percent.sql +0 -0
  211. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/selectivity/typedb/q_filler.sql +0 -0
  212. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/sort_spill/duckdb/sort_full.sql +0 -0
  213. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/sort_spill/duckdb/sort_wide_rows.sql +0 -0
  214. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/sort_spill/postgres/sort_full.sql +0 -0
  215. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/sort_spill/postgres/sort_wide_rows.sql +0 -0
  216. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/tpch/duckdb/q3_shipping_priority.sql +0 -0
  217. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/scripts/sql/tpch/postgres/q3_shipping_priority.sql +0 -0
  218. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/__init__.py +0 -0
  219. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/ddl.py +0 -0
  220. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/integrity_monitor.py +0 -0
  221. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/scaling.py +0 -0
  222. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/semantic_auditor.py +0 -0
  223. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/utils/system.py +0 -0
  224. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sql_benchmarks/validator.py +0 -0
  225. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sqlbenchdag.egg-info/dependency_links.txt +0 -0
  226. {sqlbenchdag-0.1.0 → sqlbenchdag-0.1.1}/sqlbenchdag.egg-info/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlbenchdag
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: A reproducible, content-addressed SQL engine benchmarking laboratory.
5
5
  Author: Ramona C. Truta
6
6
  License-Expression: Apache-2.0
@@ -28,6 +28,9 @@ Requires-Dist: pandas
28
28
  Requires-Dist: plotly
29
29
  Requires-Dist: polars
30
30
  Requires-Dist: pyarrow
31
+ Requires-Dist: duckdb
32
+ Requires-Dist: jinja2
33
+ Requires-Dist: pydantic
31
34
  Requires-Dist: psycopg2-binary
32
35
  Requires-Dist: sqlalchemy
33
36
  Requires-Dist: psutil
@@ -41,9 +44,14 @@ Requires-Dist: uvicorn[standard]>=0.29.0
41
44
  Requires-Dist: fastmcp>=0.1.0
42
45
  Requires-Dist: httpx>=0.27.0
43
46
  Requires-Dist: typedb-driver
47
+ Requires-Dist: adbc-driver-manager==1.11.0
48
+ Requires-Dist: adbc-driver-postgresql==1.11.0
49
+ Requires-Dist: connectorx==0.4.5
50
+ Requires-Dist: adbc-driver-quack==0.1.0a8
44
51
  Provides-Extra: dev
45
52
  Requires-Dist: dagster-webserver; extra == "dev"
46
53
  Requires-Dist: pytest; extra == "dev"
54
+ Requires-Dist: matplotlib; extra == "dev"
47
55
  Dynamic: license-file
48
56
 
49
57
  # SQL Benchmarking Laboratory
@@ -101,7 +109,13 @@ Benchmarks are defined as N-dimensional matrices in YAML. The platform expands t
101
109
  * **Docker**: for the containerized engines (Postgres, TypeDB), which the harness manages itself — *not* required for the DuckDB-only quickstart.
102
110
 
103
111
  ### Installation & Setup
104
- The laboratory includes a comprehensive setup script that manages virtual environments, dependencies, and directory initialization.
112
+
113
+ **From PyPI** — the lab is installable, which gives you the tooling and the `sqlbench` CLI:
114
+ ```bash
115
+ pip install sqlbenchdag
116
+ ```
117
+
118
+ **From source** — clone the repo to also get the published capsules (`sql_benchmarks/experiments/results/`) and the full harness. The laboratory includes a comprehensive setup script that manages virtual environments, dependencies, and directory initialization.
105
119
 
106
120
  ```bash
107
121
  # 1. Automate Setup
@@ -141,7 +155,8 @@ Managed with a strict separation between Harness and Scenario:
141
155
  ├── /plugins # THE DATA: Declarative generators & scenario providers
142
156
  ├── /utils # THE BRAIN: AST-hashing, common logic, & system primitives
143
157
  └── /experiments # THE LABORATORY
144
- ├── active.yaml # Current active partition matrix
158
+ ├── active.yaml # LOCAL runtime staging — the coordinator overwrites
159
+ │ # this on every run (gitignored; not shared state)
145
160
  ├── /queue # Staging area for new experiment configs
146
161
  ├── /archive # Library of previously defined experiment templates
147
162
  ├── /configs # Registry of immutable, hash-addressed experiment capsules
@@ -53,7 +53,13 @@ Benchmarks are defined as N-dimensional matrices in YAML. The platform expands t
53
53
  * **Docker**: for the containerized engines (Postgres, TypeDB), which the harness manages itself — *not* required for the DuckDB-only quickstart.
54
54
 
55
55
  ### Installation & Setup
56
- The laboratory includes a comprehensive setup script that manages virtual environments, dependencies, and directory initialization.
56
+
57
+ **From PyPI** — the lab is installable, which gives you the tooling and the `sqlbench` CLI:
58
+ ```bash
59
+ pip install sqlbenchdag
60
+ ```
61
+
62
+ **From source** — clone the repo to also get the published capsules (`sql_benchmarks/experiments/results/`) and the full harness. The laboratory includes a comprehensive setup script that manages virtual environments, dependencies, and directory initialization.
57
63
 
58
64
  ```bash
59
65
  # 1. Automate Setup
@@ -93,7 +99,8 @@ Managed with a strict separation between Harness and Scenario:
93
99
  ├── /plugins # THE DATA: Declarative generators & scenario providers
94
100
  ├── /utils # THE BRAIN: AST-hashing, common logic, & system primitives
95
101
  └── /experiments # THE LABORATORY
96
- ├── active.yaml # Current active partition matrix
102
+ ├── active.yaml # LOCAL runtime staging — the coordinator overwrites
103
+ │ # this on every run (gitignored; not shared state)
97
104
  ├── /queue # Staging area for new experiment configs
98
105
  ├── /archive # Library of previously defined experiment templates
99
106
  ├── /configs # Registry of immutable, hash-addressed experiment capsules
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sqlbenchdag"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  description = "A reproducible, content-addressed SQL engine benchmarking laboratory."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11,<3.14"
@@ -37,6 +37,10 @@ dependencies = [
37
37
  "plotly",
38
38
  "polars",
39
39
  "pyarrow",
40
+ # Imported directly by the package (were only present transitively via dagster).
41
+ "duckdb",
42
+ "jinja2",
43
+ "pydantic",
40
44
  "psycopg2-binary",
41
45
  "sqlalchemy",
42
46
  "psutil",
@@ -50,12 +54,20 @@ dependencies = [
50
54
  "fastmcp>=0.1.0",
51
55
  "httpx>=0.27.0",
52
56
  "typedb-driver",
57
+ # Result-transport drivers — postgres_transport (psycopg/adbc/connectorx) and
58
+ # quack_adbc engines. Pinned to the versions that produced the sealed
59
+ # transport capsules (e.g. af6ba593) so the lane is reproducible by an outsider.
60
+ "adbc-driver-manager==1.11.0",
61
+ "adbc-driver-postgresql==1.11.0",
62
+ "connectorx==0.4.5",
63
+ "adbc-driver-quack==0.1.0a8",
53
64
  ]
54
65
 
55
66
  [project.optional-dependencies]
56
67
  dev = [
57
68
  "dagster-webserver",
58
- "pytest"
69
+ "pytest",
70
+ "matplotlib"
59
71
  ]
60
72
 
61
73
  [project.urls]
@@ -92,3 +104,7 @@ filterwarnings = [
92
104
  "ignore:Support for class-based `config` is deprecated:DeprecationWarning:pydantic",
93
105
  "ignore:`np.bool8` is a deprecated alias:DeprecationWarning:plotly",
94
106
  ]
107
+ markers = [
108
+ "integration: needs external infra (Docker Postgres, Quack server, remote Actian/TypeDB) — excluded from the default CI run",
109
+ "e2e: a full experiment driven through the harness (slow)",
110
+ ]