tabulaflow 0.2.0__tar.gz → 0.2.2__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 (384) hide show
  1. {tabulaflow-0.2.0/tabulaflow.egg-info → tabulaflow-0.2.2}/PKG-INFO +8 -1
  2. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/README.md +7 -0
  3. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/pyproject.toml +1 -1
  4. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/model_catalog.py +15 -5
  5. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/contract.d.ts +2 -0
  6. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/pane.js +27 -11
  7. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/screens/config.py +2 -2
  8. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/neo4j.py +6 -3
  9. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/cypherbench.py +5 -1
  10. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/psjs.py +1 -1
  11. {tabulaflow-0.2.0 → tabulaflow-0.2.2/tabulaflow.egg-info}/PKG-INFO +8 -1
  12. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/LICENSE +0 -0
  13. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/setup.cfg +0 -0
  14. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/__init__.py +0 -0
  15. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/_paths.py +0 -0
  16. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/__init__.py +0 -0
  17. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/_cache.py +0 -0
  18. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/chat/__init__.py +0 -0
  19. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/chat/compaction.py +0 -0
  20. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/chat/events.py +0 -0
  21. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/chat/input.py +0 -0
  22. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/chat/session.py +0 -0
  23. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/chat/system_prompt.md +0 -0
  24. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/chat/tools.py +0 -0
  25. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/chat/turn.py +0 -0
  26. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/config.py +0 -0
  27. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/enrichment.py +0 -0
  28. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/extraction/__init__.py +0 -0
  29. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/extraction/extractor.py +0 -0
  30. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/extraction/markdown.py +0 -0
  31. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/llm.py +0 -0
  32. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/media.py +0 -0
  33. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/message_store.py +0 -0
  34. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/runtime.py +0 -0
  35. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/summarization.py +0 -0
  36. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/__init__.py +0 -0
  37. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/_sql.py +0 -0
  38. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/add_canonical_name.py +0 -0
  39. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/browser/__init__.py +0 -0
  40. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/browser/aria.py +0 -0
  41. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/browser/manager.py +0 -0
  42. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/browser/tool.py +0 -0
  43. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/connect_data_source.py +0 -0
  44. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/create_parameterized_source.py +0 -0
  45. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/extract_rows_from_documents.py +0 -0
  46. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/filesystem/__init__.py +0 -0
  47. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/filesystem/access.py +0 -0
  48. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/filesystem/edit.py +0 -0
  49. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/filesystem/patch.py +0 -0
  50. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/filesystem/patch_engine.py +0 -0
  51. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/filesystem/view.py +0 -0
  52. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/get_column_json_schema.py +0 -0
  53. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/get_table_schema.py +0 -0
  54. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/protocols.py +0 -0
  55. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/registry/__init__.py +0 -0
  56. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/registry/get_column_json_schema.py +0 -0
  57. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/registry/get_data_source_document.py +0 -0
  58. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/registry/get_schema.py +0 -0
  59. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/registry/get_table_schema.py +0 -0
  60. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/registry/run_query.py +0 -0
  61. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/registry/write_result_table.py +0 -0
  62. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/render_chart.py +0 -0
  63. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/render_graph.py +0 -0
  64. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/render_map.py +0 -0
  65. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/run_query.py +0 -0
  66. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/run_subagent_for_each_row.py +0 -0
  67. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/shell/__init__.py +0 -0
  68. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/shell/guard.py +0 -0
  69. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/shell/tool.py +0 -0
  70. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/tools/show_artifacts.py +0 -0
  71. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/agents/trace.py +0 -0
  72. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/__init__.py +0 -0
  73. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/assets/__init__.py +0 -0
  74. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/assets/model_catalog.json +0 -0
  75. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/assets/samples/__init__.py +0 -0
  76. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/assets/samples/sample.sqlite +0 -0
  77. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/config.py +0 -0
  78. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/main.py +0 -0
  79. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/__init__.py +0 -0
  80. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/__init__.py +0 -0
  81. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/fonts/figtree/Figtree-Variable.woff2 +0 -0
  82. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/fonts/figtree/OFL.txt +0 -0
  83. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/__init__.py +0 -0
  84. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/index.html +0 -0
  85. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/pane.css +0 -0
  86. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/render/chart.js +0 -0
  87. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/render/code.js +0 -0
  88. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/render/color-domains.js +0 -0
  89. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/render/graph.js +0 -0
  90. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/render/map.js +0 -0
  91. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/render/markdown.js +0 -0
  92. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/render/query.js +0 -0
  93. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/render/shared.js +0 -0
  94. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/ui/render/table.js +0 -0
  95. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/cytoscape/LICENSE-cytoscape-dagre.txt +0 -0
  96. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/cytoscape/LICENSE-cytoscape.txt +0 -0
  97. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/cytoscape/LICENSE-dagre.txt +0 -0
  98. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/cytoscape/cytoscape-dagre.min.js +0 -0
  99. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/cytoscape/cytoscape.min.js +0 -0
  100. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/cytoscape/dagre.min.js +0 -0
  101. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/LICENSE.txt +0 -0
  102. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
  103. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
  104. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  105. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  106. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  107. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  108. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  109. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  110. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  111. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  112. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  113. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  114. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  115. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  116. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  117. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
  118. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-Bold.woff +0 -0
  119. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  120. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  121. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  122. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  123. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
  124. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-Italic.woff +0 -0
  125. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  126. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
  127. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-Regular.woff +0 -0
  128. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  129. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  130. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  131. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  132. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
  133. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Math-Italic.woff +0 -0
  134. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  135. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  136. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  137. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  138. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  139. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  140. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  141. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  142. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  143. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  144. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
  145. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Script-Regular.woff +0 -0
  146. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  147. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
  148. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
  149. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  150. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
  151. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
  152. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  153. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
  154. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
  155. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  156. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
  157. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
  158. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  159. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  160. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  161. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  162. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/katex.min.css +0 -0
  163. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/katex/katex.min.js +0 -0
  164. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/LICENSE.txt +0 -0
  165. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/__init__.py +0 -0
  166. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/airport-labels.geojson +0 -0
  167. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/continent-labels.geojson +0 -0
  168. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/maplibre-gl.css +0 -0
  169. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/maplibre-gl.js +0 -0
  170. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/natural-earth-admin0-boundaries.geojson +0 -0
  171. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/natural-earth-admin1-boundaries.geojson +0 -0
  172. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/natural-earth-airports-source.txt +0 -0
  173. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/natural-earth-boundaries-source.txt +0 -0
  174. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/ocean-labels.geojson +0 -0
  175. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/osm-bright-sprite-source.txt +0 -0
  176. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/osm-bright-sprite.json +0 -0
  177. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/osm-bright-sprite.png +0 -0
  178. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/osm-bright-sprite@2x.json +0 -0
  179. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/osm-bright-sprite@2x.png +0 -0
  180. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/shortbread-light.json +0 -0
  181. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/tf-airport-icon-draft.svg +0 -0
  182. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/tf-interstate-shield-draft.svg +0 -0
  183. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/tf-route-sprite-source.txt +0 -0
  184. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/tf-route-sprite.json +0 -0
  185. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/tf-route-sprite.png +0 -0
  186. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/tf-route-sprite@2x.json +0 -0
  187. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/maplibre/tf-route-sprite@2x.png +0 -0
  188. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/markdown-it/LICENSE.txt +0 -0
  189. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/markdown-it/markdown-it.min.js +0 -0
  190. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/markdown-it-texmath/LICENSE.txt +0 -0
  191. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/markdown-it-texmath/texmath.css +0 -0
  192. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/markdown-it-texmath/texmath.js +0 -0
  193. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/tabulator/LICENSE.txt +0 -0
  194. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/tabulator/__init__.py +0 -0
  195. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/tabulator/tabulator.min.css +0 -0
  196. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/tabulator/tabulator.min.js +0 -0
  197. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/vega/LICENSE-vega-embed.txt +0 -0
  198. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/vega/LICENSE-vega-lite.txt +0 -0
  199. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/vega/LICENSE-vega.txt +0 -0
  200. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/vega/__init__.py +0 -0
  201. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/vega/vega-embed.min.js +0 -0
  202. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/vega/vega-lite.min.js +0 -0
  203. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/assets/vendor/vega/vega.min.js +0 -0
  204. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/cards.py +0 -0
  205. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/charts.py +0 -0
  206. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/contract.py +0 -0
  207. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/graphs.py +0 -0
  208. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/maps.py +0 -0
  209. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/server.py +0 -0
  210. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/pane/tables.py +0 -0
  211. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/runtime_paths.py +0 -0
  212. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/sample_data.py +0 -0
  213. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/session.py +0 -0
  214. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/theme.py +0 -0
  215. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/__init__.py +0 -0
  216. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/app.py +0 -0
  217. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/banner.py +0 -0
  218. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/cells.py +0 -0
  219. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/clipboard.py +0 -0
  220. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/commands.py +0 -0
  221. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/rendering.py +0 -0
  222. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/screens/__init__.py +0 -0
  223. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/screens/results.py +0 -0
  224. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/screens/schema.py +0 -0
  225. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/spinner.py +0 -0
  226. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/theme.py +0 -0
  227. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/tui.tcss +0 -0
  228. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/widgets/__init__.py +0 -0
  229. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/widgets/chat.py +0 -0
  230. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/widgets/chat_log.py +0 -0
  231. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/widgets/choice.py +0 -0
  232. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/widgets/input.py +0 -0
  233. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/widgets/markdown.py +0 -0
  234. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/widgets/progress.py +0 -0
  235. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/widgets/result.py +0 -0
  236. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/tui/widgets/suggestions.py +0 -0
  237. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/app/turn.py +0 -0
  238. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/cli.py +0 -0
  239. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/core/__init__.py +0 -0
  240. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/core/_cache.py +0 -0
  241. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/core/dataframe.py +0 -0
  242. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/core/media.py +0 -0
  243. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/core/registry.py +0 -0
  244. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/core/results.py +0 -0
  245. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/core/schema.py +0 -0
  246. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/core/serialization.py +0 -0
  247. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/__init__.py +0 -0
  248. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/_cache.py +0 -0
  249. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/catalog.py +0 -0
  250. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/config.py +0 -0
  251. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/connect.py +0 -0
  252. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/json_schema.py +0 -0
  253. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/loaders/__init__.py +0 -0
  254. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/loaders/_runner.py +0 -0
  255. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/loaders/files.py +0 -0
  256. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/loaders/huggingface.py +0 -0
  257. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/protocols.py +0 -0
  258. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/registry.py +0 -0
  259. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/sparql.py +0 -0
  260. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/data/sql.py +0 -0
  261. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/__init__.py +0 -0
  262. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/ambiguity_aware_queries.py +0 -0
  263. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/chat_sessions.py +0 -0
  264. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/cli.py +0 -0
  265. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/compare_research_agents.py +0 -0
  266. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/custom_agents.py +0 -0
  267. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/data_enrichment.py +0 -0
  268. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/document_extraction.py +0 -0
  269. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/quick_start.py +0 -0
  270. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/research_quick_start.py +0 -0
  271. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/structured_outputs.py +0 -0
  272. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/support/__init__.py +0 -0
  273. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/support/dock-guide.pdf +0 -0
  274. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/support/faq.txt +0 -0
  275. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/support/travel_guide.txt +0 -0
  276. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/table_linking_agent.py +0 -0
  277. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/examples/working_with_data.py +0 -0
  278. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/__init__.py +0 -0
  279. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/charts.py +0 -0
  280. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/__init__.py +0 -0
  281. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/_core.py +0 -0
  282. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/_sql.py +0 -0
  283. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/_table_grouping.py +0 -0
  284. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/cypher.py +0 -0
  285. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/resolution.py +0 -0
  286. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/schema.py +0 -0
  287. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/sparql.py +0 -0
  288. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/sql_compact.py +0 -0
  289. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/formatting/sql_ddl.py +0 -0
  290. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/graphs.py +0 -0
  291. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/maps.py +0 -0
  292. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/resolver.py +0 -0
  293. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/specs.py +0 -0
  294. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/output/store.py +0 -0
  295. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/__init__.py +0 -0
  296. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/__init__.py +0 -0
  297. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/ambig_flat.py +0 -0
  298. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/ambig_simple.py +0 -0
  299. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/ambig_structured.py +0 -0
  300. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/dbt.py +0 -0
  301. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/direct_prompt.py +0 -0
  302. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/ensemblers/__init__.py +0 -0
  303. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/ensemblers/agent.py +0 -0
  304. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/ensemblers/dbt.py +0 -0
  305. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/ensemblers/llm.py +0 -0
  306. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/ensemblers/majority.py +0 -0
  307. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/ensemblers/utils.py +0 -0
  308. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/full_schema.py +0 -0
  309. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/registry.py +0 -0
  310. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/schema_discovery.py +0 -0
  311. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/schema_linking.py +0 -0
  312. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/user_simulator.py +0 -0
  313. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/agents/utils.py +0 -0
  314. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/ambiguity.py +0 -0
  315. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/__init__.py +0 -0
  316. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/ambrosia_s.py +0 -0
  317. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/arcs.py +0 -0
  318. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/beaver.py +0 -0
  319. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/bird_sql.py +0 -0
  320. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/installation.py +0 -0
  321. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/registry.py +0 -0
  322. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/runtime.py +0 -0
  323. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/spider2_dbt.py +0 -0
  324. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/spider2_lite.py +0 -0
  325. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/benchmarks/spider2_snow.py +0 -0
  326. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/cli.py +0 -0
  327. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/__init__.py +0 -0
  328. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/aggregators.py +0 -0
  329. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/ambig_point_stats.py +0 -0
  330. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/bird_sql_ex.py +0 -0
  331. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/bird_sql_ex_soft.py +0 -0
  332. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/cypherbench_ex.py +0 -0
  333. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/executable.py +0 -0
  334. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/found_one.py +0 -0
  335. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/gold_ambig_point_stats.py +0 -0
  336. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/gold_executable.py +0 -0
  337. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/gold_result_not_empty.py +0 -0
  338. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/pred_success.py +0 -0
  339. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/raw_pred_bird_sql_ex.py +0 -0
  340. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/raw_pred_simple_ex.py +0 -0
  341. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/registry.py +0 -0
  342. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/schema_linking_stats.py +0 -0
  343. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/simple_ex.py +0 -0
  344. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/spider2_duckdb_match.py +0 -0
  345. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/spider2_ex.py +0 -0
  346. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/metrics/utils.py +0 -0
  347. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/observability.py +0 -0
  348. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/pipelines/__init__.py +0 -0
  349. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/pipelines/ensemble.py +0 -0
  350. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/pipelines/evaluate.py +0 -0
  351. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/pipelines/execute.py +0 -0
  352. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/pipelines/predict.py +0 -0
  353. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/pipelines/preprocess.py +0 -0
  354. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/pipelines/run.py +0 -0
  355. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/pipelines/utils.py +0 -0
  356. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/preprocessing/__init__.py +0 -0
  357. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/preprocessing/column_profiler.py +0 -0
  358. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/preprocessing/erd.py +0 -0
  359. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/preprocessing/fk_predictor.py +0 -0
  360. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/preprocessing/question_embedding.py +0 -0
  361. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/preprocessing/registry.py +0 -0
  362. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/preprocessing/schema.py +0 -0
  363. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/query_analysis.py +0 -0
  364. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/query_execution.py +0 -0
  365. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/reporting.py +0 -0
  366. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/tools/__init__.py +0 -0
  367. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/tools/ask_user.py +0 -0
  368. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/tools/finish.py +0 -0
  369. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/tools/get_column_description.py +0 -0
  370. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/tools/get_schema.py +0 -0
  371. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/tools/run_dbt.py +0 -0
  372. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/tools/search_keywords.py +0 -0
  373. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow/research/types.py +0 -0
  374. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow.egg-info/SOURCES.txt +0 -0
  375. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow.egg-info/dependency_links.txt +0 -0
  376. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow.egg-info/entry_points.txt +0 -0
  377. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow.egg-info/requires.txt +0 -0
  378. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tabulaflow.egg-info/top_level.txt +0 -0
  379. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tests/test_cli.py +0 -0
  380. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tests/test_docs_examples.py +0 -0
  381. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tests/test_docs_library_guides.py +0 -0
  382. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tests/test_docs_research_guides.py +0 -0
  383. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tests/test_lazy_imports.py +0 -0
  384. {tabulaflow-0.2.0 → tabulaflow-0.2.2}/tests/test_tool_error_convention.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tabulaflow
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: An interactive data agent, Python library, and text-to-query research toolkit
5
5
  Author: Megagon Labs
