datajunction-server 0.0.1a98.dev0__tar.gz → 0.0.1a98.dev1__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 (538) hide show
  1. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/.pre-commit-config.yaml +3 -3
  2. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/PKG-INFO +1 -1
  3. datajunction_server-0.0.1a98.dev1/datajunction_server/__about__.py +5 -0
  4. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/attributes.py +5 -2
  5. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/catalogs.py +5 -2
  6. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/cubes.py +3 -1
  7. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/engines.py +6 -2
  8. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/helpers.py +2 -8
  9. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/measures.py +6 -2
  10. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/metrics.py +3 -1
  11. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/nodes.py +20 -6
  12. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/sql.py +12 -34
  13. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/tags.py +6 -2
  14. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/construction/build.py +1 -3
  15. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/construction/build_v2.py +7 -69
  16. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/construction/exceptions.py +3 -1
  17. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/construction/utils.py +1 -1
  18. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/errors.py +0 -1
  19. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/access/authentication/http.py +11 -3
  20. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/cube_materializations.py +1 -1
  21. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/dag.py +1 -1
  22. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/functions.py +2 -2
  23. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/ast.py +0 -30
  24. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/antlr4.py +0 -11
  25. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/sql_test.py +0 -179
  26. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/examples.py +1 -1
  27. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/functions_test.py +6 -3
  28. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/backends/antlr4_test.py +1 -48
  29. datajunction_server-0.0.1a98.dev0/datajunction_server/__about__.py +0 -5
  30. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/.coveragerc +0 -0
  31. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/.env +0 -0
  32. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/.env.integration +0 -0
  33. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/.flake8 +0 -0
  34. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/.gitignore +0 -0
  35. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/.isort.cfg +0 -0
  36. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/Dockerfile +0 -0
  37. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/Makefile +0 -0
  38. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/README.md +0 -0
  39. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/__init__.py +0 -0
  40. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/README +0 -0
  41. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/env.py +0 -0
  42. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/script.py.mako +0 -0
  43. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2023_12_20_1829-724445d2b29d_initial_migration.py +0 -0
  44. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_01_08_2034-945d44abcd32_add_dimension_links.py +0 -0
  45. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_01_11_2032-c74b11566d82_add_column_order.py +0 -0
  46. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_01_18_2011-20f060b02772_switch_enum_values.py +0 -0
  47. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_01_23_0617-c9cef8864ecb_add_missing_table_attribute_to_source_.py +0 -0
  48. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_01_23_1655-a8e22109be24_availability_state_s_valid_through_ts_.py +0 -0
  49. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_02_22_0713-d61fb7e48cc3_cascade_deletes_to_dimension_links.py +0 -0
  50. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_04_30_1556-de7ec1c82fe0_add_query_requests.py +0 -0
  51. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_05_09_1420-9b1227ff17f4_update_backfill_spec.py +0 -0
  52. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_05_21_0012-57fc93ef6947_add_query_id_to_queryrequest.py +0 -0
  53. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_06_21_1301-640a814db2d8_add_collection_tables.py +0 -0
  54. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_07_12_0348-34171c92dd6d_set_user_username_to_be_unique.py +0 -0
  55. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_08_18_0036-f3c9b40deb6f_add_create_by_to_nodes_node_revisions_.py +0 -0
  56. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_10_24_0015-4d6ab789e456_add_a_map_of_links_to_availability_state.py +0 -0
  57. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2024_10_26_0340-70904373eab3_add_indexes_on_history_and_node_tables.py +0 -0
  58. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2025_01_19_1808-9650f9b728a2_add_query_ast_for_noderevision.py +0 -0
  59. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2025_01_24_0020-bec3296d7537_add_custom_metadata_field_to_nodes.py +0 -0
  60. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2025_02_11_1619-c3d5f327296c_notificationpreferences.py +0 -0
  61. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2025_03_14_1513-ae9eba981a2d_add_index_on_display_name.py +0 -0
  62. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2025_03_14_2304-135fa5833fed_added_column_description.py +0 -0
  63. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2025_04_05_2149-a2d7ea04cf79_add_formatting_metric_metadata.py +0 -0
  64. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic/versions/2025_04_24_1810-51547dcccb10_fix_unique_constraint.py +0 -0
  65. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/alembic.ini +0 -0
  66. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/__init__.py +0 -0
  67. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/access/authentication/__init__.py +0 -0
  68. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/access/authentication/basic.py +0 -0
  69. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/access/authentication/github.py +0 -0
  70. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/access/authentication/google.py +0 -0
  71. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/access/authentication/whoami.py +0 -0
  72. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/client.py +0 -0
  73. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/collection.py +0 -0
  74. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/data.py +0 -0
  75. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/dimensions.py +0 -0
  76. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/djsql.py +0 -0
  77. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/__init__.py +0 -0
  78. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/main.py +0 -0
  79. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/queries/__init__.py +0 -0
  80. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/queries/catalogs.py +0 -0
  81. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/queries/dag.py +0 -0
  82. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/queries/engines.py +0 -0
  83. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/queries/nodes.py +0 -0
  84. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/queries/sql.py +0 -0
  85. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/queries/tags.py +0 -0
  86. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/resolvers/__init__.py +0 -0
  87. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/resolvers/nodes.py +0 -0
  88. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/resolvers/tags.py +0 -0
  89. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/__init__.py +0 -0
  90. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/availabilitystate.py +0 -0
  91. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/catalog_engine.py +0 -0
  92. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/column.py +0 -0
  93. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/errors.py +0 -0
  94. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/materialization.py +0 -0
  95. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/metricmetadata.py +0 -0
  96. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/node.py +0 -0
  97. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/sql.py +0 -0
  98. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/tag.py +0 -0
  99. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/scalars/user.py +0 -0
  100. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/graphql/utils.py +0 -0
  101. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/health.py +0 -0
  102. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/history.py +0 -0
  103. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/logging.conf +0 -0
  104. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/main.py +0 -0
  105. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/materializations.py +0 -0
  106. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/namespaces.py +0 -0
  107. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/notifications.py +0 -0
  108. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/api/users.py +0 -0
  109. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/config.py +0 -0
  110. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/constants.py +0 -0
  111. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/construction/__init__.py +0 -0
  112. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/construction/dimensions.py +0 -0
  113. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/construction/dj_query.py +0 -0
  114. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/__init__.py +0 -0
  115. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/attributetype.py +0 -0
  116. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/availabilitystate.py +0 -0
  117. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/backfill.py +0 -0
  118. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/base.py +0 -0
  119. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/catalog.py +0 -0
  120. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/collection.py +0 -0
  121. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/column.py +0 -0
  122. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/database.py +0 -0
  123. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/dimensionlink.py +0 -0
  124. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/engine.py +0 -0
  125. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/history.py +0 -0
  126. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/materialization.py +0 -0
  127. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/measure.py +0 -0
  128. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/metricmetadata.py +0 -0
  129. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/namespace.py +0 -0
  130. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/node.py +0 -0
  131. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/notification_preference.py +0 -0
  132. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/partition.py +0 -0
  133. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/queryrequest.py +0 -0
  134. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/tag.py +0 -0
  135. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/database/user.py +0 -0
  136. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/enum.py +0 -0
  137. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/__init__.py +0 -0
  138. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/access/__init__.py +0 -0
  139. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/access/authentication/__init__.py +0 -0
  140. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/access/authentication/basic.py +0 -0
  141. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/access/authentication/github.py +0 -0
  142. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/access/authentication/google.py +0 -0
  143. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/access/authentication/tokens.py +0 -0
  144. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/access/authorization.py +0 -0
  145. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/caching/cachelib_cache.py +0 -0
  146. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/caching/interface.py +0 -0
  147. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/caching/noop_cache.py +0 -0
  148. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/client.py +0 -0
  149. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/engines.py +0 -0
  150. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/history.py +0 -0
  151. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/materializations.py +0 -0
  152. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/namespaces.py +0 -0
  153. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/nodes.py +0 -0
  154. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/notifications.py +0 -0
  155. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/templates/client_setup.j2 +0 -0
  156. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/templates/create_cube.j2 +0 -0
  157. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/templates/create_dimension.j2 +0 -0
  158. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/templates/create_metric.j2 +0 -0
  159. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/templates/create_transform.j2 +0 -0
  160. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/templates/link_dimension.j2 +0 -0
  161. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/templates/namespace_mapping.j2 +0 -0
  162. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/templates/register_table.j2 +0 -0
  163. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/templates/set_column_attributes.j2 +0 -0
  164. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/internal/validation.py +0 -0
  165. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/materialization/__init__.py +0 -0
  166. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/materialization/jobs/__init__.py +0 -0
  167. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/materialization/jobs/cube_materialization.py +0 -0
  168. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/materialization/jobs/job_types.py +0 -0
  169. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/materialization/jobs/materialization_job.py +0 -0
  170. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/__init__.py +0 -0
  171. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/access.py +0 -0
  172. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/attribute.py +0 -0
  173. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/base.py +0 -0
  174. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/catalog.py +0 -0
  175. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/collection.py +0 -0
  176. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/column.py +0 -0
  177. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/cube.py +0 -0
  178. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/cube_materialization.py +0 -0
  179. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/database.py +0 -0
  180. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/dimensionlink.py +0 -0
  181. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/engine.py +0 -0
  182. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/history.py +0 -0
  183. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/materialization.py +0 -0
  184. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/measure.py +0 -0
  185. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/metric.py +0 -0
  186. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/node.py +0 -0
  187. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/node_type.py +0 -0
  188. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/notifications.py +0 -0
  189. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/partition.py +0 -0
  190. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/query.py +0 -0
  191. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/sql.py +0 -0
  192. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/table.py +0 -0
  193. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/tag.py +0 -0
  194. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/models/user.py +0 -0
  195. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/naming.py +0 -0
  196. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/service_clients.py +0 -0
  197. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/__init__.py +0 -0
  198. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/decompose.py +0 -0
  199. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/__init__.py +0 -0
  200. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/__init__.py +0 -0
  201. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/exceptions.py +0 -0
  202. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/SqlBaseLexer.g4 +0 -0
  203. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/SqlBaseParser.g4 +0 -0
  204. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/__init__.py +0 -0
  205. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.interp +0 -0
  206. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.py +0 -0
  207. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.tokens +0 -0
  208. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.interp +0 -0
  209. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.py +0 -0
  210. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.tokens +0 -0
  211. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParserListener.py +0 -0
  212. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParserVisitor.py +0 -0
  213. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/sql/parsing/types.py +0 -0
  214. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/superset.py +0 -0
  215. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/transpilation.py +0 -0
  216. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/typing.py +0 -0
  217. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/datajunction_server/utils.py +0 -0
  218. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/init_data/seed.sql +0 -0
  219. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/pdm.lock +0 -0
  220. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/pyproject.toml +0 -0
  221. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/requirements/docker.txt +0 -0
  222. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/requirements/test.txt +0 -0
  223. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/scripts/docs-snippets.js +0 -0
  224. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/scripts/docs-snippets.sh +0 -0
  225. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/scripts/generate-openapi.py +0 -0
  226. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/__init__.py +0 -0
  227. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/__init__.py +0 -0
  228. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/access_test.py +0 -0
  229. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/attributes_test.py +0 -0
  230. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/catalog_test.py +0 -0
  231. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/client_test.py +0 -0
  232. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/collections_test.py +0 -0
  233. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/cubes_test.py +0 -0
  234. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/data_test.py +0 -0
  235. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/dimension_links_test.py +0 -0
  236. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/dimensions_access_test.py +0 -0
  237. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/dimensions_test.py +0 -0
  238. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/djql_test.py +0 -0
  239. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/engine_test.py +0 -0
  240. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/create_cube.repairs_cube.namespace.txt +0 -0
  241. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/create_cube.repairs_cube.txt +0 -0
  242. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/create_dimension.repair_order.namespace.txt +0 -0
  243. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/create_dimension.repair_order.txt +0 -0
  244. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/create_metric.num_repair_orders.namespace.txt +0 -0
  245. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/create_metric.num_repair_orders.txt +0 -0
  246. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/create_transform.regional_level_agg.namespace.txt +0 -0
  247. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/create_transform.regional_level_agg.txt +0 -0
  248. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/dimension_links.repair_orders.namespace.txt +0 -0
  249. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/dimension_links.repair_orders.txt +0 -0
  250. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/include_client_setup.txt +0 -0
  251. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/notebook.create_cube.txt +0 -0
  252. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/notebook.create_transform.txt +0 -0
  253. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/notebook.link_dimension.txt +0 -0
  254. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/notebook.set_attribute.txt +0 -0
  255. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/client_test/register_table.txt +0 -0
  256. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_measures_cube.full.druid_spec.json +0 -0
  257. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_measures_cube.full.partition.druid_spec.json +0 -0
  258. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_measures_cube.full.partition.query.sql +0 -0
  259. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_measures_cube.full.query.sql +0 -0
  260. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_measures_cube.incremental.categorical.query.sql +0 -0
  261. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_measures_cube.incremental.druid_spec.json +0 -0
  262. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_measures_cube.incremental.patched.query.sql +0 -0
  263. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_measures_cube.incremental.query.sql +0 -0
  264. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_metrics_cube.incremental.categorical.query.sql +0 -0
  265. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_metrics_cube.incremental.druid_spec.json +0 -0
  266. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/druid_metrics_cube.incremental.query.sql +0 -0
  267. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.full.config.json +0 -0
  268. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.full.materializations.json +0 -0
  269. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.full.partition.config.json +0 -0
  270. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.full.partition.materializations.json +0 -0
  271. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.full.partition.query.sql +0 -0
  272. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.full.query.sql +0 -0
  273. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.incremental.additional.query.sql +0 -0
  274. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.incremental.categorical.query.sql +0 -0
  275. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.incremental.config.json +0 -0
  276. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.incremental.lookback.query.sql +0 -0
  277. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/files/materializations_test/spark_sql.incremental.query.sql +0 -0
  278. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/graphql/__init__.py +0 -0
  279. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/graphql/catalog_test.py +0 -0
  280. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/graphql/common_dimensions_test.py +0 -0
  281. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/graphql/engine_test.py +0 -0
  282. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/graphql/find_nodes_test.py +0 -0
  283. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/graphql/measures_sql_test.py +0 -0
  284. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/graphql/tags_test.py +0 -0
  285. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/health_test.py +0 -0
  286. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/helpers_test.py +0 -0
  287. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/history_test.py +0 -0
  288. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/materializations_test.py +0 -0
  289. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/measures_test.py +0 -0
  290. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/metrics_test.py +0 -0
  291. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/namespaces_test.py +0 -0
  292. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/nodes_test.py +0 -0
  293. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/nodes_update_test.py +0 -0
  294. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/notifications_test.py +0 -0
  295. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/routers_test.py +0 -0
  296. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/sql_v2_test.py +0 -0
  297. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/tags_test.py +0 -0
  298. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/api/users_test.py +0 -0
  299. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/conftest.py +0 -0
  300. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/construction/__init__.py +0 -0
  301. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/construction/build_test.py +0 -0
  302. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/construction/build_v2_test.py +0 -0
  303. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/construction/compile_test.py +0 -0
  304. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/construction/conftest.py +0 -0
  305. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/construction/exceptions_test.py +0 -0
  306. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/construction/inference_test.py +0 -0
  307. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/construction/utils_test.py +0 -0
  308. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/default.duckdb +0 -0
  309. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/duckdb.sql +0 -0
  310. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/errors_test.py +0 -0
  311. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/integration/__init__.py +0 -0
  312. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/integration/basic_test.py +0 -0
  313. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/internal/authentication/basic_test.py +0 -0
  314. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/internal/authentication/github_test.py +0 -0
  315. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/internal/authentication/http_test.py +0 -0
  316. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/internal/authentication/token_test.py +0 -0
  317. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/internal/authentication/whoami_test.py +0 -0
  318. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/internal/caching/cachelib_cache_test.py +0 -0
  319. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/internal/caching/noop_cache_test.py +0 -0
  320. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/migrations_test.py +0 -0
  321. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/models/__init__.py +0 -0
  322. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/models/catalog_test.py +0 -0
  323. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/models/hash_test.py +0 -0
  324. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/models/measure_test.py +0 -0
  325. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/models/node_test.py +0 -0
  326. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/models/query_test.py +0 -0
  327. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/service_clients_test.py +0 -0
  328. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/__init__.py +0 -0
  329. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/dag_test.py +0 -0
  330. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/decompose_test.py +0 -0
  331. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/__init__.py +0 -0
  332. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/backends/__init__.py +0 -0
  333. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/backends/types_test.py +0 -0
  334. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/__init__.py +0 -0
  335. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query1.sql +0 -0
  336. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query10.sql +0 -0
  337. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query11.sql +0 -0
  338. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query12.sql +0 -0
  339. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query13.sql +0 -0
  340. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query14.sql +0 -0
  341. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query15.sql +0 -0
  342. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query16.sql +0 -0
  343. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query17.sql +0 -0
  344. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query18.sql +0 -0
  345. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query19.sql +0 -0
  346. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query2.sql +0 -0
  347. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query20.sql +0 -0
  348. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query21.sql +0 -0
  349. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query22.sql +0 -0
  350. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query23.sql +0 -0
  351. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query24.sql +0 -0
  352. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query25.sql +0 -0
  353. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query26.sql +0 -0
  354. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query27.sql +0 -0
  355. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query28.sql +0 -0
  356. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query29.sql +0 -0
  357. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query3.sql +0 -0
  358. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query30.sql +0 -0
  359. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query31.sql +0 -0
  360. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query32.sql +0 -0
  361. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query33.sql +0 -0
  362. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query34.sql +0 -0
  363. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query35.sql +0 -0
  364. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query36.sql +0 -0
  365. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query37.sql +0 -0
  366. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query38.sql +0 -0
  367. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query39.sql +0 -0
  368. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query4.sql +0 -0
  369. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query40.sql +0 -0
  370. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query41.sql +0 -0
  371. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query42.sql +0 -0
  372. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query43.sql +0 -0
  373. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query44.sql +0 -0
  374. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query45.sql +0 -0
  375. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query46.sql +0 -0
  376. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query47.sql +0 -0
  377. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query48.sql +0 -0
  378. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query49.sql +0 -0
  379. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query5.sql +0 -0
  380. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query50.sql +0 -0
  381. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query51.sql +0 -0
  382. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query52.sql +0 -0
  383. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query53.sql +0 -0
  384. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query54.sql +0 -0
  385. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query55.sql +0 -0
  386. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query56.sql +0 -0
  387. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query57.sql +0 -0
  388. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query58.sql +0 -0
  389. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query59.sql +0 -0
  390. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query6.sql +0 -0
  391. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query60.sql +0 -0
  392. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query61.sql +0 -0
  393. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query62.sql +0 -0
  394. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query63.sql +0 -0
  395. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query64.sql +0 -0
  396. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query65.sql +0 -0
  397. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query66.sql +0 -0
  398. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query67.sql +0 -0
  399. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query68.sql +0 -0
  400. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query69.sql +0 -0
  401. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query7.sql +0 -0
  402. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query70.sql +0 -0
  403. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query71.sql +0 -0
  404. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query72.sql +0 -0
  405. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query73.sql +0 -0
  406. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query74.sql +0 -0
  407. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query75.sql +0 -0
  408. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query76.sql +0 -0
  409. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query77.sql +0 -0
  410. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query78.sql +0 -0
  411. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query79.sql +0 -0
  412. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query8.sql +0 -0
  413. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query80.sql +0 -0
  414. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query81.sql +0 -0
  415. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query82.sql +0 -0
  416. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query83.sql +0 -0
  417. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query84.sql +0 -0
  418. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query85.sql +0 -0
  419. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query86.sql +0 -0
  420. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query87.sql +0 -0
  421. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query88.sql +0 -0
  422. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query89.sql +0 -0
  423. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query9.sql +0 -0
  424. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query90.sql +0 -0
  425. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query91.sql +0 -0
  426. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query92.sql +0 -0
  427. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query93.sql +0 -0
  428. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query94.sql +0 -0
  429. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query95.sql +0 -0
  430. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query96.sql +0 -0
  431. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query97.sql +0 -0
  432. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query98.sql +0 -0
  433. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/ansi/query99.sql +0 -0
  434. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query1.sql +0 -0
  435. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query10.sql +0 -0
  436. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query11.sql +0 -0
  437. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query12.sql +0 -0
  438. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query13.sql +0 -0
  439. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query14.sql +0 -0
  440. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query15.sql +0 -0
  441. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query16.sql +0 -0
  442. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query17.sql +0 -0
  443. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query18.sql +0 -0
  444. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query19.sql +0 -0
  445. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query2.sql +0 -0
  446. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query20.sql +0 -0
  447. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query21.sql +0 -0
  448. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query22.sql +0 -0
  449. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query23.sql +0 -0
  450. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query24.sql +0 -0
  451. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query25.sql +0 -0
  452. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query26.sql +0 -0
  453. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query27.sql +0 -0
  454. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query28.sql +0 -0
  455. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query29.sql +0 -0
  456. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query3.sql +0 -0
  457. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query30.sql +0 -0
  458. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query31.sql +0 -0
  459. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query32.sql +0 -0
  460. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query33.sql +0 -0
  461. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query34.sql +0 -0
  462. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query35.sql +0 -0
  463. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query36.sql +0 -0
  464. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query37.sql +0 -0
  465. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query38.sql +0 -0
  466. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query39.sql +0 -0
  467. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query4.sql +0 -0
  468. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query40.sql +0 -0
  469. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query41.sql +0 -0
  470. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query42.sql +0 -0
  471. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query43.sql +0 -0
  472. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query44.sql +0 -0
  473. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query45.sql +0 -0
  474. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query46.sql +0 -0
  475. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query47.sql +0 -0
  476. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query48.sql +0 -0
  477. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query49.sql +0 -0
  478. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query5.sql +0 -0
  479. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query50.sql +0 -0
  480. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query51.sql +0 -0
  481. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query52.sql +0 -0
  482. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query53.sql +0 -0
  483. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query54.sql +0 -0
  484. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query55.sql +0 -0
  485. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query56.sql +0 -0
  486. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query57.sql +0 -0
  487. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query58.sql +0 -0
  488. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query59.sql +0 -0
  489. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query6.sql +0 -0
  490. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query60.sql +0 -0
  491. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query61.sql +0 -0
  492. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query62.sql +0 -0
  493. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query63.sql +0 -0
  494. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query64.sql +0 -0
  495. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query65.sql +0 -0
  496. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query66.sql +0 -0
  497. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query67.sql +0 -0
  498. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query68.sql +0 -0
  499. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query69.sql +0 -0
  500. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query7.sql +0 -0
  501. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query70.sql +0 -0
  502. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query71.sql +0 -0
  503. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query72.sql +0 -0
  504. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query73.sql +0 -0
  505. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query74.sql +0 -0
  506. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query75.sql +0 -0
  507. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query76.sql +0 -0
  508. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query77.sql +0 -0
  509. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query78.sql +0 -0
  510. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query79.sql +0 -0
  511. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query8.sql +0 -0
  512. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query80.sql +0 -0
  513. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query81.sql +0 -0
  514. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query82.sql +0 -0
  515. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query83.sql +0 -0
  516. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query84.sql +0 -0
  517. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query85.sql +0 -0
  518. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query86.sql +0 -0
  519. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query87.sql +0 -0
  520. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query88.sql +0 -0
  521. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query89.sql +0 -0
  522. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query9.sql +0 -0
  523. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query90.sql +0 -0
  524. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query91.sql +0 -0
  525. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query92.sql +0 -0
  526. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query93.sql +0 -0
  527. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query94.sql +0 -0
  528. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query95.sql +0 -0
  529. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query96.sql +0 -0
  530. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query97.sql +0 -0
  531. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query98.sql +0 -0
  532. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/sparksql/query99.sql +0 -0
  533. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/queries/tpcds/test_tpcds.py +0 -0
  534. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/parsing/test_ast.py +0 -0
  535. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/sql/utils.py +0 -0
  536. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/superset_test.py +0 -0
  537. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/transpilation_test.py +0 -0
  538. {datajunction_server-0.0.1a98.dev0 → datajunction_server-0.0.1a98.dev1}/tests/utils_test.py +0 -0
