datajunction-server 0.0.1a35.dev2__tar.gz → 0.0.1a36__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.
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/PKG-INFO +1 -1
- datajunction_server-0.0.1a36/datajunction_server/__about__.py +4 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/namespaces.py +22 -1
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/namespaces.py +196 -1
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/node.py +3 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/dag.py +4 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/dj.demo.db +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/dj.internal.db +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/metrics_test.py +290 -7
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/namespaces_test.py +81 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/nodes_test.py +94 -5
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/dag_test.py +30 -4
- datajunction_server-0.0.1a35.dev2/datajunction_server/__about__.py +0 -4
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/.coveragerc +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/.env +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/.env.integration +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/.flake8 +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/.gitignore +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/.isort.cfg +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/.pre-commit-config.yaml +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/.pylintrc +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/Dockerfile +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/Makefile +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/README.md +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/README +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/env.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/script.py.mako +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_07_07_2006-4e1ff36c27c6_initial_migration.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_07_11_2337-bd313a10e2a8_add_bound_dimensions_attribute_to_.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_07_14_0428-5c3d0c958c3c_add_node_to_history.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_07_30_1608-4147da2ac841_add_deactivated_to_materialization.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_08_02_0055-ccc77abcf899_add_deactivated_to_namespace.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_08_08_1856-cde75f986a62_user_model.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_08_18_2348-fe8d3dbe512a_store_column_level_lineage.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_09_18_1346-f2e9ef937daf_add_measures.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_09_20_2049-879128f3e778_add_display_name_to_column.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_09_21_0033-b75e5163b09d_add_description_and_display_name_to_.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_10_02_1642-d8fa1e6371a7_add_url_to_availability_state.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_10_08_1438-58e246fba34b_add_partitions_and_backfills.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic/versions/2023_10_24_0354-87cf9c00ac00_add_metric_metadata.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/alembic.ini +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/access/authentication/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/access/authentication/basic.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/access/authentication/github.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/access/authentication/google.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/access/authentication/whoami.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/attributes.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/catalogs.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/client.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/cubes.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/data.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/dimensions.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/djsql.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/engines.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/graphql/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/graphql/catalogs.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/graphql/engines.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/graphql/main.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/health.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/helpers.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/history.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/logging.conf +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/main.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/materializations.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/measures.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/metrics.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/nodes.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/sql.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/api/tags.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/config.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/constants.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/construction/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/construction/build.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/construction/dimensions.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/construction/dj_query.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/construction/exceptions.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/construction/utils.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/errors.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/access/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/access/authentication/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/access/authentication/basic.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/access/authentication/github.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/access/authentication/google.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/access/authentication/http.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/access/authentication/tokens.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/access/authorization.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/engines.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/materializations.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/internal/nodes.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/materialization/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/materialization/jobs/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/materialization/jobs/cube_materialization.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/materialization/jobs/materialization_job.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/access.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/attribute.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/base.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/catalog.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/column.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/cube.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/database.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/engine.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/history.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/materialization.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/measure.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/metric.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/partition.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/query.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/table.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/tag.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/models/user.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/service_clients.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/functions.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/ast.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/antlr4.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/exceptions.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/SqlBaseLexer.g4 +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/SqlBaseParser.g4 +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.interp +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseLexer.tokens +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.interp +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParser.tokens +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParserListener.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/backends/grammar/generated/SqlBaseParserVisitor.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/parsing/types.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/superset.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/transpilation.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/typing.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/utils.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/default.duckdb +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/dj.copy.db +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/dj.test.db +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/pdm.lock +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/pyproject.toml +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/requirements/docker.txt +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/requirements/test.txt +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/scripts/docs-snippets.js +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/scripts/docs-snippets.sh +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/scripts/generate-openapi.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/attributes_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/catalog_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/client_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/cubes_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/data_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/dimensions_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/djql_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/engine_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/graphql/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/graphql/catalog_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/graphql/engine_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/health_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/helpers_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/history_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/measures_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/node_update_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/routers_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/sql_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/api/tags_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/conftest.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/construction/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/construction/build_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/construction/compile_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/construction/exceptions_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/construction/fixtures.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/construction/inference_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/construction/utils_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/default.duckdb +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/duckdb.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/errors_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/examples.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/fixes_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/integration/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/integration/basic_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/internal/authentication/basic_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/internal/authentication/github_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/internal/authentication/http_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/internal/authentication/token_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/internal/authentication/whoami_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/migrations_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/models/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/models/catalog_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/models/hash_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/models/measure_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/models/node_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/models/query_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/service_clients_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/functions_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/backends/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/backends/antlr4_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/backends/types_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/__init__.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query1.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query10.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query11.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query12.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query13.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query14.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query15.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query16.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query17.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query18.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query19.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query2.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query20.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query21.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query22.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query23.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query24.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query25.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query26.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query27.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query28.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query29.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query3.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query30.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query31.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query32.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query33.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query34.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query35.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query36.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query37.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query38.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query39.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query4.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query40.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query41.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query42.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query43.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query44.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query45.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query46.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query47.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query48.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query49.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query5.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query50.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query51.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query52.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query53.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query54.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query55.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query56.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query57.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query58.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query59.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query6.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query60.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query61.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query62.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query63.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query64.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query65.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query66.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query67.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query68.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query69.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query7.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query70.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query71.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query72.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query73.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query74.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query75.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query76.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query77.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query78.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query79.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query8.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query80.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query81.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query82.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query83.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query84.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query85.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query86.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query87.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query88.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query89.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query9.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query90.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query91.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query92.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query93.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query94.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query95.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query96.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query97.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query98.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/ansi/query99.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query1.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query10.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query11.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query12.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query13.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query14.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query15.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query16.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query17.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query18.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query19.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query2.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query20.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query21.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query22.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query23.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query24.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query25.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query26.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query27.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query28.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query29.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query3.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query30.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query31.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query32.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query33.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query34.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query35.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query36.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query37.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query38.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query39.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query4.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query40.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query41.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query42.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query43.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query44.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query45.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query46.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query47.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query48.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query49.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query5.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query50.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query51.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query52.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query53.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query54.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query55.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query56.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query57.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query58.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query59.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query6.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query60.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query61.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query62.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query63.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query64.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query65.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query66.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query67.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query68.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query69.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query7.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query70.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query71.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query72.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query73.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query74.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query75.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query76.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query77.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query78.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query79.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query8.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query80.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query81.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query82.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query83.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query84.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query85.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query86.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query87.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query88.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query89.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query9.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query90.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query91.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query92.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query93.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query94.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query95.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query96.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query97.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query98.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/sparksql/query99.sql +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/queries/tpcds/test_tpcds.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/parsing/test_ast.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/sql/utils.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/superset_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/transpilation_test.py +0 -0
- {datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/tests/utils_test.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: datajunction-server
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.1a36
|
|
4
4
|
Summary: DataJunction server library for running to a DataJunction server
|
|
5
5
|
Project-URL: repository, https://github.com/DataJunction/dj
|
|
6
6
|
Author-email: DataJunction Authors <yian.shang@gmail.com>
|
|
@@ -3,7 +3,7 @@ Node namespace related APIs.
|
|
|
3
3
|
"""
|
|
4
4
|
import logging
|
|
5
5
|
from http import HTTPStatus
|
|
6
|
-
from typing import List, Optional
|
|
6
|
+
from typing import Dict, List, Optional
|
|
7
7
|
|
|
8
8
|
from fastapi import Depends, Query
|
|
9
9
|
from fastapi.responses import JSONResponse
|
|
@@ -24,6 +24,8 @@ from datajunction_server.internal.access.authorization import (
|
|
|
24
24
|
from datajunction_server.internal.namespaces import (
|
|
25
25
|
create_namespace,
|
|
26
26
|
get_nodes_in_namespace,
|
|
27
|
+
get_nodes_in_namespace_detailed,
|
|
28
|
+
get_project_config,
|
|
27
29
|
hard_delete_namespace,
|
|
28
30
|
mark_namespace_deactivated,
|
|
29
31
|
mark_namespace_restored,
|
|
@@ -300,3 +302,22 @@ def hard_delete_node_namespace(
|
|
|
300
302
|
"impact": impacts,
|
|
301
303
|
},
|
|
302
304
|
)
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
@router.get(
|
|
308
|
+
"/namespaces/{namespace}/export/",
|
|
309
|
+
name="Export a namespace as a single project's metadata",
|
|
310
|
+
)
|
|
311
|
+
def export_a_namespace(
|
|
312
|
+
namespace: str,
|
|
313
|
+
*,
|
|
314
|
+
session: Session = Depends(get_session),
|
|
315
|
+
) -> List[Dict]:
|
|
316
|
+
"""
|
|
317
|
+
Generates a zip of YAML files for the contents of the given namespace
|
|
318
|
+
as well as a project definition file.
|
|
319
|
+
"""
|
|
320
|
+
return get_project_config(
|
|
321
|
+
nodes=get_nodes_in_namespace_detailed(session, namespace),
|
|
322
|
+
namespace_requested=namespace,
|
|
323
|
+
)
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Helper methods for namespaces endpoints.
|
|
3
3
|
"""
|
|
4
|
+
import os
|
|
4
5
|
from datetime import datetime
|
|
5
|
-
from typing import Dict, List, Optional
|
|
6
|
+
from typing import Dict, List, Optional, Tuple
|
|
6
7
|
|
|
7
8
|
from sqlalchemy import or_
|
|
8
9
|
from sqlalchemy.sql.operators import is_
|
|
@@ -15,6 +16,7 @@ from datajunction_server.errors import (
|
|
|
15
16
|
DJInvalidInputException,
|
|
16
17
|
)
|
|
17
18
|
from datajunction_server.models import History, User
|
|
19
|
+
from datajunction_server.models.cube import CubeRevisionMetadata
|
|
18
20
|
from datajunction_server.models.history import ActivityType, EntityType
|
|
19
21
|
from datajunction_server.models.node import Node, NodeNamespace, NodeRevision, NodeType
|
|
20
22
|
from datajunction_server.typing import UTCDatetime
|
|
@@ -56,6 +58,27 @@ def get_nodes_in_namespace(
|
|
|
56
58
|
return session.exec(list_nodes_query).all()
|
|
57
59
|
|
|
58
60
|
|
|
61
|
+
def get_nodes_in_namespace_detailed(
|
|
62
|
+
session: Session,
|
|
63
|
+
namespace: str,
|
|
64
|
+
node_type: NodeType = None,
|
|
65
|
+
) -> List[Node]:
|
|
66
|
+
"""
|
|
67
|
+
Gets a list of node names (w/ full details) in the namespace
|
|
68
|
+
"""
|
|
69
|
+
get_node_namespace(session, namespace)
|
|
70
|
+
list_nodes_query = select(Node).where(
|
|
71
|
+
or_(
|
|
72
|
+
col(Node.namespace).like(f"{namespace}.%"), # pylint: disable=no-member
|
|
73
|
+
Node.namespace == namespace,
|
|
74
|
+
),
|
|
75
|
+
Node.current_version == NodeRevision.version,
|
|
76
|
+
Node.name == NodeRevision.name,
|
|
77
|
+
Node.type == node_type if node_type else True,
|
|
78
|
+
)
|
|
79
|
+
return session.exec(list_nodes_query).all()
|
|
80
|
+
|
|
81
|
+
|
|
59
82
|
def list_namespaces_in_hierarchy( # pylint: disable=too-many-arguments
|
|
60
83
|
session: Session,
|
|
61
84
|
namespace: str,
|
|
@@ -234,3 +257,175 @@ def hard_delete_namespace(
|
|
|
234
257
|
}
|
|
235
258
|
session.delete(_namespace)
|
|
236
259
|
return impacts
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
def _get_dir_and_filename(
|
|
263
|
+
node_name: str,
|
|
264
|
+
node_type: str,
|
|
265
|
+
namespace_requested: str,
|
|
266
|
+
) -> Tuple[str, str]:
|
|
267
|
+
"""
|
|
268
|
+
Get the directory and filename where a node name would be located
|
|
269
|
+
"""
|
|
270
|
+
dot_split = node_name.replace(f"{namespace_requested}.", "").split(".")
|
|
271
|
+
filename = f"{dot_split[-1]}.{node_type}.yaml"
|
|
272
|
+
directory = os.path.sep.join(dot_split[:-1])
|
|
273
|
+
return filename, directory
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
def _source_project_config(node: Node, namespace_requested: str) -> Dict:
|
|
277
|
+
"""
|
|
278
|
+
Returns a project config definition for a source node
|
|
279
|
+
"""
|
|
280
|
+
filename, directory = _get_dir_and_filename(
|
|
281
|
+
node_name=node.name,
|
|
282
|
+
node_type=node.type,
|
|
283
|
+
namespace_requested=namespace_requested,
|
|
284
|
+
)
|
|
285
|
+
return {
|
|
286
|
+
"filename": filename,
|
|
287
|
+
"directory": directory,
|
|
288
|
+
"description": node.current.description,
|
|
289
|
+
"table": f"{node.current.catalog}.{node.current.schema_}.{node.current.table}",
|
|
290
|
+
"columns": [
|
|
291
|
+
{"name": column.name, "type": str(column.type)}
|
|
292
|
+
for column in node.current.columns
|
|
293
|
+
],
|
|
294
|
+
"dimension_links": {
|
|
295
|
+
column.name: {"dimension": column.dimension.name}
|
|
296
|
+
for column in node.current.columns
|
|
297
|
+
if column.dimension
|
|
298
|
+
},
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
def _transform_project_config(node: Node, namespace_requested: str) -> Dict:
|
|
303
|
+
"""
|
|
304
|
+
Returns a project config definition for a transform node
|
|
305
|
+
"""
|
|
306
|
+
filename, directory = _get_dir_and_filename(
|
|
307
|
+
node_name=node.name,
|
|
308
|
+
node_type=node.type,
|
|
309
|
+
namespace_requested=namespace_requested,
|
|
310
|
+
)
|
|
311
|
+
return {
|
|
312
|
+
"filename": filename,
|
|
313
|
+
"directory": directory,
|
|
314
|
+
"description": node.current.description,
|
|
315
|
+
"query": node.current.query,
|
|
316
|
+
"dimension_links": {
|
|
317
|
+
column.name: {"dimension": column.dimension.name}
|
|
318
|
+
for column in node.current.columns
|
|
319
|
+
if column.dimension
|
|
320
|
+
},
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
def _dimension_project_config(node: Node, namespace_requested: str) -> Dict:
|
|
325
|
+
"""
|
|
326
|
+
Returns a project config definition for a dimension node
|
|
327
|
+
"""
|
|
328
|
+
filename, directory = _get_dir_and_filename(
|
|
329
|
+
node_name=node.name,
|
|
330
|
+
node_type=node.type,
|
|
331
|
+
namespace_requested=namespace_requested,
|
|
332
|
+
)
|
|
333
|
+
return {
|
|
334
|
+
"filename": filename,
|
|
335
|
+
"directory": directory,
|
|
336
|
+
"description": node.current.description,
|
|
337
|
+
"query": node.current.query,
|
|
338
|
+
"primary_key": [pk.name for pk in node.current.primary_key()],
|
|
339
|
+
"dimension_links": {
|
|
340
|
+
column.name: {"dimension": column.dimension.name}
|
|
341
|
+
for column in node.current.columns
|
|
342
|
+
if column.dimension
|
|
343
|
+
},
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
def _metric_project_config(node: Node, namespace_requested: str) -> Dict:
|
|
348
|
+
"""
|
|
349
|
+
Returns a project config definition for a metric node
|
|
350
|
+
"""
|
|
351
|
+
filename, directory = _get_dir_and_filename(
|
|
352
|
+
node_name=node.name,
|
|
353
|
+
node_type=node.type,
|
|
354
|
+
namespace_requested=namespace_requested,
|
|
355
|
+
)
|
|
356
|
+
return {
|
|
357
|
+
"filename": filename,
|
|
358
|
+
"directory": directory,
|
|
359
|
+
"description": node.current.description,
|
|
360
|
+
"query": node.current.query,
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
def _cube_project_config(node: Node, namespace_requested: str) -> Dict:
|
|
365
|
+
"""
|
|
366
|
+
Returns a project config definition for a cube node
|
|
367
|
+
"""
|
|
368
|
+
filename, directory = _get_dir_and_filename(
|
|
369
|
+
node_name=node.name,
|
|
370
|
+
node_type=NodeType.CUBE,
|
|
371
|
+
namespace_requested=namespace_requested,
|
|
372
|
+
)
|
|
373
|
+
cube_revision = CubeRevisionMetadata.from_orm(node.current)
|
|
374
|
+
metrics = []
|
|
375
|
+
dimensions = []
|
|
376
|
+
for element in cube_revision.cube_elements:
|
|
377
|
+
if element.type == NodeType.METRIC:
|
|
378
|
+
metrics.append(element.node_name)
|
|
379
|
+
else:
|
|
380
|
+
dimensions.append(f"{element.node_name}.{element.name}")
|
|
381
|
+
return {
|
|
382
|
+
"filename": filename,
|
|
383
|
+
"directory": directory,
|
|
384
|
+
"description": cube_revision.description,
|
|
385
|
+
"metrics": metrics,
|
|
386
|
+
"dimensions": dimensions,
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
def get_project_config(nodes: List[Node], namespace_requested: str) -> List[Dict]:
|
|
391
|
+
"""
|
|
392
|
+
Returns a project config definition
|
|
393
|
+
"""
|
|
394
|
+
project_components = []
|
|
395
|
+
for node in nodes:
|
|
396
|
+
if node.type == NodeType.SOURCE:
|
|
397
|
+
project_components.append(
|
|
398
|
+
_source_project_config(
|
|
399
|
+
node=node,
|
|
400
|
+
namespace_requested=namespace_requested,
|
|
401
|
+
),
|
|
402
|
+
)
|
|
403
|
+
elif node.type == NodeType.TRANSFORM:
|
|
404
|
+
project_components.append(
|
|
405
|
+
_transform_project_config(
|
|
406
|
+
node=node,
|
|
407
|
+
namespace_requested=namespace_requested,
|
|
408
|
+
),
|
|
409
|
+
)
|
|
410
|
+
elif node.type == NodeType.DIMENSION:
|
|
411
|
+
project_components.append(
|
|
412
|
+
_dimension_project_config(
|
|
413
|
+
node=node,
|
|
414
|
+
namespace_requested=namespace_requested,
|
|
415
|
+
),
|
|
416
|
+
)
|
|
417
|
+
elif node.type == NodeType.METRIC:
|
|
418
|
+
project_components.append(
|
|
419
|
+
_metric_project_config(
|
|
420
|
+
node=node,
|
|
421
|
+
namespace_requested=namespace_requested,
|
|
422
|
+
),
|
|
423
|
+
)
|
|
424
|
+
else:
|
|
425
|
+
project_components.append(
|
|
426
|
+
_cube_project_config(
|
|
427
|
+
node=node,
|
|
428
|
+
namespace_requested=namespace_requested,
|
|
429
|
+
),
|
|
430
|
+
)
|
|
431
|
+
return project_components
|
{datajunction_server-0.0.1a35.dev2 → datajunction_server-0.0.1a36}/datajunction_server/sql/dag.py
RENAMED
|
@@ -73,6 +73,10 @@ def get_dimensions(
|
|
|
73
73
|
dimensions.append(
|
|
74
74
|
DimensionAttributeOutput(
|
|
75
75
|
name=f"{current_node.name}.{column.name}",
|
|
76
|
+
node_name=current_node.current.name,
|
|
77
|
+
node_display_name=current_node.current.display_name,
|
|
78
|
+
is_primary_key=column.name
|
|
79
|
+
in {pk.name for pk in current_node.current.primary_key()},
|
|
76
80
|
type=column.type,
|
|
77
81
|
path=join_path_str,
|
|
78
82
|
),
|
|
Binary file
|