6
6
  License-Expression: LicenseRef-Megagon-BSD-3-Clause-Attribution
@@ -73,6 +73,10 @@ Dynamic: license-file
73
73
  </a>
74
74
  </h1>
75
75
 
76
+ [![PyPI](https://img.shields.io/pypi/v/tabulaflow.svg)](https://pypi.org/project/tabulaflow/)
77
+ [![Python](https://img.shields.io/pypi/pyversions/tabulaflow.svg)](https://pypi.org/project/tabulaflow/)
78
+ [![CI](https://github.com/megagonlabs/tabulaflow/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/megagonlabs/tabulaflow/actions/workflows/ci.yml)
79
+
76
80
  TabulaFlow is an open-source data agent built on a modular Python library.
77
81
  See the [documentation](https://megagonlabs.github.io/tabulaflow/).
78
82
 
@@ -120,6 +124,9 @@ export OPENAI_API_KEY="your-api-key"
120
124
  tabulaflow
121
125
  ```
122
126
 
127
+ See [Models and providers](https://megagonlabs.github.io/tabulaflow/models/) for
128
+ Anthropic, vLLM, and other providers.
129
+
123
130
  We also recommend installing Chromium to enable agent-driven web browsing:
124
131
 
125
132
  ```bash
@@ -4,6 +4,10 @@
4
4
  </a>
5
5
  </h1>
6
6
 
7
+ [![PyPI](https://img.shields.io/pypi/v/tabulaflow.svg)](https://pypi.org/project/tabulaflow/)
8
+ [![Python](https://img.shields.io/pypi/pyversions/tabulaflow.svg)](https://pypi.org/project/tabulaflow/)
9
+ [![CI](https://github.com/megagonlabs/tabulaflow/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/megagonlabs/tabulaflow/actions/workflows/ci.yml)
10
+
7
11
  TabulaFlow is an open-source data agent built on a modular Python library.
8
12
  See the [documentation](https://megagonlabs.github.io/tabulaflow/).
9
13
 
@@ -51,6 +55,9 @@ export OPENAI_API_KEY="your-api-key"
51
55
  tabulaflow
52
56
  ```
53
57
 
58
+ See [Models and providers](https://megagonlabs.github.io/tabulaflow/models/) for
59
+ Anthropic, vLLM, and other providers.
60
+
54
61
  We also recommend installing Chromium to enable agent-driven web browsing:
55
62
 
56
63
  ```bash
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "tabulaflow"
7
7
  authors = [{ name = "Megagon Labs" }]
8
- version = "0.2.0"
8
+ version = "0.2.2"
9
9
  description = "An interactive data agent, Python library, and text-to-query research toolkit"
10
10
  readme = "README.md"
11
11
  requires-python = ">=3.11"
@@ -26,6 +26,7 @@ MIN_MODEL_CONTEXT_TOKENS = 128_000
26
26
  MODEL_RELEASE_MAX_AGE_MONTHS = 6
27
27
  _CACHE_SCHEMA_VERSION = 5
28
28
  VLLM_DISCOVERY_TIMEOUT_SECONDS = 5
29
+ _INVALID_VLLM_API_ERROR = "no valid vLLM models API found — check VLLM_BASE_URL"
29
30
 
30
31
  _MODELS_DEV_PROVIDER_MAP: Mapping[str, str] = {
31
32
  "openai": "openai",
@@ -124,11 +125,16 @@ async def _discover_vllm_models(base_url: str, api_key: str) -> VLLMDiscoveryRes
124
125
  response = await client.get(f"{base_url.rstrip('/')}/models", headers=headers)
125
126
  if response.status_code in {401, 403}:
126
127
  return VLLMDiscoveryResult(error="authentication failed — check VLLM_API_KEY")
128
+ if response.status_code == 404:
129
+ return VLLMDiscoveryResult(error=_INVALID_VLLM_API_ERROR)
127
130
  response.raise_for_status()
128
- payload = response.json()
131
+ try:
132
+ payload = response.json()
133
+ except ValueError:
134
+ return VLLMDiscoveryResult(error=_INVALID_VLLM_API_ERROR)
129
135
  data = payload.get("data") if isinstance(payload, dict) else None
130
136
  if not isinstance(data, list):
131
- raise ValueError("response does not contain a model list")
137
+ return VLLMDiscoveryResult(error=_INVALID_VLLM_API_ERROR)
132
138
  model_ids = sorted(
133
139
  {
134
140
  item["id"].strip()
@@ -141,8 +147,10 @@ async def _discover_vllm_models(base_url: str, api_key: str) -> VLLMDiscoveryRes
141
147
  return VLLMDiscoveryResult(tuple(f"vllm:{model_id}" for model_id in model_ids))
142
148
  except httpx.TimeoutException:
143
149
  return VLLMDiscoveryResult(error="connection timed out")
144
- except (httpx.HTTPError, ValueError):
145
- return VLLMDiscoveryResult(error="model discovery failed")
150
+ except httpx.HTTPStatusError as error:
151
+ return VLLMDiscoveryResult(error=f"endpoint returned HTTP {error.response.status_code}")
152
+ except (httpx.InvalidURL, httpx.RequestError):
153
+ return VLLMDiscoveryResult(error="could not connect to endpoint")
146
154
 
147
155
 
148
156
  def _endpoint_label(base_url: str) -> str:
@@ -151,7 +159,9 @@ def _endpoint_label(base_url: str) -> str:
151
159
  except httpx.InvalidURL:
152
160
  return "configured endpoint"
153
161
  host = url.host or "configured endpoint"
154
- return f"{host}:{url.port}" if url.port is not None else host
162
+ authority = f"{host}:{url.port}" if url.port is not None else host
163
+ path = url.path.rstrip("/")
164
+ return f"{authority}{path}" if path else authority
155
165
 
156
166
 
157
167
  class _ModelLimit(BaseModel):
@@ -152,6 +152,8 @@ export interface ViewCacheEntry {
152
152
  mounted?: boolean;
153
153
  observer?: ResizeObserver | null;
154
154
  gateFrame?: number | null;
155
+ measuredWidth?: number;
156
+ measuredHeight?: number;
155
157
  revision?: string;
156
158
  pendingRevision?: string | null;
157
159
  pendingGeneration?: number | null;
@@ -875,12 +875,25 @@ function renderMessage(node, data) {
875
875
  return { destroy: function () {} };
876
876
  }
877
877
 
878
- function measurable(node, requires) {
879
- if (!node || !node.isConnected) return false;
878
+ function gateMeasurement(node, requires) {
879
+ if (!node || !node.isConnected) return null;
880
880
  var rect = node.getBoundingClientRect();
881
- if (requires && requires.width && !(rect.width > 0)) return false;
882
- if (requires && requires.height && !(rect.height > 0)) return false;
883
- return true;
881
+ if (requires && requires.width && !(rect.width > 0)) return null;
882
+ if (requires && requires.height && !(rect.height > 0)) return null;
883
+ return { width: rect.width, height: rect.height };
884
+ }
885
+
886
+ function gateMeasurementChanged(entry, measurement, requires) {
887
+ var changed = false;
888
+ if (requires.width) {
889
+ changed = entry.measuredWidth !== measurement.width;
890
+ entry.measuredWidth = measurement.width;
891
+ }
892
+ if (requires.height) {
893
+ changed = changed || entry.measuredHeight !== measurement.height;
894
+ entry.measuredHeight = measurement.height;
895
+ }
896
+ return changed;
884
897
  }
885
898
 
886
899
  function cancelGateFrame(entry) {
@@ -894,16 +907,18 @@ function runGate(entry) {
894
907
  if (!entry || !entry.gated || !entry.handle || !entry.handle.mount) return;
895
908
  var handle = entry.handle;
896
909
  var requires = handle.requires || {};
910
+ var measurement = gateMeasurement(entry.node, requires);
911
+ if (!measurement) {
912
+ if (!entry.observer) scheduleGateCheck(entry);
913
+ return;
914
+ }
897
915
  if (!entry.mounted) {
898
- if (!measurable(entry.node, requires)) {
899
- if (!entry.observer) scheduleGateCheck(entry);
900
- return;
901
- }
916
+ gateMeasurementChanged(entry, measurement, requires);
902
917
  entry.mounted = true;
903
918
  handle.mount();
904
919
  return;
905
920
  }
906
- if (handle.resize) handle.resize();
921
+ if (handle.resize && gateMeasurementChanged(entry, measurement, requires)) handle.resize();
907
922
  }
908
923
 
909
924
  function scheduleGateCheck(entry) {
@@ -921,8 +936,9 @@ function gateActivate(entry) {
921
936
  if (window.ResizeObserver) {
922
937
  entry.observer = new ResizeObserver(function () { runGate(entry); });
923
938
  entry.observer.observe(entry.node);
939
+ } else {
940
+ scheduleGateCheck(entry);
924
941
  }
925
- scheduleGateCheck(entry);
926
942
  }
927
943
 
928
944
  function gateDeactivate(entry) {
@@ -281,8 +281,8 @@ class ModelPickerScreen(Screen[str | None]):
281
281
  return "vLLM · discovering models…"
282
282
  assert result.error is not None
283
283
  detail = result.error
284
- endpoint = f" at {self._vllm_discovery.endpoint_label}" if self._vllm_discovery.endpoint_label else ""
285
- return f"vLLM · {detail}{endpoint}"
284
+ endpoint = f"{self._vllm_discovery.endpoint_label}: " if self._vllm_discovery.endpoint_label else ""
285
+ return f"vLLM · {endpoint}{detail}"
286
286
 
287
287
  def _model_window(self, row_count: int, height: int) -> tuple[int, int, bool, bool]:
288
288
  available = max(1, height)
@@ -63,10 +63,13 @@ RETURN null AS source, relType, null AS target, propertyName, propertyTypes
63
63
 
64
64
  _FAST_RELATIONSHIP_TOPOLOGY_QUERY = """
65
65
  CALL db.schema.visualization()
66
- YIELD relationships
66
+ YIELD nodes, relationships
67
67
  UNWIND relationships AS r
68
- UNWIND labels(startNode(r)) AS source
69
- UNWIND labels(endNode(r)) AS target
68
+ WITH r,
69
+ head([n IN nodes WHERE elementId(n) = elementId(startNode(r)) | n]) AS sourceNode,
70
+ head([n IN nodes WHERE elementId(n) = elementId(endNode(r)) | n]) AS targetNode
71
+ UNWIND labels(sourceNode) AS source
72
+ UNWIND labels(targetNode) AS target
70
73
  RETURN source, type(r) AS relType, target,
71
74
  null AS propertyName, [] AS propertyTypes
72
75
  """.strip()
@@ -279,7 +279,11 @@ class CypherBenchDatasetLoader:
279
279
  self.neo4j_user = neo4j_user
280
280
  self.neo4j_password = neo4j_password
281
281
  self.connector_config = (
282
- Neo4jConnectorConfig(schema_cache_mode="read_write", query_timeout_seconds=120)
282
+ Neo4jConnectorConfig(
283
+ schema_cache_mode="read_write",
284
+ query_timeout_seconds=120,
285
+ graph_schema_introspection_mode="full_scan",
286
+ )
283
287
  if connector_config is None
284
288
  else connector_config
285
289
  )
@@ -179,5 +179,5 @@ class PSJS:
179
179
  union = len(target_ps | pred_ps)
180
180
  return intersection / union if union > 0 else 0.0
181
181
  except Exception as e:
182
- logger.warning(f"PSJS evaluation failed: {e}")
182
+ logger.debug("PSJS evaluation failed: %s", e)
183
183
  return 0.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tabulaflow
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: An interactive data agent, Python library, and text-to-query research toolkit
5
5
  Author: Megagon Labs
6
6
  License-Expression: LicenseRef-Megagon-BSD-3-Clause-Attribution
@@ -73,6 +73,10 @@ Dynamic: license-file
73
73
  </a>
74
74
  </h1>
75
75
 
76
+ [![PyPI](https://img.shields.io/pypi/v/tabulaflow.svg)](https://pypi.org/project/tabulaflow/)
77
+ [![Python](https://img.shields.io/pypi/pyversions/tabulaflow.svg)](https://pypi.org/project/tabulaflow/)
78
+ [![CI](https://github.com/megagonlabs/tabulaflow/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/megagonlabs/tabulaflow/actions/workflows/ci.yml)
79
+
76
80
  TabulaFlow is an open-source data agent built on a modular Python library.
77
81
  See the [documentation](https://megagonlabs.github.io/tabulaflow/).
78
82
 
@@ -120,6 +124,9 @@ export OPENAI_API_KEY="your-api-key"
120
124
  tabulaflow
121
125
  ```
122
126
 
127
+ See [Models and providers](https://megagonlabs.github.io/tabulaflow/models/) for
128
+ Anthropic, vLLM, and other providers.
129
+
123
130
  We also recommend installing Chromium to enable agent-driven web browsing:
124
131
 
125
132
  ```bash
File without changes
File without changes