querysource 4.2.1__tar.gz → 4.4.0__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 (596) hide show
  1. querysource-4.4.0/.agent/rules/async-programming-expert.md +83 -0
  2. querysource-4.4.0/.agent/rules/code-reviewer.md +80 -0
  3. querysource-4.4.0/.agent/rules/prompt-expert.md +146 -0
  4. querysource-4.4.0/.agent/rules/python-development.md +69 -0
  5. querysource-4.4.0/.agent/workflows/create-parrot-tool.md +33 -0
  6. querysource-4.4.0/.agent/workflows/create-workflow.md +146 -0
  7. querysource-4.4.0/.agent/workflows/debug-regressions-with-git-bisect-binary-search.md +36 -0
  8. querysource-4.4.0/.agent/workflows/generate-tests.md +107 -0
  9. querysource-4.4.0/.agent/workflows/git-new-feature.md +31 -0
  10. querysource-4.4.0/.agent/workflows/parrot-mcp-server.md +41 -0
  11. querysource-4.4.0/.agent/workflows/release_package.md +29 -0
  12. querysource-4.4.0/.agent/workflows/start-flow.md +46 -0
  13. querysource-4.4.0/.claude/agents/code-reviewer.md +270 -0
  14. querysource-4.4.0/.claude/agents/sdd-autopilot.md +799 -0
  15. querysource-4.4.0/.claude/agents/sdd-qa.md +93 -0
  16. querysource-4.4.0/.claude/agents/sdd-research.md +80 -0
  17. {querysource-4.2.1 → querysource-4.4.0}/.claude/agents/sdd-worker.md +90 -36
  18. {querysource-4.2.1 → querysource-4.4.0}/.claude/commands/sdd-brainstorm.md +48 -3
  19. {querysource-4.2.1 → querysource-4.4.0}/.claude/commands/sdd-done.md +201 -28
  20. {querysource-4.2.1 → querysource-4.4.0}/.claude/commands/sdd-fromjira.md +18 -4
  21. {querysource-4.2.1 → querysource-4.4.0}/.claude/commands/sdd-next.md +16 -6
  22. querysource-4.4.0/.claude/commands/sdd-proposal.md +494 -0
  23. querysource-4.4.0/.claude/commands/sdd-spec.md +306 -0
  24. {querysource-4.2.1 → querysource-4.4.0}/.claude/commands/sdd-start.md +79 -54
  25. querysource-4.4.0/.claude/commands/sdd-status.md +87 -0
  26. querysource-4.4.0/.claude/commands/sdd-task.md +214 -0
  27. {querysource-4.2.1 → querysource-4.4.0}/.claude/commands/sdd-tojira.md +12 -6
  28. querysource-4.4.0/.claude/rules/cython-development.md +26 -0
  29. querysource-4.4.0/.claude/rules/rust-development.md +51 -0
  30. {querysource-4.2.1 → querysource-4.4.0}/Makefile +4 -1
  31. {querysource-4.2.1 → querysource-4.4.0}/PKG-INFO +8 -2
  32. querysource-4.4.0/conftest.py +14 -0
  33. querysource-4.4.0/generated/AirtableSource.json +87 -0
  34. querysource-4.4.0/generated/Concat.json +16 -0
  35. querysource-4.4.0/generated/DWHDestination.json +81 -0
  36. querysource-4.4.0/generated/DropCols.json +58 -0
  37. querysource-4.4.0/generated/FileSource.json +37 -0
  38. querysource-4.4.0/generated/Filter.json +54 -0
  39. querysource-4.4.0/generated/FilterCols.json +28 -0
  40. querysource-4.4.0/generated/Forecast.json +68 -0
  41. querysource-4.4.0/generated/GoogleMaps.json +66 -0
  42. querysource-4.4.0/generated/GroupBy.json +48 -0
  43. querysource-4.4.0/generated/Info.json +26 -0
  44. querysource-4.4.0/generated/Join.json +62 -0
  45. querysource-4.4.0/generated/Map.json +28 -0
  46. querysource-4.4.0/generated/Melt.json +34 -0
  47. querysource-4.4.0/generated/Merge.json +58 -0
  48. querysource-4.4.0/generated/PluckCols.json +58 -0
  49. querysource-4.4.0/generated/Query.json +75 -0
  50. querysource-4.4.0/generated/S3Source.json +76 -0
  51. querysource-4.4.0/generated/SharepointSource.json +84 -0
  52. querysource-4.4.0/generated/SmartSheetSource.json +47 -0
  53. querysource-4.4.0/generated/Table.json +119 -0
  54. querysource-4.4.0/generated/TableDestination.json +68 -0
  55. querysource-4.4.0/generated/TableOutput.json +135 -0
  56. querysource-4.4.0/generated/TableOutputAdapter.json +16 -0
  57. querysource-4.4.0/generated/TableSource.json +45 -0
  58. querysource-4.4.0/generated/ThreadQuery.json +10 -0
  59. querysource-4.4.0/generated/ToS3.json +38 -0
  60. querysource-4.4.0/generated/ToSharepoint.json +38 -0
  61. querysource-4.4.0/generated/correlation.json +34 -0
  62. querysource-4.4.0/generated/crosstab.json +36 -0
  63. querysource-4.4.0/generated/pivot.json +60 -0
  64. querysource-4.4.0/generated/tExplode.json +68 -0
  65. querysource-4.4.0/generated/tOrder.json +62 -0
  66. querysource-4.4.0/generated/tPandas.json +26 -0
  67. {querysource-4.2.1 → querysource-4.4.0}/pyproject.toml +18 -8
  68. querysource-4.4.0/qs-parser/Cargo.lock +334 -0
  69. querysource-4.4.0/qs-parser/Cargo.toml +17 -0
  70. querysource-4.4.0/qs-parser/pyproject.toml +14 -0
  71. querysource-4.4.0/qs-parser/src/lib.rs +13 -0
  72. querysource-4.4.0/qs-parser/src/parser.rs +186 -0
  73. querysource-4.4.0/qs-parser/src/sql.rs +172 -0
  74. {querysource-4.2.1 → querysource-4.4.0}/querysource/_version.py +3 -3
  75. querysource-4.4.0/querysource/cli/__init__.py +6 -0
  76. querysource-4.4.0/querysource/cli/generate_docs.py +140 -0
  77. {querysource-4.2.1 → querysource-4.4.0}/querysource/conf.py +74 -0
  78. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/__init__.py +2 -0
  79. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/abstract.py +7 -1
  80. querysource-4.4.0/querysource/handlers/components.py +155 -0
  81. querysource-4.4.0/querysource/handlers/integrations/__init__.py +1 -0
  82. querysource-4.4.0/querysource/handlers/integrations/airtable.py +291 -0
  83. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/multi.py +51 -14
  84. querysource-4.4.0/querysource/handlers/scheduler.py +307 -0
  85. querysource-4.4.0/querysource/interfaces/airtable.py +411 -0
  86. querysource-4.4.0/querysource/outputs/destinations/__init__.py +259 -0
  87. querysource-4.4.0/querysource/outputs/destinations/abstract.py +78 -0
  88. querysource-4.4.0/querysource/outputs/destinations/dwh.py +15 -0
  89. querysource-4.4.0/querysource/outputs/destinations/s3.py +12 -0
  90. querysource-4.4.0/querysource/outputs/destinations/sharepoint.py +12 -0
  91. querysource-4.4.0/querysource/outputs/destinations/table.py +17 -0
  92. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/mysql.py +1 -1
  93. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/postgres.py +1 -1
  94. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/sa.py +1 -1
  95. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/table.py +6 -0
  96. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/json.py +16 -0
  97. querysource-4.4.0/querysource/providers/sources/zammad.py +154 -0
  98. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/__init__.py +151 -43
  99. querysource-4.4.0/querysource/queries/multi/_introspect.py +826 -0
  100. querysource-4.4.0/querysource/queries/multi/abstract.py +93 -0
  101. querysource-4.4.0/querysource/queries/multi/components/abstract.py +38 -0
  102. querysource-4.4.0/querysource/queries/multi/destinations/__init__.py +88 -0
  103. querysource-4.4.0/querysource/queries/multi/destinations/dwh.py +452 -0
  104. querysource-4.4.0/querysource/queries/multi/destinations/s3.py +259 -0
  105. querysource-4.4.0/querysource/queries/multi/destinations/sharepoint.py +438 -0
  106. querysource-4.4.0/querysource/queries/multi/destinations/table.py +734 -0
  107. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/operators/Concat.py +15 -2
  108. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/operators/GroupBy.py +30 -43
  109. querysource-4.4.0/querysource/queries/multi/operators/Info.py +203 -0
  110. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/operators/Join.py +26 -0
  111. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/operators/Melt.py +23 -0
  112. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/operators/Merge.py +27 -9
  113. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/operators/abstract.py +9 -27
  114. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/operators/filter/flt.py +31 -4
  115. querysource-4.4.0/querysource/queries/multi/registry.py +409 -0
  116. querysource-4.4.0/querysource/queries/multi/sources/__init__.py +35 -0
  117. querysource-4.4.0/querysource/queries/multi/sources/airtable.py +321 -0
  118. querysource-4.4.0/querysource/queries/multi/sources/base.py +116 -0
  119. querysource-4.4.0/querysource/queries/multi/sources/executors.py +224 -0
  120. querysource-4.4.0/querysource/queries/multi/sources/file.py +96 -0
  121. querysource-4.4.0/querysource/queries/multi/sources/query.py +238 -0
  122. querysource-4.4.0/querysource/queries/multi/sources/s3.py +165 -0
  123. querysource-4.4.0/querysource/queries/multi/sources/sharepoint.py +224 -0
  124. querysource-4.4.0/querysource/queries/multi/sources/smartsheet.py +92 -0
  125. querysource-4.4.0/querysource/queries/multi/sources/table.py +159 -0
  126. querysource-4.4.0/querysource/queries/multi/transformations/DropCols.py +139 -0
  127. querysource-4.4.0/querysource/queries/multi/transformations/FilterCols.py +123 -0
  128. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/Forecast.py +35 -7
  129. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/Map.py +33 -2
  130. querysource-4.4.0/querysource/queries/multi/transformations/PluckCols.py +143 -0
  131. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/abstract.py +27 -27
  132. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/correlation.py +30 -0
  133. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/crosstab.py +32 -0
  134. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/google/maps.py +26 -0
  135. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/pivot.py +40 -2
  136. querysource-4.4.0/querysource/queries/multi/transformations/tExplode.py +439 -0
  137. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/tOrder.py +24 -22
  138. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/tPandas.py +20 -14
  139. querysource-4.4.0/querysource/scheduler/jobs.py +122 -0
  140. querysource-4.4.0/querysource/scheduler/scheduler.py +580 -0
  141. {querysource-4.2.1 → querysource-4.4.0}/querysource/services.py +67 -4
  142. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/dt/filters.py +23 -4
  143. {querysource-4.2.1 → querysource-4.4.0}/querysource/version.py +1 -1
  144. {querysource-4.2.1 → querysource-4.4.0}/querysource.egg-info/PKG-INFO +8 -2
  145. {querysource-4.2.1 → querysource-4.4.0}/querysource.egg-info/SOURCES.txt +143 -0
  146. querysource-4.4.0/querysource.egg-info/entry_points.txt +3 -0
  147. {querysource-4.2.1 → querysource-4.4.0}/querysource.egg-info/requires.txt +9 -1
  148. {querysource-4.2.1 → querysource-4.4.0}/rust/pyproject.toml +1 -1
  149. querysource-4.4.0/tests/handlers/test_airtable_oauth.py +187 -0
  150. querysource-4.4.0/tests/interfaces/test_airtable_interface.py +224 -0
  151. querysource-4.4.0/tests/multi/sources/test_airtable_source.py +200 -0
  152. querysource-4.4.0/tests/multi/sources/test_registry.py +26 -0
  153. querysource-4.4.0/tests/perf/__init__.py +0 -0
  154. querysource-4.4.0/tests/policies/__init__.py +0 -0
  155. querysource-4.4.0/tests/scheduler/__init__.py +0 -0
  156. querysource-4.4.0/tests/scheduler/test_parse_trigger_shorthands.py +185 -0
  157. querysource-4.4.0/tests/scheduler/test_shorthand_loaders.py +167 -0
  158. querysource-4.4.0/tests/services/__init__.py +0 -0
  159. querysource-4.4.0/tests/test_abstract_multi.py +167 -0
  160. querysource-4.4.0/tests/test_abstract_refactor.py +94 -0
  161. querysource-4.4.0/tests/test_catalog_remote.py +33 -0
  162. querysource-4.4.0/tests/test_cli_generate_docs.py +85 -0
  163. {querysource-4.2.1 → querysource-4.4.0}/tests/test_column_filters.py +108 -0
  164. querysource-4.4.0/tests/test_component_handler.py +218 -0
  165. querysource-4.4.0/tests/test_component_registry.py +273 -0
  166. querysource-4.4.0/tests/test_conf_airtable.py +30 -0
  167. querysource-4.4.0/tests/test_destination_base.py +189 -0
  168. querysource-4.4.0/tests/test_destination_dwh.py +208 -0
  169. querysource-4.4.0/tests/test_destination_integration.py +293 -0
  170. querysource-4.4.0/tests/test_destination_s3.py +182 -0
  171. querysource-4.4.0/tests/test_destination_sharepoint.py +140 -0
  172. querysource-4.4.0/tests/test_destination_table.py +225 -0
  173. querysource-4.4.0/tests/test_destinations_documentation_endpoint.py +66 -0
  174. querysource-4.4.0/tests/test_info_eda.py +156 -0
  175. querysource-4.4.0/tests/test_info_eda_e2e.py +97 -0
  176. querysource-4.4.0/tests/test_info_eda_integration.py +81 -0
  177. querysource-4.4.0/tests/test_local_executor.py +95 -0
  178. querysource-4.4.0/tests/test_multi_destinations_subpackage.py +53 -0
  179. querysource-4.4.0/tests/test_multiqs_column_transforms.py +424 -0
  180. querysource-4.4.0/tests/test_multiqs_destination_dispatch.py +72 -0
  181. querysource-4.4.0/tests/test_multiqs_remote_dispatch.py +92 -0
  182. querysource-4.4.0/tests/test_multiqs_sources_integration.py +88 -0
  183. querysource-4.4.0/tests/test_querysource_setup_airtable.py +50 -0
  184. querysource-4.4.0/tests/test_qworker_config.py +26 -0
  185. querysource-4.4.0/tests/test_remote_executor.py +107 -0
  186. querysource-4.4.0/tests/test_route_registration.py +100 -0
  187. {querysource-4.2.1 → querysource-4.4.0}/tests/test_scheduler_core.py +134 -1
  188. querysource-4.4.0/tests/test_scheduler_handler_integration.py +202 -0
  189. querysource-4.4.0/tests/test_scheduler_handler_unit.py +151 -0
  190. {querysource-4.2.1 → querysource-4.4.0}/tests/test_scheduler_jobs.py +59 -5
  191. querysource-4.4.0/tests/test_scheduler_multi_routing.py +105 -0
  192. querysource-4.4.0/tests/test_schema_introspectable.py +257 -0
  193. querysource-4.4.0/tests/test_source_registry.py +87 -0
  194. querysource-4.4.0/tests/test_source_s3.py +147 -0
  195. querysource-4.4.0/tests/test_source_sharepoint.py +103 -0
  196. querysource-4.4.0/tests/test_source_smartsheet.py +111 -0
  197. querysource-4.4.0/tests/test_source_table.py +194 -0
  198. querysource-4.4.0/tests/test_texplode.py +416 -0
  199. querysource-4.4.0/tests/test_thread_file_refactor.py +81 -0
  200. querysource-4.4.0/tests/test_thread_query_refactor.py +42 -0
  201. querysource-4.4.0/tests/test_thread_source_base.py +95 -0
  202. querysource-4.4.0/tests/test_threadquery_executor.py +79 -0
  203. querysource-4.4.0/tests/test_zammad_search.py +192 -0
  204. querysource-4.2.1/.claude/agents/code-reviewer.md +0 -227
  205. querysource-4.2.1/.claude/commands/sdd-proposal.md +0 -117
  206. querysource-4.2.1/.claude/commands/sdd-spec.md +0 -110
  207. querysource-4.2.1/.claude/commands/sdd-status.md +0 -55
  208. querysource-4.2.1/.claude/commands/sdd-task.md +0 -138
  209. querysource-4.2.1/querysource/providers/sources/zammad.py +0 -86
  210. querysource-4.2.1/querysource/queries/multi/operators/Info.py +0 -84
  211. querysource-4.2.1/querysource/queries/multi/sources/__init__.py +0 -7
  212. querysource-4.2.1/querysource/queries/multi/sources/file.py +0 -100
  213. querysource-4.2.1/querysource/queries/multi/sources/query.py +0 -71
  214. querysource-4.2.1/querysource/scheduler/jobs.py +0 -68
  215. querysource-4.2.1/querysource/scheduler/scheduler.py +0 -244
  216. querysource-4.2.1/querysource.egg-info/entry_points.txt +0 -2
  217. {querysource-4.2.1/.claude → querysource-4.4.0/.agent}/rules/cython-development.md +0 -0
  218. {querysource-4.2.1/.claude → querysource-4.4.0/.agent}/rules/rust-development.md +0 -0
  219. {querysource-4.2.1 → querysource-4.4.0}/.bumpversion.cfg +0 -0
  220. {querysource-4.2.1 → querysource-4.4.0}/.claude/commands/pr-review.md +0 -0
  221. {querysource-4.2.1 → querysource-4.4.0}/.claude/commands/sdd-codereview.md +0 -0
  222. {querysource-4.2.1 → querysource-4.4.0}/.claude/rules/aws-cost-optimization.md +0 -0
  223. {querysource-4.2.1 → querysource-4.4.0}/.claude/rules/code-reviewer.md +0 -0
  224. {querysource-4.2.1 → querysource-4.4.0}/.claude/rules/python-development.md +0 -0
  225. {querysource-4.2.1 → querysource-4.4.0}/.claude/rules/using-git-worktrees.md +0 -0
  226. {querysource-4.2.1 → querysource-4.4.0}/.claude/rules/worktree-pr-and-clean.md +0 -0
  227. {querysource-4.2.1 → querysource-4.4.0}/.claude/rules/worktree-start-feature.md +0 -0
  228. {querysource-4.2.1 → querysource-4.4.0}/.claude/rules/worktree-status.md +0 -0
  229. {querysource-4.2.1 → querysource-4.4.0}/.github/dependabot.yml +0 -0
  230. {querysource-4.2.1 → querysource-4.4.0}/.github/workflows/codeql-analysis.yml +0 -0
  231. {querysource-4.2.1 → querysource-4.4.0}/.github/workflows/release.yml +0 -0
  232. {querysource-4.2.1 → querysource-4.4.0}/.isort.cfg +0 -0
  233. {querysource-4.2.1 → querysource-4.4.0}/.jupyter/jupyter_notebook_config.py +0 -0
  234. {querysource-4.2.1 → querysource-4.4.0}/.pylintrc +0 -0
  235. {querysource-4.2.1 → querysource-4.4.0}/CHANGES.rst +0 -0
  236. {querysource-4.2.1 → querysource-4.4.0}/CODE_OF_CONDUCT.md +0 -0
  237. {querysource-4.2.1 → querysource-4.4.0}/CONTRIBUTING.md +0 -0
  238. {querysource-4.2.1 → querysource-4.4.0}/INSTALL +0 -0
  239. {querysource-4.2.1 → querysource-4.4.0}/JOIN_CONDITIONS_FEATURE.md +0 -0
  240. {querysource-4.2.1 → querysource-4.4.0}/JOIN_CONDITIONS_SUMMARY.md +0 -0
  241. {querysource-4.2.1 → querysource-4.4.0}/LICENSE +0 -0
  242. {querysource-4.2.1 → querysource-4.4.0}/MANIFEST.in +0 -0
  243. {querysource-4.2.1 → querysource-4.4.0}/README.md +0 -0
  244. {querysource-4.2.1 → querysource-4.4.0}/app.py +0 -0
  245. {querysource-4.2.1 → querysource-4.4.0}/bin/README.md +0 -0
  246. {querysource-4.2.1 → querysource-4.4.0}/gunicorn_config.py +0 -0
  247. {querysource-4.2.1 → querysource-4.4.0}/mypy.ini +0 -0
  248. {querysource-4.2.1 → querysource-4.4.0}/nav.py +0 -0
  249. {querysource-4.2.1 → querysource-4.4.0}/policies/datasources.yaml +0 -0
  250. {querysource-4.2.1 → querysource-4.4.0}/policies/defaults.yaml +0 -0
  251. {querysource-4.2.1 → querysource-4.4.0}/policies/drivers.yaml +0 -0
  252. {querysource-4.2.1 → querysource-4.4.0}/policies/raw_queries.yaml +0 -0
  253. {querysource-4.2.1 → querysource-4.4.0}/policies/slugs.yaml +0 -0
  254. {querysource-4.2.1 → querysource-4.4.0}/policies/superusers.yaml +0 -0
  255. {querysource-4.2.1 → querysource-4.4.0}/pytest.ini +0 -0
  256. {querysource-4.2.1 → querysource-4.4.0}/querysource/__cli__.py +0 -0
  257. {querysource-4.2.1 → querysource-4.4.0}/querysource/__init__.py +0 -0
  258. {querysource-4.2.1 → querysource-4.4.0}/querysource/auth/__init__.py +0 -0
  259. {querysource-4.2.1 → querysource-4.4.0}/querysource/auth/_resource_types.py +0 -0
  260. {querysource-4.2.1 → querysource-4.4.0}/querysource/auth/credentials.py +0 -0
  261. {querysource-4.2.1 → querysource-4.4.0}/querysource/auth/pbac.py +0 -0
  262. {querysource-4.2.1 → querysource-4.4.0}/querysource/cache/__init__.py +0 -0
  263. {querysource-4.2.1 → querysource-4.4.0}/querysource/cache/backends/__init__.py +0 -0
  264. {querysource-4.2.1 → querysource-4.4.0}/querysource/cache/backends/abstract.py +0 -0
  265. {querysource-4.2.1 → querysource-4.4.0}/querysource/cache/backends/memcache.py +0 -0
  266. {querysource-4.2.1 → querysource-4.4.0}/querysource/cache/backends/redis.py +0 -0
  267. {querysource-4.2.1 → querysource-4.4.0}/querysource/cache/base.py +0 -0
  268. {querysource-4.2.1 → querysource-4.4.0}/querysource/connections.py +0 -0
  269. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/__init__.py +0 -0
  270. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/__init__.py +0 -0
  271. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/abstract.py +0 -0
  272. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/arangodb.py +0 -0
  273. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/athena.py +0 -0
  274. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/bigquery.py +0 -0
  275. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/cassandra.py +0 -0
  276. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/clickhouse.py +0 -0
  277. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/cockroachdb.py +0 -0
  278. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/couchbase.py +0 -0
  279. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/couchdb.py +0 -0
  280. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/countries.py +0 -0
  281. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/delta.py +0 -0
  282. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/documentdb.py +0 -0
  283. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/dynamodb.py +0 -0
  284. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/elastic.py +0 -0
  285. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/ga.py +0 -0
  286. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/gcalc.py +0 -0
  287. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/hazel.py +0 -0
  288. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/iceberg.py +0 -0
  289. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/influx.py +0 -0
  290. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/jdbc.py +0 -0
  291. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/jira.py +0 -0
  292. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/mariadb.py +0 -0
  293. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/memcached.py +0 -0
  294. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/mongo.py +0 -0
  295. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/mysql.py +0 -0
  296. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/odbc.py +0 -0
  297. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/openweather.py +0 -0
  298. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/oracle.py +0 -0
  299. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/pg.py +0 -0
  300. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/pg_admin.py +0 -0
  301. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/postgres.py +0 -0
  302. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/py.typed +0 -0
  303. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/qs.py +0 -0
  304. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/redis.py +0 -0
  305. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/rest.py +0 -0
  306. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/rethink.py +0 -0
  307. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/sa.py +0 -0
  308. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/salesforce.py +0 -0
  309. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/scylladb.py +0 -0
  310. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/sqlalchemy.py +0 -0
  311. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/sqlite.py +0 -0
  312. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/sqlserver.py +0 -0
  313. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/upc.py +0 -0
  314. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/drivers/zipcodeapi.py +0 -0
  315. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/handlers/__init__.py +0 -0
  316. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/handlers/datasource.py +0 -0
  317. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/handlers/utils.py +0 -0
  318. {querysource-4.2.1 → querysource-4.4.0}/querysource/datasources/models.py +0 -0
  319. {querysource-4.2.1 → querysource-4.4.0}/querysource/events/__init__.py +0 -0
  320. {querysource-4.2.1 → querysource-4.4.0}/querysource/exceptions.py +0 -0
  321. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/_pagination.py +0 -0
  322. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/executor.py +0 -0
  323. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/log.py +0 -0
  324. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/manager.py +0 -0
  325. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/outputs/__init__.py +0 -0
  326. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/outputs/tableOutput/__init__.py +0 -0
  327. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/outputs/tableOutput/postgres.py +0 -0
  328. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/outputs/tableOutput/table.py +0 -0
  329. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/service.py +0 -0
  330. {querysource-4.2.1 → querysource-4.4.0}/querysource/handlers/variables.py +0 -0
  331. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/__init__.py +0 -0
  332. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/connections.py +0 -0
  333. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/credentials.py +0 -0
  334. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/databases/__init__.py +0 -0
  335. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/databases/abstract.py +0 -0
  336. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/databases/bigquery.py +0 -0
  337. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/databases/db.py +0 -0
  338. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/databases/mongo.py +0 -0
  339. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/databases/rethink.py +0 -0
  340. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/http.py +0 -0
  341. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/playwright_service.py +0 -0
  342. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/queries.py +0 -0
  343. {querysource-4.2.1 → querysource-4.4.0}/querysource/interfaces/selenium_service.py +0 -0
  344. {querysource-4.2.1 → querysource-4.4.0}/querysource/libs/__init__.py +0 -0
  345. {querysource-4.2.1 → querysource-4.4.0}/querysource/libs/encoders.py +0 -0
  346. {querysource-4.2.1 → querysource-4.4.0}/querysource/libs/functions/__init__.py +0 -0
  347. {querysource-4.2.1 → querysource-4.4.0}/querysource/libs/py.typed +0 -0
  348. {querysource-4.2.1 → querysource-4.4.0}/querysource/models.py +0 -0
  349. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/__init__.py +0 -0
  350. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/dt/__init__.py +0 -0
  351. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/dt/abstract.py +0 -0
  352. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/dt/arrow.py +0 -0
  353. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/dt/dt.py +0 -0
  354. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/dt/factory.py +0 -0
  355. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/dt/iter.py +0 -0
  356. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/dt/modin.py +0 -0
  357. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/dt/pandas.py +0 -0
  358. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/dt/polars.py +0 -0
  359. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/output.py +0 -0
  360. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/__init__.py +0 -0
  361. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/abstract.py +0 -0
  362. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/bigquery.py +0 -0
  363. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/documentdb.py +0 -0
  364. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/mongodb.py +0 -0
  365. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/TableOutput/rethink.py +0 -0
  366. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/tables/__init__.py +0 -0
  367. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/__init__.py +0 -0
  368. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/abstract.py +0 -0
  369. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/bokeh.py +0 -0
  370. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/clustering.py +0 -0
  371. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/csv.py +0 -0
  372. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/describe.py +0 -0
  373. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/eda.py +0 -0
  374. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/excel.py +0 -0
  375. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/html.py +0 -0
  376. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/pdf.py +0 -0
  377. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/pickle.py +0 -0
  378. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/plotly.py +0 -0
  379. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/profiling.py +0 -0
  380. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/report.py +0 -0
  381. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/table.py +0 -0
  382. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/tsv.py +0 -0
  383. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/txt.py +0 -0
  384. {querysource-4.2.1 → querysource-4.4.0}/querysource/outputs/writers/xml.py +0 -0
  385. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/__init__.py +0 -0
  386. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/abstract.c +0 -0
  387. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/abstract.pxd +0 -0
  388. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/abstract.pyx +0 -0
  389. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/arangodb.c +0 -0
  390. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/arangodb.pxd +0 -0
  391. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/arangodb.pyx +0 -0
  392. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/bigquery.c +0 -0
  393. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/bigquery.pxd +0 -0
  394. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/bigquery.pyx +0 -0
  395. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/cql.c +0 -0
  396. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/cql.pxd +0 -0
  397. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/cql.pyx +0 -0
  398. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/deltatbl.c +0 -0
  399. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/deltatbl.pxd +0 -0
  400. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/deltatbl.pyx +0 -0
  401. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/elastic.cpp +0 -0
  402. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/elastic.pxd +0 -0
  403. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/elastic.pyx +0 -0
  404. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/iceberg.c +0 -0
  405. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/iceberg.pxd +0 -0
  406. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/iceberg.pyx +0 -0
  407. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/influx.c +0 -0
  408. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/influx.pxd +0 -0
  409. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/influx.pyx +0 -0
  410. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/mongo.cpp +0 -0
  411. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/mongo.pxd +0 -0
  412. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/mongo.pyx +0 -0
  413. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/parser.c +0 -0
  414. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/parser.pxd +0 -0
  415. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/parser.pyx +0 -0
  416. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/pgsql.c +0 -0
  417. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/pgsql.pxd +0 -0
  418. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/pgsql.pyx +0 -0
  419. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/rethink.c +0 -0
  420. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/rethink.pxd +0 -0
  421. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/rethink.pyx +0 -0
  422. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/sosql.c +0 -0
  423. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/sosql.pxd +0 -0
  424. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/sosql.pyx +0 -0
  425. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/sql.c +0 -0
  426. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/sql.pxd +0 -0
  427. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/sql.pyx +0 -0
  428. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/sqlserver.c +0 -0
  429. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/sqlserver.pxd +0 -0
  430. {querysource-4.2.1 → querysource-4.4.0}/querysource/parsers/sqlserver.pyx +0 -0
  431. {querysource-4.2.1 → querysource-4.4.0}/querysource/plugins/__init__.py +0 -0
  432. {querysource-4.2.1 → querysource-4.4.0}/querysource/plugins/importer.py +0 -0
  433. {querysource-4.2.1 → querysource-4.4.0}/querysource/plugins/sources/__init__.py +0 -0
  434. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/__init__.py +0 -0
  435. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/abstract.py +0 -0
  436. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/arangodb.py +0 -0
  437. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/bigquery.py +0 -0
  438. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/cassandra.py +0 -0
  439. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/db.py +0 -0
  440. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/default.py +0 -0
  441. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/deltatbl.py +0 -0
  442. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/documentdb.py +0 -0
  443. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/dummy.py +0 -0
  444. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/elastic.py +0 -0
  445. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/external.py +0 -0
  446. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/http.py +0 -0
  447. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/iceberg.py +0 -0
  448. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/influx.py +0 -0
  449. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/mysql.py +0 -0
  450. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/pg.py +0 -0
  451. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/py.typed +0 -0
  452. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/rest.py +0 -0
  453. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/rethink.py +0 -0
  454. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/salesforce.py +0 -0
  455. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/scylladb.py +0 -0
  456. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/__init__.py +0 -0
  457. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/abstract.py +0 -0
  458. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/amazon.py +0 -0
  459. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/countries.py +0 -0
  460. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/ga.py +0 -0
  461. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/geofcc.py +0 -0
  462. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/gmaps.py +0 -0
  463. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/graphcountries.py +0 -0
  464. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/graphql.py +0 -0
  465. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/http.py +0 -0
  466. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/hubspot.py +0 -0
  467. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/openweather.py +0 -0
  468. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/parsers/__init__.py +0 -0
  469. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/parsers/amproduct.py +0 -0
  470. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/parsers/xpath.py +0 -0
  471. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/pokemon.py +0 -0
  472. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/populartimes.py +0 -0
  473. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/py.typed +0 -0
  474. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/rest.py +0 -0
  475. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/retailnext.py +0 -0
  476. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/rssapp.py +0 -0
  477. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/salesforce.py +0 -0
  478. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/scrapper.py +0 -0
  479. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/shoppertrack.py +0 -0
  480. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/swop.py +0 -0
  481. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/uap.py +0 -0
  482. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/upc.py +0 -0
  483. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/wm_stores.py +0 -0
  484. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sources/zipcodeapi.py +0 -0
  485. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sql.py +0 -0
  486. {querysource-4.2.1 → querysource-4.4.0}/querysource/providers/sqlserver.py +0 -0
  487. {querysource-4.2.1 → querysource-4.4.0}/querysource/py.typed +0 -0
  488. {querysource-4.2.1 → querysource-4.4.0}/querysource/qs_parsers/__init__.py +0 -0
  489. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/__init__.py +0 -0
  490. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/base.py +0 -0
  491. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/executor.py +0 -0
  492. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/models.py +0 -0
  493. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/components/__init__.py +0 -0
  494. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/operators/__init__.py +0 -0
  495. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/operators/filter/__init__.py +0 -0
  496. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/__init__.py +0 -0
  497. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/multi/transformations/google/__init__.py +0 -0
  498. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/obj.py +0 -0
  499. {querysource-4.2.1 → querysource-4.4.0}/querysource/queries/qs.py +0 -0
  500. {querysource-4.2.1 → querysource-4.4.0}/querysource/scheduler/__init__.py +0 -0
  501. {querysource-4.2.1 → querysource-4.4.0}/querysource/scheduler/notifications.py +0 -0
  502. {querysource-4.2.1 → querysource-4.4.0}/querysource/template/__init__.py +0 -0
  503. {querysource-4.2.1 → querysource-4.4.0}/querysource/template/parser.py +0 -0
  504. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/__init__.py +0 -0
  505. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/converters.cpp +0 -0
  506. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/converters.pyx +0 -0
  507. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/dt/__init__.py +0 -0
  508. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/dt/transforms.py +0 -0
  509. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/py.typed +0 -0
  510. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/typedefs.c +0 -0
  511. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/typedefs.pyx +0 -0
  512. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/validators.cpp +0 -0
  513. {querysource-4.2.1 → querysource-4.4.0}/querysource/types/validators.pyx +0 -0
  514. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/__init__.py +0 -0
  515. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/cache_serialization.py +0 -0
  516. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/events.py +0 -0
  517. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/fn.py +0 -0
  518. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/functions.cpp +0 -0
  519. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/functions.pyx +0 -0
  520. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/getfunc.py +0 -0
  521. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/handlers.py +0 -0
  522. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/parseqs.cpp +0 -0
  523. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/parseqs.pyx +0 -0
  524. {querysource-4.2.1 → querysource-4.4.0}/querysource/utils/validators.py +0 -0
  525. {querysource-4.2.1 → querysource-4.4.0}/querysource.egg-info/dependency_links.txt +0 -0
  526. {querysource-4.2.1 → querysource-4.4.0}/querysource.egg-info/not-zip-safe +0 -0
  527. {querysource-4.2.1 → querysource-4.4.0}/querysource.egg-info/top_level.txt +0 -0
  528. {querysource-4.2.1 → querysource-4.4.0}/run.py +0 -0
  529. {querysource-4.2.1 → querysource-4.4.0}/rust/Cargo.lock +0 -0
  530. {querysource-4.2.1 → querysource-4.4.0}/rust/Cargo.toml +0 -0
  531. {querysource-4.2.1 → querysource-4.4.0}/rust/src/arangodb_parser.rs +0 -0
  532. {querysource-4.2.1 → querysource-4.4.0}/rust/src/bigquery_parser.rs +0 -0
  533. {querysource-4.2.1 → querysource-4.4.0}/rust/src/cql_parser.rs +0 -0
  534. {querysource-4.2.1 → querysource-4.4.0}/rust/src/elastic_parser.rs +0 -0
  535. {querysource-4.2.1 → querysource-4.4.0}/rust/src/filter_common.rs +0 -0
  536. {querysource-4.2.1 → querysource-4.4.0}/rust/src/flux_parser.rs +0 -0
  537. {querysource-4.2.1 → querysource-4.4.0}/rust/src/lib.rs +0 -0
  538. {querysource-4.2.1 → querysource-4.4.0}/rust/src/mongo_parser.rs +0 -0
  539. {querysource-4.2.1 → querysource-4.4.0}/rust/src/mssql_parser.rs +0 -0
  540. {querysource-4.2.1 → querysource-4.4.0}/rust/src/parseqs.rs +0 -0
  541. {querysource-4.2.1 → querysource-4.4.0}/rust/src/pgsql_parser.rs +0 -0
  542. {querysource-4.2.1 → querysource-4.4.0}/rust/src/rethink_parser.rs +0 -0
  543. {querysource-4.2.1 → querysource-4.4.0}/rust/src/safe_dict.rs +0 -0
  544. {querysource-4.2.1 → querysource-4.4.0}/rust/src/soql_parser.rs +0 -0
  545. {querysource-4.2.1 → querysource-4.4.0}/rust/src/sql_parser.rs +0 -0
  546. {querysource-4.2.1 → querysource-4.4.0}/rust/src/validators.rs +0 -0
  547. {querysource-4.2.1 → querysource-4.4.0}/setup.cfg +0 -0
  548. {querysource-4.2.1 → querysource-4.4.0}/setup.py +0 -0
  549. {querysource-4.2.1 → querysource-4.4.0}/static/notebook/bundle.js +0 -0
  550. {querysource-4.2.1 → querysource-4.4.0}/templates/__init__.py +0 -0
  551. {querysource-4.2.1 → querysource-4.4.0}/templates/base.html +0 -0
  552. {querysource-4.2.1 → querysource-4.4.0}/templates/default.html +0 -0
  553. {querysource-4.2.1 → querysource-4.4.0}/templates/default_table.html +0 -0
  554. {querysource-4.2.1 → querysource-4.4.0}/templates/fontlist-v330.json +0 -0
  555. {querysource-4.2.1 → querysource-4.4.0}/templates/fontlist-v390.json +0 -0
  556. {querysource-4.2.1 → querysource-4.4.0}/templates/table_charts.html +0 -0
  557. {querysource-4.2.1 → querysource-4.4.0}/tests/auth/__init__.py +0 -0
  558. {querysource-4.2.1 → querysource-4.4.0}/tests/auth/test_credentials.py +0 -0
  559. {querysource-4.2.1 → querysource-4.4.0}/tests/auth/test_pbac_bootstrap.py +0 -0
  560. {querysource-4.2.1 → querysource-4.4.0}/tests/check_concurrent_get_slug.py +0 -0
  561. {querysource-4.2.1 → querysource-4.4.0}/tests/conftest.py +0 -0
  562. {querysource-4.2.1 → querysource-4.4.0}/tests/datasources/__init__.py +0 -0
  563. {querysource-4.2.1 → querysource-4.4.0}/tests/datasources/test_datasource_view_pbac.py +0 -0
  564. {querysource-4.2.1 → querysource-4.4.0}/tests/datasources/test_driver_factory_session.py +0 -0
  565. {querysource-4.2.1 → querysource-4.4.0}/tests/datasources/test_pg_admin_registration.py +0 -0
  566. {querysource-4.2.1 → querysource-4.4.0}/tests/datasources/test_pg_params_for.py +0 -0
  567. {querysource-4.2.1 → querysource-4.4.0}/tests/handlers/__init__.py +0 -0
  568. {querysource-4.2.1 → querysource-4.4.0}/tests/handlers/conftest.py +0 -0
  569. {querysource-4.2.1 → querysource-4.4.0}/tests/handlers/test_abstract_pbac_helpers.py +0 -0
  570. {querysource-4.2.1 → querysource-4.4.0}/tests/handlers/test_multiquery_pbac_smoke.py +0 -0
  571. {querysource-4.2.1 → querysource-4.4.0}/tests/handlers/test_queryexecutor_pbac_smoke.py +0 -0
  572. {querysource-4.2.1 → querysource-4.4.0}/tests/handlers/test_querymanager_pagination.py +0 -0
  573. {querysource-4.2.1 → querysource-4.4.0}/tests/handlers/test_queryservice_pbac_smoke.py +0 -0
  574. {querysource-4.2.1 → querysource-4.4.0}/tests/integration/__init__.py +0 -0
  575. {querysource-4.2.1 → querysource-4.4.0}/tests/integration/test_pbac_credentials.py +0 -0
  576. {querysource-4.2.1 → querysource-4.4.0}/tests/integration/test_pbac_enforcement.py +0 -0
  577. {querysource-4.2.1 → querysource-4.4.0}/tests/integration/test_pbac_listing.py +0 -0
  578. {querysource-4.2.1/tests/perf → querysource-4.4.0/tests/interfaces}/__init__.py +0 -0
  579. {querysource-4.2.1/tests/policies → querysource-4.4.0/tests/multi}/__init__.py +0 -0
  580. {querysource-4.2.1/tests/services → querysource-4.4.0/tests/multi/sources}/__init__.py +0 -0
  581. {querysource-4.2.1 → querysource-4.4.0}/tests/perf/test_pbac_overhead.py +0 -0
  582. {querysource-4.2.1 → querysource-4.4.0}/tests/policies/test_default_policies_load.py +0 -0
  583. {querysource-4.2.1 → querysource-4.4.0}/tests/services/test_querysource_setup_pbac.py +0 -0
  584. {querysource-4.2.1 → querysource-4.4.0}/tests/test_api.py +0 -0
  585. {querysource-4.2.1 → querysource-4.4.0}/tests/test_arangodb_parser.py +0 -0
  586. {querysource-4.2.1 → querysource-4.4.0}/tests/test_elastic_parser.py +0 -0
  587. {querysource-4.2.1 → querysource-4.4.0}/tests/test_eval.py +0 -0
  588. {querysource-4.2.1 → querysource-4.4.0}/tests/test_join_conditions.py +0 -0
  589. {querysource-4.2.1 → querysource-4.4.0}/tests/test_join_with_column_filter.py +0 -0
  590. {querysource-4.2.1 → querysource-4.4.0}/tests/test_queryslug_concurrency.py +0 -0
  591. {querysource-4.2.1 → querysource-4.4.0}/tests/test_rss.py +0 -0
  592. {querysource-4.2.1 → querysource-4.4.0}/tests/test_rust_parsers.py +0 -0
  593. {querysource-4.2.1 → querysource-4.4.0}/tests/test_scheduler_integration.py +0 -0
  594. {querysource-4.2.1 → querysource-4.4.0}/tests/test_scheduler_notifications.py +0 -0
  595. {querysource-4.2.1 → querysource-4.4.0}/tests/test_sql_parser_combinations.py +0 -0
  596. {querysource-4.2.1 → querysource-4.4.0}/tox.ini +0 -0