@@ -3,7 +3,7 @@ exclude: (^datajunction-server/datajunction_server/sql/parsing/backends/grammar/
3
3
 
4
4
  repos:
5
5
  - repo: https://github.com/pre-commit/pre-commit-hooks
6
- rev: v4.1.0
6
+ rev: v5.0.0
7
7
  hooks:
8
8
  - id: trailing-whitespace
9
9
  - id: check-ast
@@ -15,7 +15,7 @@ repos:
15
15
  exclude: ^templates/
16
16
 
17
17
  - repo: https://github.com/astral-sh/ruff-pre-commit
18
- rev: v0.9.4
18
+ rev: v0.11.10
19
19
  hooks:
20
20
  - id: ruff
21
21
  args: [ --fix ]
@@ -35,7 +35,7 @@ repos:
35
35
  - types-tabulate
36
36
 
37
37
  - repo: https://github.com/asottile/add-trailing-comma
38
- rev: v2.2.1
38
+ rev: v3.1.0
39
39
  hooks:
40
40
  - id: add-trailing-comma
41
41
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: datajunction-server
3
- Version: 0.0.1a98.dev0
3
+ Version: 0.0.1a98.dev1
4
4
  Summary: DataJunction server library for running to a DataJunction server
5
5
  Project-URL: Homepage, https://datajunction.io
6
6
  Project-URL: Repository, https://github.com/DataJunction/dj
@@ -0,0 +1,5 @@
1
+ """
2
+ Version for Hatch
3
+ """
4
+
5
+ __version__ = "0.0.1a98.dev1"
@@ -28,7 +28,8 @@ router = SecureAPIRouter(tags=["attributes"])
28
28
 
29
29
  @router.get("/attributes/", response_model=List[AttributeTypeBase])
30
30
  async def list_attributes(
31
- *, session: AsyncSession = Depends(get_session)
31
+ *,
32
+ session: AsyncSession = Depends(get_session),
32
33
  ) -> List[AttributeTypeBase]:
33
34
  """
34
35
  List all available attribute types.
@@ -44,7 +45,9 @@ async def list_attributes(
44
45
  name="Add an Attribute Type",
45
46
  )
46
47
  async def add_attribute_type(
47
- data: MutableAttributeTypeFields, *, session: AsyncSession = Depends(get_session)
48
+ data: MutableAttributeTypeFields,
49
+ *,
50
+ session: AsyncSession = Depends(get_session),
48
51
  ) -> AttributeTypeBase:
49
52
  """
50
53
  Add a new attribute type
@@ -30,7 +30,8 @@ UNKNOWN_CATALOG_ID = 0
30
30
 
31
31
  @router.get("/catalogs/", response_model=List[CatalogInfo])
32
32
  async def list_catalogs(
33
- *, session: AsyncSession = Depends(get_session)
33
+ *,
34
+ session: AsyncSession = Depends(get_session),
34
35
  ) -> List[CatalogInfo]:
35
36
  """
36
37
  List all available catalogs
@@ -44,7 +45,9 @@ async def list_catalogs(
44
45
 
45
46
  @router.get("/catalogs/{name}/", response_model=CatalogInfo, name="Get a Catalog")
46
47
  async def get_catalog(
47
- name: str, *, session: AsyncSession = Depends(get_session)
48
+ name: str,
49
+ *,
50
+ session: AsyncSession = Depends(get_session),
48
51
  ) -> CatalogInfo:
49
52
  """
50
53
  Return a catalog by name
@@ -50,7 +50,9 @@ router = SecureAPIRouter(tags=["cubes"])
50
50
 
51
51
  @router.get("/cubes/{name}/", name="Get a Cube")
52
52
  async def get_cube(
53
- name: str, *, session: AsyncSession = Depends(get_session)
53
+ name: str,
54
+ *,
55
+ session: AsyncSession = Depends(get_session),
54
56
  ) -> CubeRevisionMetadata:
55
57
  """
56
58
  Get information on a cube
@@ -21,7 +21,8 @@ router = SecureAPIRouter(tags=["engines"])
21
21
 
22
22
  @router.get("/engines/", response_model=List[EngineInfo])
23
23
  async def list_engines(
24
- *, session: AsyncSession = Depends(get_session)
24
+ *,
25
+ session: AsyncSession = Depends(get_session),
25
26
  ) -> List[EngineInfo]:
26
27
  """
27
28
  List all available engines
@@ -34,7 +35,10 @@ async def list_engines(
34
35
 
35
36
  @router.get("/engines/{name}/{version}/", response_model=EngineInfo)
36
37
  async def get_an_engine(
37
- name: str, version: str, *, session: AsyncSession = Depends(get_session)
38
+ name: str,
39
+ version: str,
40
+ *,
41
+ session: AsyncSession = Depends(get_session),
38
42
  ) -> EngineInfo:
39
43
  """
40
44
  Return an engine by name and version
@@ -201,8 +201,6 @@ async def get_query(
201
201
  engine: Optional[Engine] = None,
202
202
  access_control: Optional[access.AccessControlStore] = None,
203
203
  use_materialized: bool = True,
204
- query_parameters: Optional[Dict[str, str]] = None,
205
- ignore_errors: bool = True,
206
204
  ) -> ast.Query:
207
205
  """
208
206
  Get a query for a metric, dimensions, and filters
@@ -216,14 +214,12 @@ async def get_query(
216
214
  node.current, # type: ignore
217
215
  use_materialized=use_materialized,
218
216
  )
219
- if ignore_errors:
220
- query_builder.ignore_errors()
221
217
  query_ast = await (
222
- query_builder.with_access_control(access_control)
218
+ query_builder.ignore_errors()
219
+ .with_access_control(access_control)
223
220
  .with_build_criteria(build_criteria)
224
221
  .add_dimensions(dimensions)
225
222
  .add_filters(filters)
226
- .add_query_parameters(query_parameters)
227
223
  .limit(limit)
228
224
  .order_by(orderby)
229
225
  .build()
@@ -609,7 +605,6 @@ async def build_sql_for_multiple_metrics(
609
605
  access_control: Optional[access.AccessControlStore] = None,
610
606
  ignore_errors: bool = True,
611
607
  use_materialized: bool = True,
612
- query_parameters: Optional[Dict[str, str]] = None,
613
608
  ) -> Tuple[TranslatedSQL, Engine, Catalog]:
614
609
  """
615
610
  Build SQL for multiple metrics. Used by both /sql and /data endpoints
@@ -735,7 +730,6 @@ async def build_sql_for_multiple_metrics(
735
730
  limit=limit,
736
731
  access_control=access_control,
737
732
  ignore_errors=ignore_errors,
738
- query_parameters=query_parameters,
739
733
  )
740
734
  columns = [
741
735
  assemble_column_metadata(col) # type: ignore
@@ -95,7 +95,9 @@ async def list_measures(
95
95
 
96
96
  @router.get("/measures/{measure_name}", response_model=MeasureOutput)
97
97
  async def get_measure(
98
- measure_name: str, *, session: AsyncSession = Depends(get_session)
98
+ measure_name: str,
99
+ *,
100
+ session: AsyncSession = Depends(get_session),
99
101
  ) -> MeasureOutput:
100
102
  """
101
103
  Get info on a measure.
@@ -111,7 +113,9 @@ async def get_measure(
111
113
  name="Add a Measure",
112
114
  )
113
115
  async def add_measure(
114
- data: CreateMeasure, *, session: AsyncSession = Depends(get_session)
116
+ data: CreateMeasure,
117
+ *,
118
+ session: AsyncSession = Depends(get_session),
115
119
  ) -> MeasureOutput:
116
120
  """
117
121
  Add a measure
@@ -104,7 +104,9 @@ async def list_metric_metadata() -> MetricMetadataOptions:
104
104
 
105
105
  @router.get("/metrics/{name}/", response_model=Metric)
106
106
  async def get_a_metric(
107
- name: str, *, session: AsyncSession = Depends(get_session)
107
+ name: str,
108
+ *,
109
+ session: AsyncSession = Depends(get_session),
108
110
  ) -> Metric:
109
111
  """
110
112
  Return a metric by name.
@@ -327,7 +327,9 @@ async def list_all_nodes_with_details(
327
327
 
328
328
  @router.get("/nodes/{name}/", response_model=NodeOutput)
329
329
  async def get_node(
330
- name: str, *, session: AsyncSession = Depends(get_session)
330
+ name: str,
331
+ *,
332
+ session: AsyncSession = Depends(get_session),
331
333
  ) -> NodeOutput:
332
334
  """
333
335
  Show the active version of the specified node.
@@ -415,7 +417,9 @@ async def restore_node(
415
417
 
416
418
  @router.get("/nodes/{name}/revisions/", response_model=List[NodeRevisionOutput])
417
419
  async def list_node_revisions(
418
- name: str, *, session: AsyncSession = Depends(get_session)
420
+ name: str,
421
+ *,
422
+ session: AsyncSession = Depends(get_session),
419
423
  ) -> List[NodeRevisionOutput]:
420
424
  """
421
425
  List all revisions for the node.
@@ -1436,7 +1440,10 @@ async def update_node(
1436
1440
 
1437
1441
  @router.get("/nodes/similarity/{node1_name}/{node2_name}")
1438
1442
  async def calculate_node_similarity(
1439
- node1_name: str, node2_name: str, *, session: AsyncSession = Depends(get_session)
1443
+ node1_name: str,
1444
+ node2_name: str,
1445
+ *,
1446
+ session: AsyncSession = Depends(get_session),
1440
1447
  ) -> JSONResponse:
1441
1448
  """
1442
1449
  Compare two nodes by how similar their queries are
@@ -1511,7 +1518,9 @@ async def list_upstream_nodes(
1511
1518
  name="List All Connected Nodes (Upstreams + Downstreams)",
1512
1519
  )
1513
1520
  async def list_node_dag(
1514
- name: str, *, session: AsyncSession = Depends(get_session)
1521
+ name: str,
1522
+ *,
1523
+ session: AsyncSession = Depends(get_session),
1515
1524
  ) -> List[DAGNodeOutput]:
1516
1525
  """
1517
1526
  List all nodes that are part of the DAG of the given node. This means getting all upstreams,
@@ -1548,7 +1557,10 @@ async def list_node_dag(
1548
1557
  name="List All Dimension Attributes",
1549
1558
  )
1550
1559
  async def list_all_dimension_attributes(
1551
- name: str, *, depth: int = 30, session: AsyncSession = Depends(get_session)
1560
+ name: str,
1561
+ *,
1562
+ depth: int = 30,
1563
+ session: AsyncSession = Depends(get_session),
1552
1564
  ) -> List[DimensionAttributeOutput]:
1553
1565
  """
1554
1566
  List all available dimension attributes for the given node.
@@ -1578,7 +1590,9 @@ async def list_all_dimension_attributes(
1578
1590
  name="List column level lineage of node",
1579
1591
  )
1580
1592
  async def column_lineage(
1581
- name: str, *, session: AsyncSession = Depends(get_session)
1593
+ name: str,
1594
+ *,
1595
+ session: AsyncSession = Depends(get_session),
1582
1596
  ) -> List[LineageColumn]:
1583
1597
  """
1584
1598
  List column-level lineage of a node in a graph
@@ -2,11 +2,10 @@
2
2
  SQL related APIs.
3
3
  """
4
4
 
5
- import json
6
5
  import logging
7
6
  from collections import OrderedDict
8
7
  from http import HTTPStatus
9
- from typing import Any, List, Optional, Tuple, cast
8
+ from typing import List, Optional, Tuple, cast
10
9
 
11
10
  from fastapi import BackgroundTasks, Depends, Query
12
11
  from sqlalchemy.ext.asyncio import AsyncSession
@@ -59,7 +58,6 @@ async def get_measures_sql_for_cube_v2(
59
58
  "subsequent queries are more efficient."
60
59
  ),
61
60
  ),
62
- qp: str = Query("{}", description="Query parameters"),
63
61
  *,
64
62
  include_all_columns: bool = Query(
65
63
  False,
@@ -108,7 +106,6 @@ async def get_measures_sql_for_cube_v2(
108
106
  sql_transpilation_library=settings.sql_transpilation_library,
109
107
  use_materialized=use_materialized,
110
108
  preagg_requested=preaggregate,
111
- query_parameters=json.loads(qp),
112
109
  )
113
110
  return measures_query
114
111
 
@@ -125,7 +122,6 @@ async def build_and_save_node_sql(
125
122
  access_control: AccessControlStore,
126
123
  ignore_errors: bool = True,
127
124
  use_materialized: bool = True,
128
- query_parameters: dict[str, Any] | None = None,
129
125
  ) -> QueryRequest:
130
126
  """
131
127
  Build node SQL and save it to query requests
@@ -156,7 +152,6 @@ async def build_and_save_node_sql(
156
152
  engine_version=engine.version if engine else None,
157
153
  access_control=access_control,
158
154
  use_materialized=use_materialized,
159
- query_parameters=query_parameters,
160
155
  )
161
156
  # We save the request for both the cube and the metrics, so that if someone makes either
162
157
  # of these types of requests, they'll go to the cached query
@@ -165,8 +160,6 @@ async def build_and_save_node_sql(
165
160
  ([node_name], QueryBuildType.NODE),
166
161
  ]
167
162
  for nodes, query_type in requests_to_save:
168
- if query_parameters:
169
- continue
170
163
  request = await QueryRequest.save_query_request(
171
164
  session=session,
172
165
  nodes=nodes,
@@ -197,7 +190,6 @@ async def build_and_save_node_sql(
197
190
  access_control=access_control,
198
191
  ignore_errors=ignore_errors,
199
192
  use_materialized=use_materialized,
200
- query_parameters=query_parameters,
201
193
  )
202
194
  query = translated_sql.sql
203
195
  columns = translated_sql.columns
@@ -212,8 +204,6 @@ async def build_and_save_node_sql(
212
204
  engine=engine,
213
205
  access_control=access_control,
214
206
  use_materialized=use_materialized,
215
- query_parameters=query_parameters,
216
- ignore_errors=ignore_errors,
217
207
  )
218
208
  columns = [
219
209
  assemble_column_metadata(col) # type: ignore
@@ -252,7 +242,6 @@ async def get_node_sql(
252
242
  background_tasks: BackgroundTasks,
253
243
  ignore_errors: bool = True,
254
244
  use_materialized: bool = True,
255
- query_parameters: dict[str, Any] | None = None,
256
245
  ) -> Tuple[TranslatedSQL, QueryRequest]:
257
246
  """
258
247
  Return SQL for a node.
@@ -294,7 +283,6 @@ async def get_node_sql(
294
283
  engine=engine,
295
284
  access_control=access_control,
296
285
  use_materialized=use_materialized,
297
- query_parameters=query_parameters,
298
286
  )
299
287
  return (
300
288
  TranslatedSQL(
@@ -316,7 +304,6 @@ async def get_node_sql(
316
304
  access_control=access_control,
317
305
  ignore_errors=ignore_errors,
318
306
  use_materialized=use_materialized,
319
- query_parameters=query_parameters,
320
307
  )
321
308
  return (
322
309
  TranslatedSQL(
@@ -339,7 +326,6 @@ async def get_sql(
339
326
  filters: List[str] = Query([]),
340
327
  orderby: List[str] = Query([]),
341
328
  limit: Optional[int] = None,
342
- qp: str = Query("{}", description="Query parameters"),
343
329
  *,
344
330
  session: AsyncSession = Depends(get_session),
345
331
  engine_name: Optional[str] = None,
@@ -369,7 +355,6 @@ async def get_sql(
369
355
  background_tasks=background_tasks,
370
356
  ignore_errors=ignore_errors, # type: ignore
371
357
  use_materialized=use_materialized, # type: ignore
372
- query_parameters=json.loads(qp),
373
358
  )
374
359
  return translated_sql
375
360
 
@@ -381,7 +366,6 @@ async def get_sql_for_metrics(
381
366
  filters: List[str] = Query([]),
382
367
  orderby: List[str] = Query([]),
383
368
  limit: Optional[int] = None,
384
- qp: str = Query("{}", description="Query parameters"),
385
369
  *,
386
370
  session: AsyncSession = Depends(get_session),
387
371
  engine_name: Optional[str] = None,
@@ -418,19 +402,17 @@ async def get_sql_for_metrics(
418
402
  http_status_code=HTTPStatus.UNPROCESSABLE_ENTITY,
419
403
  )
420
404
 
421
- if (
422
- query_request := await QueryRequest.get_query_request(
423
- session,
424
- nodes=metrics,
425
- dimensions=dimensions,
426
- filters=filters,
427
- orderby=orderby,
428
- limit=limit,
429
- engine_name=engine_name,
430
- engine_version=engine_version,
431
- query_type=QueryBuildType.METRICS,
432
- )
433
- ) and not qp:
405
+ if query_request := await QueryRequest.get_query_request(
406
+ session,
407
+ nodes=metrics,
408
+ dimensions=dimensions,
409
+ filters=filters,
410
+ orderby=orderby,
411
+ limit=limit,
412
+ engine_name=engine_name,
413
+ engine_version=engine_version,
414
+ query_type=QueryBuildType.METRICS,
415
+ ):
434
416
  # Update the node SQL in a background task to keep it up-to-date
435
417
  background_tasks.add_task(
436
418
  build_and_save_sql_for_metrics,
@@ -445,7 +427,6 @@ async def get_sql_for_metrics(
445
427
  access_control=access_control,
446
428
  ignore_errors=ignore_errors,
447
429
  use_materialized=use_materialized,
448
- query_parameters=json.loads(qp),
449
430
  )
450
431
  engine = (
451
432
  await get_engine(session, engine_name, engine_version) # type: ignore
@@ -470,7 +451,6 @@ async def get_sql_for_metrics(
470
451
  access_control,
471
452
  ignore_errors=ignore_errors, # type: ignore
472
453
  use_materialized=use_materialized, # type: ignore
473
- query_parameters=json.loads(qp),
474
454
  )
475
455
 
476
456
 
@@ -486,7 +466,6 @@ async def build_and_save_sql_for_metrics(
486
466
  access_control: Optional[access.AccessControlStore] = None,
487
467
  ignore_errors: bool = True,
488
468
  use_materialized: bool = True,
489
- query_parameters: dict[str, Any] | None = None,
490
469
  ):
491
470
  """
492
471
  Builds and saves SQL for metrics.
@@ -503,7 +482,6 @@ async def build_and_save_sql_for_metrics(
503
482
  access_control,
504
483
  ignore_errors=ignore_errors, # type: ignore
505
484
  use_materialized=use_materialized, # type: ignore
506
- query_parameters=query_parameters,
507
485
  )
508
486
 
509
487
  await QueryRequest.save_query_request(
@@ -72,7 +72,9 @@ async def get_tag_by_name(
72
72
 
73
73
  @router.get("/tags/", response_model=List[TagOutput])
74
74
  async def list_tags(
75
- tag_type: Optional[str] = None, *, session: AsyncSession = Depends(get_session)
75
+ tag_type: Optional[str] = None,
76
+ *,
77
+ session: AsyncSession = Depends(get_session),
76
78
  ) -> List[TagOutput]:
77
79
  """
78
80
  List all available tags.
@@ -86,7 +88,9 @@ async def list_tags(
86
88
 
87
89
  @router.get("/tags/{name}/", response_model=TagOutput)
88
90
  async def get_a_tag(
89
- name: str, *, session: AsyncSession = Depends(get_session)
91
+ name: str,
92
+ *,
93
+ session: AsyncSession = Depends(get_session),
90
94
  ) -> TagOutput:
91
95
  """
92
96
  Return a tag by name.
@@ -4,7 +4,7 @@ import collections
4
4
  import logging
5
5
  import os
6
6
  from concurrent.futures import ThreadPoolExecutor
7
- from typing import Any, DefaultDict, List, Optional, Set, Tuple
7
+ from typing import DefaultDict, List, Optional, Set, Tuple
8
8
 
9
9
  from sqlalchemy.ext.asyncio import AsyncSession
10
10
 
@@ -164,7 +164,6 @@ async def build_metric_nodes(
164
164
  build_criteria: Optional[BuildCriteria] = None,
165
165
  access_control: Optional[access.AccessControlStore] = None,
166
166
  ignore_errors: bool = True,
167
- query_parameters: Optional[dict[str, Any]] = None,
168
167
  ):
169
168
  """
170
169
  Build a single query for all metrics in the list, including the specified
@@ -196,7 +195,6 @@ async def build_metric_nodes(
196
195
  builder = (
197
196
  builder.add_filters(filters)
198
197
  .add_dimensions(dimensions)
199
- .add_query_parameters(query_parameters)
200
198
  .order_by(orderby)
201
199
  .limit(limit)
202
200
  .with_build_criteria(build_criteria)
@@ -104,7 +104,6 @@ async def get_measures_query(
104
104
  sql_transpilation_library: Optional[str] = None,
105
105
  use_materialized: bool = True,
106
106
  preagg_requested: bool = False,
107
- query_parameters: dict[str, Any] = None,
108
107
  ) -> List[GeneratedSQL]:
109
108
  """
110
109
  Builds the measures SQL for a set of metrics with dimensions and filters.
@@ -186,7 +185,6 @@ async def get_measures_query(
186
185
  .with_build_criteria(build_criteria)
187
186
  .add_dimensions(dimensions)
188
187
  .add_filters(filters)
189
- .add_query_parameters(query_parameters)
190
188
  .order_by(orderby)
191
189
  .build()
192
190
  )
@@ -299,9 +297,13 @@ def build_preaggregate_query(
299
297
  # Find all required GROUP BY columns based on each of the measure's aggregation rules.
300
298
  # If the measure supports full aggregation, there are no required group-by columns, but if it
301
299
  # supports limited aggregation, we need to aggregate to the specified level.
300
+ colum_name_to_alias = {
301
+ col.name.identifier(): (col.alias or col.name).identifier()
302
+ for col in parent_ast.select.column_mapping.values()
303
+ }
302
304
  required_group_by_columns = [
303
305
  ast.Column.from_existing(
304
- parent_ast.select.column_mapping[group_by_col],
306
+ parent_ast.select.column_mapping[colum_name_to_alias[group_by_col]],
305
307
  table=from_table,
306
308
  )
307
309
  for metric in metrics2measures
@@ -378,7 +380,6 @@ class QueryBuilder:
378
380
  self.use_materialized = use_materialized
379
381
 
380
382
  self._filters: List[str] = []
381
- self._parameters: dict[str, ast.Value] = {}
382
383
  self._required_dimensions: List[str] = [
383
384
  required.name for required in self.node_revision.required_dimensions
384
385
  ]
@@ -438,16 +439,6 @@ class QueryBuilder:
438
439
  self.filter_by(filter_)
439
440
  return self
440
441
 
441
- def add_query_parameters(
442
- self, query_parameters: dict[str, ast.Value | Any] | None = None
443
- ):
444
- """Add parameters to the query builder."""
445
- for param, value in (query_parameters or {}).items():
446
- self._parameters[param] = QueryBuilder.normalize_query_param_value(
447
- param, value
448
- )
449
- return self
450
-
451
442
  def add_dimension(self, dimension: str):
452
443
  """Add dimension to the query builder."""
453
444
  if (
@@ -508,13 +499,6 @@ class QueryBuilder:
508
499
  """All filters"""
509
500
  return self._filters
510
501
 
511
- @property
512
- def parameters(self) -> dict[str, ast.Value]:
513
- """
514
- Extracts parameters from relevant filters
515
- """
516
- return self._parameters
517
-
518
502
  @property
519
503
  def filter_asts(self) -> List[ast.Expression]:
520
504
  """
@@ -609,18 +593,6 @@ class QueryBuilder:
609
593
  order=order,
610
594
  )
611
595
 
612
- # Replace any parameters in the final AST with their values
613
- for param in self.final_ast.find_all(ast.QueryParameter): # type: ignore
614
- if param.name in self.parameters and param.parent:
615
- param.parent.replace(param, self.parameters[param.name])
616
- else:
617
- self.errors.append(
618
- DJQueryBuildError(
619
- code=ErrorCode.MISSING_PARAMETER,
620
- message=f"Missing value for parameter: {param.name}",
621
- )
622
- )
623
-
624
596
  # Error validation
625
597
  self.validate_access()
626
598
  if self.errors and not self._ignore_errors:
@@ -888,24 +860,6 @@ class QueryBuilder:
888
860
  dimension_node_joins[dim_node].requested_dimensions.append(dim)
889
861
  return dimension_node_joins
890
862
 
891
- @classmethod
892
- def normalize_query_param_value(cls, param: str, value: ast.Value | Any):
893
- match value:
894
- case ast.Value():
895
- return value
896
- case int() | float():
897
- return ast.Number(value)
898
- case bool():
899
- return ast.Boolean(value)
900
- case None:
901
- return ast.Null()
902
- case str():
903
- return ast.String(f"'{value}'")
904
- case _:
905
- raise TypeError(
906
- f"Unsupported parameter type: {type(value)} for param {param}"
907
- )
908
-
909
863
 
910
864
  class CubeQueryBuilder:
911
865
  """
@@ -934,7 +888,6 @@ class CubeQueryBuilder:
934
888
  self._dimensions: List[str] = []
935
889
  self._orderby: List[str] = []
936
890
  self._limit: Optional[int] = None
937
- self._parameters: dict[str, ast.Value] = {}
938
891
  self._build_criteria: Optional[BuildCriteria] = self.get_default_criteria()
939
892
  self._access_control: Optional[access.AccessControlStore] = None
940
893
  self._ignore_errors: bool = False
@@ -1015,14 +968,6 @@ class CubeQueryBuilder:
1015
968
  self.add_dimension(dimension)
1016
969
  return self
1017
970
 
1018
- def add_query_parameters(self, query_parameters: dict[str, Any] | None = None):
1019
- """Add parameters to the query builder."""
1020
- for param, value in (query_parameters or {}).items():
1021
- self._parameters[param] = QueryBuilder.normalize_query_param_value(
1022
- param, value
1023
- )
1024
- return self
1025
-
1026
971
  def order_by(self, orderby: Optional[Union[str, List[str]]] = None):
1027
972
  """Set order by for the query builder."""
1028
973
  if isinstance(orderby, str):
@@ -1068,13 +1013,6 @@ class CubeQueryBuilder:
1068
1013
  """All filters"""
1069
1014
  return self._filters
1070
1015
 
1071
- @property
1072
- def parameters(self) -> dict[str, ast.Value]:
1073
- """
1074
- Extracts parameters from relevant filters
1075
- """
1076
- return self._parameters
1077
-
1078
1016
  async def build(self) -> ast.Query:
1079
1017
  """
1080
1018
  Builds SQL for multiple metrics with the requested set of dimensions,
@@ -1181,7 +1119,6 @@ class CubeQueryBuilder:
1181
1119
  .with_build_criteria(self._build_criteria)
1182
1120
  .add_dimensions(self.dimensions)
1183
1121
  .add_filters(self.filters)
1184
- .add_query_parameters(self.parameters)
1185
1122
  .build()
1186
1123
  )
1187
1124
  self.errors.extend(query_builder.errors)
@@ -1577,7 +1514,8 @@ async def needs_dimension_join(
1577
1514
 
1578
1515
 
1579
1516
  def combine_filter_conditions(
1580
- existing_condition, *new_conditions
1517
+ existing_condition,
1518
+ *new_conditions,
1581
1519
  ) -> Optional[Union[ast.BinaryOp, ast.Expression]]:
1582
1520
  """
1583
1521
  Combines the existing where clause with new filter conditions.
@@ -19,7 +19,9 @@ class CompoundBuildException:
19
19
  def __new__(cls, *args, **kwargs):
20
20
  if not cls._instance:
21
21
  cls._instance = super(CompoundBuildException, cls).__new__(
22
- cls, *args, **kwargs
22
+ cls,
23
+ *args,
24
+ **kwargs,
23
25
  )
24
26
  cls.errors = []
25
27
  return cls._instance
@@ -34,7 +34,7 @@ async def get_dj_node(
34
34
  await session.execute(
35
35
  query.options(
36
36
  joinedload(Node.current).options(
37
- *NodeRevision.default_load_options()
37
+ *NodeRevision.default_load_options(),
38
38
  ),
39
39
  ),
40
40
  )