@@ -0,0 +1,83 @@
1
+ ---
2
+ trigger: always_on
3
+ description: when we are creating python (.py, .pyx) files
4
+ globs: "**/*.py"
5
+ ---
6
+
7
+ You are an expert in Python asynchronous programming with asyncio.
8
+
9
+ **CRITICAL ENVIRONMENT RULES:**
10
+ 1. **Package Manager**: You MUST use **`uv`** for all package management (e.g., `uv pip install`, `uv run`, `uv add`).
11
+ 2. **Virtual Environment**: You MUST always act within the virtual environment. **Activate it first:** `source .venv/bin/activate`.
12
+ 3. **Web Server/Client**: You MUST use **`aiohttp`**.
13
+ 4. **Runtime**: You MUST use **`asyncio`**.
14
+
15
+ Key Principles:
16
+ - Use async/await for I/O-bound operations
17
+ - Understand event loop mechanics
18
+ - Avoid blocking the event loop
19
+ - Handle cancellation and timeouts properly
20
+ - Use appropriate concurrency primitives
21
+ - if possible, use asyncio semaphores on async loops
22
+
23
+ Async Fundamentals:
24
+ - Use async def to define coroutines
25
+ - Use await to call async functions
26
+ - Never use time.sleep() in async code (use asyncio.sleep())
27
+ - Understand the difference between concurrency and parallelism
28
+ - Use asyncio.run() as the entry point for async programs
29
+
30
+ Async I/O Operations:
31
+ - Use aiohttp for async HTTP requests
32
+ - Use aiofiles for async file operations
33
+ - Use asyncpg for async PostgreSQL
34
+ - For other databases use AsyncDB (https://github.com/phenobarbital/asyncdb)
35
+
36
+ Concurrency Patterns:
37
+ - Use asyncio.gather() for concurrent execution
38
+ - Use asyncio.create_task() for background tasks
39
+ - Use asyncio.wait() with return_when parameter
40
+ - Use asyncio.as_completed() for processing results as they arrive
41
+ - Use asyncio.Queue for producer-consumer patterns
42
+
43
+ Synchronization Primitives:
44
+ - Use asyncio.Lock for mutual exclusion
45
+ - Use asyncio.Semaphore for limiting concurrency
46
+ - Use asyncio.Event for signaling between tasks
47
+ - Use asyncio.Condition for complex coordination
48
+ - Avoid deadlocks with proper lock ordering
49
+
50
+ Error Handling:
51
+ - Wrap async operations in try/except blocks
52
+ - Handle asyncio.CancelledError for task cancellation
53
+ - Use asyncio.shield() to protect critical operations
54
+ - Implement proper cleanup in finally blocks
55
+ - Use asyncio.wait_for() for timeouts
56
+
57
+ Performance Optimization:
58
+ - Use connection pooling for databases
59
+ - Implement rate limiting with asyncio.Semaphore
60
+ - Batch operations when possible
61
+ - Use asyncio.gather() with return_exceptions=True
62
+ - Profile async code with aiomonitor or aiodebug
63
+
64
+ Testing Async Code:
65
+ - Use pytest-asyncio for testing
66
+ - Use asynctest for mocking async functions
67
+ - Test cancellation scenarios
68
+ - Test timeout handling
69
+ - Use asyncio.run() in test fixtures
70
+
71
+ Common Pitfalls:
72
+ - Don't mix blocking and async code
73
+ - Don't create too many concurrent tasks
74
+ - Always await coroutines
75
+ - Don't use global event loops
76
+ - Handle task exceptions properly
77
+
78
+ Best Practices:
79
+ - Use type hints with Coroutine, Awaitable types
80
+ - Document async functions clearly
81
+ - Use context managers (async with) for resources
82
+ - Implement graceful shutdown
83
+ - Monitor event loop lag in production
@@ -0,0 +1,80 @@
1
+ ---
2
+ trigger: model_decision
3
+ description: When request a code review
4
+ ---
5
+
6
+ You are an expert code review agent that provides thorough, constructive, and actionable feedback. Apply systematic reasoning to evaluate code quality, correctness, and maintainability.
7
+
8
+ ## Code Review Principles
9
+
10
+ Before providing any review feedback, you must methodically analyze:
11
+
12
+ ### 1) Context Understanding
13
+ 1.1) What is the purpose of this change? (Feature, bug fix, refactor, performance)
14
+ 1.2) What problem does it solve?
15
+ 1.3) What are the requirements or acceptance criteria?
16
+ 1.4) Are there any constraints or dependencies?
17
+
18
+ ### 2) Correctness Analysis
19
+ 2.1) Does the code do what it's supposed to do?
20
+ 2.2) Are edge cases handled properly?
21
+ 2.3) Are error conditions handled gracefully?
22
+ 2.4) Is the logic sound and free of bugs?
23
+ 2.5) Are there any potential runtime issues (null pointers, type errors, etc.)?
24
+
25
+ ### 3) Security Review
26
+ 3.1) Input validation: Is all user input validated and sanitized?
27
+ 3.2) Authentication/Authorization: Are permissions checked correctly?
28
+ 3.3) Data exposure: Is sensitive data protected?
29
+ 3.4) Injection vulnerabilities: SQL, XSS, command injection risks?
30
+ 3.5) Dependencies: Are there known vulnerabilities in imports?
31
+
32
+ ### 4) Performance Considerations
33
+ 4.1) Are there N+1 queries or unnecessary database calls?
34
+ 4.2) Are expensive operations optimized or cached?
35
+ 4.3) Is there proper pagination for large datasets?
36
+ 4.4) Are there memory leaks or resource cleanup issues?
37
+ 4.5) Is the algorithmic complexity reasonable?
38
+
39
+ ### 5) Code Quality & Readability
40
+ 5.1) Is the code easy to understand?
41
+ 5.2) Are variable and function names descriptive?
42
+ 5.3) Is the code properly formatted and consistent?
43
+ 5.4) Are there helpful comments where needed?
44
+ 5.5) Is there unnecessary complexity that could be simplified?
45
+
46
+ ### 6) Architecture & Design
47
+ 6.1) Does the code follow established patterns in the codebase?
48
+ 6.2) Is the code modular and reusable?
49
+ 6.3) Are responsibilities properly separated?
50
+ 6.4) Does it follow SOLID principles where applicable?
51
+ 6.5) Is there proper abstraction?
52
+
53
+ ### 7) Testing
54
+ 7.1) Are there tests for the new code?
55
+ 7.2) Do tests cover edge cases and error conditions?
56
+ 7.3) Are tests meaningful (not just for coverage)?
57
+ 7.4) Are tests maintainable and readable?
58
+
59
+ ### 8) Documentation
60
+ 8.1) Is the code self-documenting?
61
+ 8.2) Are public APIs documented?
62
+ 8.3) Are complex algorithms explained?
63
+ 8.4) Is the README updated if needed?
64
+
65
+ ## Review Feedback Format
66
+
67
+ For each issue found, provide:
68
+ - **Severity**: 🔴 Critical | 🟠 Important | 🟡 Suggestion | 💡 Nitpick
69
+ - **Location**: File and line number
70
+ - **Issue**: Clear description of the problem
71
+ - **Suggestion**: Specific recommendation for improvement
72
+ - **Example**: Code snippet showing the fix (when helpful)
73
+
74
+ ## Review Tone
75
+ - Be constructive, not critical
76
+ - Explain WHY something should change
77
+ - Acknowledge good practices
78
+ - Ask questions when intent is unclear
79
+ - Suggest alternatives, don't demand
80
+ - Focus on the code, not the person
@@ -0,0 +1,146 @@
1
+ ---
2
+ trigger: model_decision
3
+ description: When asked for creating a prompt for an Agent
4
+ ---
5
+
6
+ You are an expert AI prompt engineer agent specialized in crafting effective prompts for Large Language Models. Apply systematic reasoning to design prompts that elicit accurate, consistent, and useful responses.
7
+
8
+ ## Prompt Engineering Principles
9
+
10
+ Before crafting any prompt, you must methodically plan and reason about:
11
+
12
+ ### 1) Understanding the Task
13
+ 1.1) What is the desired output? (Format, length, style)
14
+ 1.2) Who is the target audience?
15
+ 1.3) What context does the model need?
16
+ 1.4) What are potential failure modes?
17
+ 1.5) How will the output be used?
18
+
19
+ ### 2) Prompt Structure
20
+
21
+ 2.1) **System Instructions (Identity)**
22
+ - Define the AI's role clearly
23
+ - Set expertise level and perspective
24
+ - Establish tone and style
25
+ - Example: "You are an expert Python developer..."
26
+
27
+ 2.2) **Context/Background**
28
+ - Provide necessary information
29
+ - Include relevant constraints
30
+ - Share previous conversation if applicable
31
+ - Don't assume knowledge
32
+
33
+ 2.3) **Task/Instruction**
34
+ - Be specific and explicit
35
+ - Use action verbs (analyze, generate, explain)
36
+ - Break complex tasks into steps
37
+ - Specify what NOT to do if important
38
+
39
+ 2.4) **Output Format**
40
+ - Specify format (JSON, markdown, bullet points)
41
+ - Provide examples when helpful
42
+ - Define structure clearly
43
+ - Set length expectations
44
+
45
+ ### 3) Prompting Techniques
46
+
47
+ 3.1) **Zero-Shot**
48
+ - Direct instruction without examples
49
+ - Works for simple, well-defined tasks
50
+ - "Classify this text as positive or negative:"
51
+
52
+ 3.2) **Few-Shot**
53
+ - Provide 2-5 examples
54
+ - Show input → output pattern
55
+ - Examples should be representative
56
+ - Vary examples to show edge cases
57
+
58
+ 3.3) **Chain-of-Thought (CoT)**
59
+ - Encourage step-by-step reasoning
60
+ - "Let's think through this step by step"
61
+ - Reduces errors on complex tasks
62
+ - Useful for math, logic, analysis
63
+
64
+ 3.4) **Self-Consistency**
65
+ - Generate multiple responses
66
+ - Take majority vote or best answer
67
+ - Improves accuracy on reasoning tasks
68
+
69
+ 3.5) **ReAct (Reasoning + Acting)**
70
+ - Interleave reasoning and actions
71
+ - Model explains thinking, then acts
72
+ - Useful for agents with tools
73
+
74
+ ### 4) Prompt Optimization
75
+
76
+ 4.1) **Clarity**
77
+ - Remove ambiguity
78
+ - Use precise language
79
+ - Define terms if needed
80
+ - One instruction per sentence
81
+
82
+ 4.2) **Specificity**
83
+ - Avoid vague terms ("good", "nice")
84
+ - Quantify when possible
85
+ - Provide concrete criteria
86
+ - Specify edge case handling
87
+
88
+ 4.3) **Structured Format**
89
+ - Use markdown headers
90
+ - Use numbered lists for steps
91
+ - Use XML tags for sections
92
+ - Separate instructions from content
93
+
94
+ ### 5) Common Patterns
95
+
96
+ 5.1) **Role Pattern**
97
+ "You are a [role] with expertise in [domain]..."
98
+
99
+ 5.2) **Template Pattern**
100
+ "Generate output in this format:
101
+ Title: [title]
102
+ Summary: [summary]
103
+ Key Points: [bullet list]"
104
+
105
+ 5.3) **Constraint Pattern**
106
+ "You must follow these rules:
107
+ 1. Never mention competitors
108
+ 2. Keep responses under 200 words
109
+ 3. Always cite sources"
110
+
111
+ 5.4) **Refinement Pattern**
112
+ "Review your response and:
113
+ 1. Check for accuracy
114
+ 2. Improve clarity
115
+ 3. Add missing details"
116
+
117
+ ### 6) Handling Failures
118
+ 6.1) Add negative instructions ("Do not...")
119
+ 6.2) Provide more context
120
+ 6.3) Add more examples
121
+ 6.4) Break task into smaller steps
122
+ 6.5) Use Chain-of-Thought
123
+
124
+ ### 7) Testing & Iteration
125
+ 7.1) Test with diverse inputs
126
+ 7.2) Check edge cases
127
+ 7.3) Evaluate output quality
128
+ 7.4) A/B test different prompts
129
+ 7.5) Gather user feedback
130
+
131
+ ### 8) Safety Considerations
132
+ 8.1) Prevent prompt injection
133
+ 8.2) Validate outputs before use
134
+ 8.3) Set appropriate guardrails
135
+ 8.4) Handle refusals gracefully
136
+ 8.5) Monitor for misuse
137
+
138
+ ## Prompt Engineering Checklist
139
+ - [ ] Is the role/identity clearly defined?
140
+ - [ ] Is sufficient context provided?
141
+ - [ ] Is the task specific and unambiguous?
142
+ - [ ] Is the output format specified?
143
+ - [ ] Are examples provided if needed?
144
+ - [ ] Are edge cases handled?
145
+ - [ ] Has the prompt been tested?
146
+ - [ ] Are safety guardrails in place?
@@ -0,0 +1,69 @@
1
+ ---
2
+ trigger: always_on
3
+ ---
4
+
5
+ You are an expert in Python, AI, and Machine Learning development.
6
+
7
+ **CRITICAL ENVIRONMENT RULES:**
8
+ 1. **Package Manager**: You MUST use **`uv`** for all package management (e.g., `uv pip install`, `uv run`, `uv add`).
9
+ 2. **Virtual Environment**: You MUST always act within the virtual environment. **Activate it first:** `source .venv/bin/activate`.
10
+ 3. **Dependencies**: All dependencies must be managed via `pyproject.toml`.
11
+
12
+ Key Principles:
13
+ - Write clean, efficient, and well-documented code
14
+ - Follow PEP 8 style guidelines
15
+ - Use type hints for better code clarity
16
+ - Implement proper error handling
17
+ - Write modular and reusable code
18
+
19
+ Python Best Practices:
20
+ - Follow naming conventions (snake_case for functions/variables)
21
+ - Use list comprehensions and generator expressions
22
+ - Use context managers (with statement)
23
+ - Implement proper logging
24
+
25
+ Machine Learning:
26
+ - Use scikit-learn for traditional ML
27
+ - Use PyTorch or TensorFlow for deep learning
28
+ - Implement proper data preprocessing
29
+ - Use cross-validation for model evaluation
30
+ - Track experiments with MLflow or Weights & Biases
31
+ - Version control datasets and models
32
+
33
+ Data Processing:
34
+ - Use pandas for data manipulation
35
+ - Use numpy for numerical computations
36
+ - Use matplotlib/seaborn for visualization
37
+ - Implement data validation
38
+ - Handle missing data appropriately
39
+ - Use efficient data structures
40
+
41
+ Deep Learning:
42
+ - Use PyTorch or TensorFlow/Keras
43
+ - Implement proper model architecture
44
+ - Use data augmentation
45
+ - Implement early stopping and checkpointing
46
+ - Use GPU acceleration when available
47
+ - Monitor training with TensorBoard
48
+
49
+ Model Deployment:
50
+ - Use aiohttp for serving models
51
+ - Implement model versioning
52
+ - Use Docker for containerization
53
+ - Implement proper API documentation
54
+ - Add input validation and error handling
55
+ - Monitor model performance in production
56
+
57
+ Testing:
58
+ - Write unit tests with pytest and pytest-asyncio
59
+ - Test data pipelines
60
+ - Test model predictions
61
+ - Use fixtures for test data
62
+ - Implement integration tests
63
+
64
+ Performance:
65
+ - Use vectorization with numpy
66
+ - Use multiprocessing for CPU-bound tasks
67
+ - Use async/await for I/O-bound tasks
68
+ - Profile code to identify bottlenecks
69
+ - Use Cython or numba for optimization
@@ -0,0 +1,33 @@
1
+ ---
2
+ description: Create a new Parrot Tool
3
+ ---
4
+
5
+ ---
6
+ description: Create a new Parrot Tool with standard structure and styling
7
+ ---
8
+
9
+ 1. Ask the user for the name of the Tool (e.g., "DbTool", "ServiceTool").
10
+ 2. Create a new directory for the tool in `parrot/tools/[ToolName]`.
11
+ 3. Create main tool file `parrot/tools/[ToolName]/__init__.py`.
12
+ 4. Tools inherit from `AbstractTool` and return a `ToolResult`.
13
+ 5. Tools accept for input a pydantic datamodel that inherits from class `AbstractToolArgsSchema`.
14
+ 6. Add the following boilerplate code to `__init__.py`:
15
+ ```python
16
+ from ..abstract import AbstractTool, AbstractToolArgsSchema, ToolResult
17
+
18
+ class ExampleToolArgs(AbstractToolArgsSchema):
19
+ ... # all arguments accepted by the tool.
20
+
21
+ class ExampleTool(AbstractTool):
22
+ name: str = "example_tool"
23
+ description: str = (
24
+ "Use the description to explain tool usage and finality"
25
+ )
26
+ args_schema: type[AbstractToolArgsSchema] = ExampleToolArgs
27
+
28
+ async def _execute(self, **kwargs) -> ToolResult:
29
+ """ main code for tool execution """
30
+ ```
31
+ 7. Add example usage and concise explanations of capabilities at classdoc.
32
+ 8. Verify that the tool can be imported correctly.
33
+ 9. create a pytest at `tests/` using `pytest-asyncio`.
@@ -0,0 +1,146 @@
1
+ ---
2
+ description: Create an antigravity Workflow
3
+ ---
4
+
5
+ ---
6
+ description: Create new stack-agnostic workflows for the Antigravity repository
7
+ ---
8
+
9
+ # Workflow Creator
10
+
11
+ I will help you create a new workflow that follows our stack-agnostic, question-driven philosophy.
12
+
13
+ ## Guardrails
14
+ - Every workflow MUST be stack-agnostic
15
+ - Never hardcode specific frameworks, libraries, or tools
16
+ - Always include a stack detection step
17
+ - Always include clarifying questions
18
+ - Keep workflows focused on a single task
19
+
20
+ ## Steps
21
+
22
+ ### 1. Define the Workflow
23
+ Gather information:
24
+ - **Name**: kebab-case identifier (e.g., `git-commit`, `debug-error`)
25
+ - **Category**: development, git, testing, debugging, security, documentation, deployment, database, ai-tools, or creative
26
+ - **Description**: One-line summary (5-10 words)
27
+ - **Purpose**: What problem does this workflow solve?
28
+
29
+ ### 2. Follow the Template Structure
30
+
31
+ Every workflow must have these sections:
32
+
33
+ ```markdown
34
+ ---
35
+ description: [5-10 word description]
36
+ ---
37
+
38
+ # Workflow Name
39
+
40
+ Brief intro: what this accomplishes and when to use it.
41
+
42
+ ## Guardrails
43
+ - What to AVOID doing
44
+ - Scope boundaries
45
+ - Critical constraints
46
+
47
+ ## Steps
48
+
49
+ ### 1. Understand Context
50
+ Ask clarifying questions:
51
+ - What is the goal?
52
+ - What constraints exist?
53
+ - What's the expected outcome?
54
+
55
+ ### 2. Analyze Project
56
+ Detect existing stack:
57
+ - Check relevant config files
58
+ - Identify framework, tools, patterns
59
+ - Look at existing code for conventions
60
+
61
+ If unclear, ask the user.
62
+
63
+ ### 3. [Core Implementation Steps]
64
+ Describe WHAT to do, not exact code.
65
+ Let AI generate appropriate implementation.
66
+
67
+ ### 4. Verify
68
+ - How to confirm success
69
+ - What to test
70
+
71
+ ## Principles
72
+ - Universal best practices
73
+
74
+ ## Reference
75
+ - Links to relevant documentation
76
+ ```
77
+
78
+ ### 3. Validate Against Core Principles
79
+
80
+ Ensure your workflow follows:
81
+
82
+ | Principle | Check |
83
+ |-----------|-------|
84
+ | Stack-Agnostic | Does it work with ANY framework? |
85
+ | Question-Driven | Does it ask clarifying questions? |
86
+ | Single Responsibility | Does it do ONE thing well? |
87
+ | Progressive Disclosure | Does it start minimal, expand on demand? |
88
+ | Composable | Can it combine with other workflows? |
89
+
90
+ ### 4. Create the File
91
+ Create the workflow file at:
92
+ ```
93
+ workflows/<category>/<name>.md
94
+ ```
95
+
96
+ ### 5. Update Registry
97
+ Add entry to `workflows/registry.json`:
98
+ ```json
99
+ "<name>": {
100
+ "category": "<category>",
101
+ "description": "<5-10 word description>",
102
+ "tags": ["tag1", "tag2", "tag3"]
103
+ }
104
+ ```
105
+
106
+ ### 6. Test the Workflow
107
+ 1. Copy the file to a test project's `.agent/workflows/` directory
108
+ 2. Open Antigravity in that project
109
+ 3. Type `/<name>` to trigger the workflow
110
+ 4. Verify it asks appropriate questions
111
+ 5. Verify it detects project stack correctly
112
+
113
+ ## Common Mistakes to Avoid
114
+
115
+ ### ❌ DON'T: Hardcode frameworks
116
+ ```markdown
117
+ ### Install Dependencies
118
+ npm install react tailwindcss
119
+ ```
120
+
121
+ ### ✅ DO: Detect and adapt
122
+ ```markdown
123
+ ### Analyze Project Stack
124
+ - Check for existing UI framework
125
+ - Check for existing CSS approach
126
+ If unclear, ask the user which they prefer.
127
+ ```
128
+
129
+ ### ❌ DON'T: Provide boilerplate code
130
+ ```markdown
131
+ Create `Button.tsx`:
132
+ import React from 'react'
133
+ export const Button = () => <button>Click</button>
134
+ ```
135
+
136
+ ### ✅ DO: Describe what to create
137
+ ```markdown
138
+ Create a button component that:
139
+ - Accepts variant props (primary, secondary)
140
+ - Follows the project's existing component patterns
141
+ - Uses the project's styling approach
142
+ ```
143
+
144
+ ## Reference
145
+ - See existing workflows in `workflows/` for examples
146
+ - Check [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines
@@ -0,0 +1,36 @@
1
+ ---
2
+ description: find the commit that introduced a bug
3
+ ---
4
+
5
+ ---
6
+ description: Automatically find the exact commit that introduced a bug
7
+ ---
8
+
9
+ 1. **Start Bisect**:
10
+ - Initialize the bisect process.
11
+ // turbo
12
+ - Run `git bisect start`
13
+
14
+ 2. **Mark Current Commit as Bad**:
15
+ - Tell Git that the current version is broken.
16
+ // turbo
17
+ - Run `git bisect bad`
18
+
19
+ 3. **Mark an Old Commit as Good**:
20
+ - Find a commit hash from when the feature was definitely working and mark it as good. Replace `[good-commit-hash]` with the actual hash.
21
+ // turbo
22
+ - Run `git bisect good [good-commit-hash]`
23
+
24
+ 4. **Test and Repeat**:
25
+ - Git will checkout a commit in the middle. Test your app.
26
+ - If it works: Run `git bisect good`
27
+ - If it's broken: Run `git bisect bad`
28
+ - Repeat until Git tells you: `[hash] is the first bad commit`.
29
+
30
+ 5. **Finish**:
31
+ - Reset the bisect state to return to the original branch.
32
+ // turbo
33
+ - Run `git bisect reset`
34
+
35
+ 6. **Pro Tips**:
36
+ - You can automate this! Run `git bisect run npm test` to let a test script do the work for you.
@@ -0,0 +1,107 @@
1
+ ---
2
+ description: Generate comprehensive pytest suites
3
+ ---
4
+
5
+ # Generate Tests Workflow
6
+
7
+ This workflow guides you through creating comprehensive pytest suites using `pytest-asyncio`, fixtures, and correct project structure.
8
+
9
+ ## 1. Analyze the Context
10
+ 1. Identify the module or class you need to test.
11
+ 2. Read the source code of the target module to understand its dependencies and public API.
12
+ 3. Determine the necessary fixtures (e.g., database connections, mock clients, sample data).
13
+
14
+ ## 2. Create the Test File
15
+ 1. All tests must reside in the `tests/` directory.
16
+ 2. The filename should follow the pattern `test_<module_name>.py`.
17
+ 3. **CRITICAL**: Use "uv" as package manager.
18
+ 4. **CRITICAL**: Always enable the virtualenv first (`source .venv/bin/activate`).
19
+
20
+ ## 3. Structure the Test Suite
21
+ Use the following template as a guide. Adjust fixtures and test cases to match the specific module requirements.
22
+
23
+ ```python
24
+ """
25
+ Comprehensive pytest suite for <Target Module>.
26
+
27
+ Tests cover:
28
+ - <Feature 1>
29
+ - <Feature 2>
30
+ - ...
31
+ """
32
+ import pytest
33
+ import asyncio
34
+ from unittest.mock import Mock, MagicMock, AsyncMock, patch
35
+ from pathlib import Path
36
+
37
+ # Import target module
38
+ # from mypackage.module import MyClass
39
+
40
+ # ============================================================================
41
+ # FIXTURES
42
+ # ============================================================================
43
+
44
+ @pytest.fixture
45
+ def config_params():
46
+ """Default configuration parameters for testing."""
47
+ return {
48
+ 'param1': 'value1',
49
+ }
50
+
51
+ @pytest.fixture
52
+ async def mock_dependency():
53
+ """Mock external dependencies (e.g., DB, API client)."""
54
+ mock = AsyncMock()
55
+ yield mock
56
+
57
+ @pytest.fixture(scope='session')
58
+ def event_loop():
59
+ """Create an instance of the default event loop for each test case."""
60
+ loop = asyncio.get_event_loop_policy().new_event_loop()
61
+ yield loop
62
+ loop.close()
63
+
64
+ # ============================================================================
65
+ # TEST CLASSES
66
+ # ============================================================================
67
+
68
+ class TestFeatureOne:
69
+ """Test group for Feature One."""
70
+
71
+ @pytest.mark.asyncio
72
+ async def test_success_case(self, mock_dependency):
73
+ """Test successful execution."""
74
+ # Arrange
75
+ # Act
76
+ # Assert
77
+ assert True
78
+
79
+ @pytest.mark.asyncio
80
+ async def test_error_handling(self):
81
+ """Test error conditions."""
82
+ with pytest.raises(ValueError):
83
+ # Act that raises
84
+ pass
85
+
86
+ # ============================================================================
87
+ # RUN TESTS
88
+ # ============================================================================
89
+
90
+ if __name__ == '__main__':
91
+ pytest.main([__file__, '-v', '--tb=short'])
92
+ ```
93
+
94
+ ## 4. Implementation Guidelines
95
+ - **Asyncio**: Use `@pytest.mark.asyncio` for async tests.
96
+ - **Fixtures**: Use fixtures for setup/teardown. Use `scope='session'` for heavy resources if safe.
97
+ - **Mocks**: Use `unittest.mock` (`MagicMock`, `AsyncMock`, `patch`) to isolate the unit under test.
98
+ - **Coverage**: Aim to test both success paths and error handling/edge cases.
99
+
100
+ ## 5. Verification
101
+ 1. Run the newly created test using `pytest`:
102
+ ```bash
103
+ source .venv/bin/activate
104
+ pytest tests/test_<module_name>.py -v
105
+ ```
106
+ //turbo
107
+ 2. Verify all tests pass.