datajunction-query 0.0.1a30__tar.gz → 0.0.1a32__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.
Potentially problematic release.
This version of datajunction-query might be problematic. Click here for more details.
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/.pylintrc +2 -1
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/PKG-INFO +3 -2
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/__about__.py +1 -1
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/engine.py +25 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/models/engine.py +1 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/pdm.lock +251 -48
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/pyproject.toml +2 -1
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/api/queries_test.py +72 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/conftest.py +3 -1
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/.coveragerc +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/.flake8 +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/.gitignore +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/.isort.cfg +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/.pre-commit-config.yaml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/.readthedocs.yml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/AUTHORS.rst +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/CODE_OF_CONDUCT.md +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/Dockerfile +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/LICENSE.txt +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/Makefile +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/README.rst +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/alembic/README +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/alembic/env.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/alembic/script.py.mako +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/alembic/versions/2023_02_28_0541-a7e11a2438b4_initial_migration.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/alembic/versions/2023_10_09_1858-f3407a1ec625_add_type_and_extra_para_ms_field_for_.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/alembic.ini +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/config.djqs.yml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/config.jsonschema +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/__init__.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/api/__init__.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/api/catalogs.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/api/engines.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/api/helpers.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/api/main.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/api/queries.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/api/tables.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/config.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/constants.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/exceptions.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/fixes.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/models/__init__.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/models/catalog.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/models/query.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/models/table.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/typing.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/djqs/utils.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/cockroachdb/cockroachdb_examples_init.sql +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/cockroachdb/cockroachdb_metadata_init.sql +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/cockroachdb/steam-games.csv +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/cockroachdb/steam-hours-played.csv +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/default.duckdb +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/druid_environment +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/druid_init.sh +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/druid_spec.json +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/duckdb.sql +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/duckdb_load.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/postgres_init.roads.sql +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/postgres_init.sql +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/spark.roads.sql +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/spark_load_roads.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/wait-for +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/openapi.json +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/scripts/generate-openapi.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/setup.cfg +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/__init__.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/api/__init__.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/api/catalogs_test.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/api/engines_test.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/api/table_test.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/config.djqs.yml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/databases/druid.yaml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/databases/gsheets.yaml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/databases/postgres.yaml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/nodes/core/comments.yaml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/nodes/core/dim_users.yaml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/nodes/core/num_comments.yaml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/nodes/core/users.yaml +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/exceptions_test.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/contractors.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/dispatchers.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/hard_hat_state.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/hard_hats.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/municipality.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/municipality_municipality_type.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/municipality_type.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/repair_order_details.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/repair_orders.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/repair_type.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/us_region.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/us_states.parquet +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/utils_test.py +0 -0
- {datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: datajunction-query
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.1a32
|
|
4
4
|
Summary: OSS Implementation of a DataJunction Query Service
|
|
5
5
|
Project-URL: repository, https://github.com/DataJunction/dj
|
|
6
6
|
Author-email: DataJunction Authors <roberto@dealmeida.net>
|
|
@@ -22,10 +22,11 @@ Requires-Dist: duckdb==0.8.1
|
|
|
22
22
|
Requires-Dist: fastapi>=0.79.0
|
|
23
23
|
Requires-Dist: importlib-metadata
|
|
24
24
|
Requires-Dist: msgpack>=1.0.3
|
|
25
|
-
Requires-Dist: pyspark==3.3.2
|
|
26
25
|
Requires-Dist: python-dotenv==0.19.2
|
|
26
|
+
Requires-Dist: pyyaml==5.3.1
|
|
27
27
|
Requires-Dist: requests<=2.29.0,>=2.28.2
|
|
28
28
|
Requires-Dist: rich>=10.16.2
|
|
29
|
+
Requires-Dist: snowflake-connector-python>=3.3.1
|
|
29
30
|
Requires-Dist: sqlalchemy-utils>=0.37.7
|
|
30
31
|
Requires-Dist: sqlalchemy<2.0.0,>=1.4.41
|
|
31
32
|
Requires-Dist: sqlmodel<1.0.0,>=0.0.8
|
|
@@ -3,10 +3,12 @@ Query related functions.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
import logging
|
|
6
|
+
import os
|
|
6
7
|
from datetime import datetime, timezone
|
|
7
8
|
from typing import List, Tuple
|
|
8
9
|
|
|
9
10
|
import duckdb
|
|
11
|
+
import snowflake.connector
|
|
10
12
|
import sqlparse
|
|
11
13
|
from sqlalchemy import create_engine, text
|
|
12
14
|
from sqlmodel import Session, select
|
|
@@ -94,6 +96,15 @@ def run_query(
|
|
|
94
96
|
)
|
|
95
97
|
)
|
|
96
98
|
return run_duckdb_query(query, conn)
|
|
99
|
+
if engine.type == EngineType.SNOWFLAKE:
|
|
100
|
+
conn = snowflake.connector.connect(
|
|
101
|
+
**engine.extra_params,
|
|
102
|
+
password=os.getenv("SNOWSQL_PWD"),
|
|
103
|
+
)
|
|
104
|
+
cur = conn.cursor()
|
|
105
|
+
|
|
106
|
+
return run_snowflake_query(query, cur)
|
|
107
|
+
|
|
97
108
|
sqla_engine = create_engine(engine.uri, **catalog.extra_params)
|
|
98
109
|
connection = sqla_engine.connect()
|
|
99
110
|
|
|
@@ -128,6 +139,20 @@ def run_duckdb_query(
|
|
|
128
139
|
return output
|
|
129
140
|
|
|
130
141
|
|
|
142
|
+
def run_snowflake_query(
|
|
143
|
+
query: Query,
|
|
144
|
+
cur: snowflake.connector.cursor.SnowflakeCursor,
|
|
145
|
+
) -> List[Tuple[str, List[ColumnMetadata], Stream]]:
|
|
146
|
+
"""
|
|
147
|
+
Run a query against a snowflake warehouse
|
|
148
|
+
"""
|
|
149
|
+
output: List[Tuple[str, List[ColumnMetadata], Stream]] = []
|
|
150
|
+
rows = cur.execute(query.submitted_query).fetchall()
|
|
151
|
+
columns: List[ColumnMetadata] = []
|
|
152
|
+
output.append((query.submitted_query, columns, rows))
|
|
153
|
+
return output
|
|
154
|
+
|
|
155
|
+
|
|
131
156
|
def process_query(
|
|
132
157
|
session: Session,
|
|
133
158
|
settings: Settings,
|
|
@@ -6,7 +6,7 @@ groups = ["default", "test", "uvicorn"]
|
|
|
6
6
|
cross_platform = true
|
|
7
7
|
static_urls = false
|
|
8
8
|
lock_version = "4.3"
|
|
9
|
-
content_hash = "sha256:
|
|
9
|
+
content_hash = "sha256:7fe9a0f12a679c8f55146cc8202db0387dc5c96ea0ecbd5f668d4ab1666ef9ea"
|
|
10
10
|
|
|
11
11
|
[[package]]
|
|
12
12
|
name = "accept-types"
|
|
@@ -49,6 +49,15 @@ files = [
|
|
|
49
49
|
{file = "anyio-3.7.1.tar.gz", hash = "sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780"},
|
|
50
50
|
]
|
|
51
51
|
|
|
52
|
+
[[package]]
|
|
53
|
+
name = "asn1crypto"
|
|
54
|
+
version = "1.5.1"
|
|
55
|
+
summary = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP"
|
|
56
|
+
files = [
|
|
57
|
+
{file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"},
|
|
58
|
+
{file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"},
|
|
59
|
+
]
|
|
60
|
+
|
|
52
61
|
[[package]]
|
|
53
62
|
name = "astroid"
|
|
54
63
|
version = "2.15.6"
|
|
@@ -101,6 +110,69 @@ files = [
|
|
|
101
110
|
{file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"},
|
|
102
111
|
]
|
|
103
112
|
|
|
113
|
+
[[package]]
|
|
114
|
+
name = "cffi"
|
|
115
|
+
version = "1.16.0"
|
|
116
|
+
requires_python = ">=3.8"
|
|
117
|
+
summary = "Foreign Function Interface for Python calling C code."
|
|
118
|
+
dependencies = [
|
|
119
|
+
"pycparser",
|
|
120
|
+
]
|
|
121
|
+
files = [
|
|
122
|
+
{file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"},
|
|
123
|
+
{file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"},
|
|
124
|
+
{file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"},
|
|
125
|
+
{file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"},
|
|
126
|
+
{file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"},
|
|
127
|
+
{file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"},
|
|
128
|
+
{file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"},
|
|
129
|
+
{file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"},
|
|
130
|
+
{file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"},
|
|
131
|
+
{file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"},
|
|
132
|
+
{file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"},
|
|
133
|
+
{file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"},
|
|
134
|
+
{file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"},
|
|
135
|
+
{file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"},
|
|
136
|
+
{file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"},
|
|
137
|
+
{file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"},
|
|
138
|
+
{file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"},
|
|
139
|
+
{file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"},
|
|
140
|
+
{file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"},
|
|
141
|
+
{file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"},
|
|
142
|
+
{file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"},
|
|
143
|
+
{file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"},
|
|
144
|
+
{file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"},
|
|
145
|
+
{file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"},
|
|
146
|
+
{file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"},
|
|
147
|
+
{file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"},
|
|
148
|
+
{file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"},
|
|
149
|
+
{file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"},
|
|
150
|
+
{file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"},
|
|
151
|
+
{file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"},
|
|
152
|
+
{file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"},
|
|
153
|
+
{file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"},
|
|
154
|
+
{file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"},
|
|
155
|
+
{file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"},
|
|
156
|
+
{file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"},
|
|
157
|
+
{file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"},
|
|
158
|
+
{file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"},
|
|
159
|
+
{file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"},
|
|
160
|
+
{file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"},
|
|
161
|
+
{file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"},
|
|
162
|
+
{file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"},
|
|
163
|
+
{file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"},
|
|
164
|
+
{file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"},
|
|
165
|
+
{file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"},
|
|
166
|
+
{file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"},
|
|
167
|
+
{file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"},
|
|
168
|
+
{file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"},
|
|
169
|
+
{file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"},
|
|
170
|
+
{file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"},
|
|
171
|
+
{file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"},
|
|
172
|
+
{file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"},
|
|
173
|
+
{file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"},
|
|
174
|
+
]
|
|
175
|
+
|
|
104
176
|
[[package]]
|
|
105
177
|
name = "cfgv"
|
|
106
178
|
version = "3.3.1"
|
|
@@ -337,6 +409,40 @@ files = [
|
|
|
337
409
|
{file = "coverage-7.2.7.tar.gz", hash = "sha256:924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59"},
|
|
338
410
|
]
|
|
339
411
|
|
|
412
|
+
[[package]]
|
|
413
|
+
name = "cryptography"
|
|
414
|
+
version = "41.0.4"
|
|
415
|
+
requires_python = ">=3.7"
|
|
416
|
+
summary = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
|
417
|
+
dependencies = [
|
|
418
|
+
"cffi>=1.12",
|
|
419
|
+
]
|
|
420
|
+
files = [
|
|
421
|
+
{file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839"},
|
|
422
|
+
{file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f"},
|
|
423
|
+
{file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714"},
|
|
424
|
+
{file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb"},
|
|
425
|
+
{file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13"},
|
|
426
|
+
{file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143"},
|
|
427
|
+
{file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397"},
|
|
428
|
+
{file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860"},
|
|
429
|
+
{file = "cryptography-41.0.4-cp37-abi3-win32.whl", hash = "sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd"},
|
|
430
|
+
{file = "cryptography-41.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d"},
|
|
431
|
+
{file = "cryptography-41.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67"},
|
|
432
|
+
{file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e"},
|
|
433
|
+
{file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829"},
|
|
434
|
+
{file = "cryptography-41.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca"},
|
|
435
|
+
{file = "cryptography-41.0.4-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d"},
|
|
436
|
+
{file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac"},
|
|
437
|
+
{file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9"},
|
|
438
|
+
{file = "cryptography-41.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"},
|
|
439
|
+
{file = "cryptography-41.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91"},
|
|
440
|
+
{file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8"},
|
|
441
|
+
{file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6"},
|
|
442
|
+
{file = "cryptography-41.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311"},
|
|
443
|
+
{file = "cryptography-41.0.4.tar.gz", hash = "sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a"},
|
|
444
|
+
]
|
|
445
|
+
|
|
340
446
|
[[package]]
|
|
341
447
|
name = "dill"
|
|
342
448
|
version = "0.3.6"
|
|
@@ -863,6 +969,18 @@ files = [
|
|
|
863
969
|
{file = "nodeenv-1.8.0.tar.gz", hash = "sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2"},
|
|
864
970
|
]
|
|
865
971
|
|
|
972
|
+
[[package]]
|
|
973
|
+
name = "oscrypto"
|
|
974
|
+
version = "1.3.0"
|
|
975
|
+
summary = "TLS (SSL) sockets, key generation, encryption, decryption, signing, verification and KDFs using the OS crypto libraries. Does not require a compiler, and relies on the OS for patching. Works on Windows, OS X and Linux/BSD."
|
|
976
|
+
dependencies = [
|
|
977
|
+
"asn1crypto>=1.5.1",
|
|
978
|
+
]
|
|
979
|
+
files = [
|
|
980
|
+
{file = "oscrypto-1.3.0-py2.py3-none-any.whl", hash = "sha256:2b2f1d2d42ec152ca90ccb5682f3e051fb55986e1b170ebde472b133713e7085"},
|
|
981
|
+
{file = "oscrypto-1.3.0.tar.gz", hash = "sha256:6f5fef59cb5b3708321db7cca56aed8ad7e662853351e7991fcf60ec606d47a4"},
|
|
982
|
+
]
|
|
983
|
+
|
|
866
984
|
[[package]]
|
|
867
985
|
name = "packaging"
|
|
868
986
|
version = "23.1"
|
|
@@ -939,12 +1057,42 @@ files = [
|
|
|
939
1057
|
]
|
|
940
1058
|
|
|
941
1059
|
[[package]]
|
|
942
|
-
name = "
|
|
943
|
-
version = "
|
|
944
|
-
|
|
1060
|
+
name = "pycparser"
|
|
1061
|
+
version = "2.21"
|
|
1062
|
+
requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
|
1063
|
+
summary = "C parser in Python"
|
|
1064
|
+
files = [
|
|
1065
|
+
{file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
|
|
1066
|
+
{file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
|
|
1067
|
+
]
|
|
1068
|
+
|
|
1069
|
+
[[package]]
|
|
1070
|
+
name = "pycryptodomex"
|
|
1071
|
+
version = "3.19.0"
|
|
1072
|
+
requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
|
1073
|
+
summary = "Cryptographic library for Python"
|
|
945
1074
|
files = [
|
|
946
|
-
{file = "
|
|
947
|
-
{file = "
|
|
1075
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:a77b79852175064c822b047fee7cf5a1f434f06ad075cc9986aa1c19a0c53eb0"},
|
|
1076
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:5b883e1439ab63af976656446fb4839d566bb096f15fc3c06b5a99cde4927188"},
|
|
1077
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3866d68e2fc345162b1b9b83ef80686acfe5cec0d134337f3b03950a0a8bf56"},
|
|
1078
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c74eb1f73f788facece7979ce91594dc177e1a9b5d5e3e64697dd58299e5cb4d"},
|
|
1079
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cb51096a6a8d400724104db8a7e4f2206041a1f23e58924aa3d8d96bcb48338"},
|
|
1080
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a588a1cb7781da9d5e1c84affd98c32aff9c89771eac8eaa659d2760666f7139"},
|
|
1081
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:d4dd3b381ff5a5907a3eb98f5f6d32c64d319a840278ceea1dcfcc65063856f3"},
|
|
1082
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:263de9a96d2fcbc9f5bd3a279f14ea0d5f072adb68ebd324987576ec25da084d"},
|
|
1083
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-win32.whl", hash = "sha256:67c8eb79ab33d0fbcb56842992298ddb56eb6505a72369c20f60bc1d2b6fb002"},
|
|
1084
|
+
{file = "pycryptodomex-3.19.0-cp35-abi3-win_amd64.whl", hash = "sha256:09c9401dc06fb3d94cb1ec23b4ea067a25d1f4c6b7b118ff5631d0b5daaab3cc"},
|
|
1085
|
+
{file = "pycryptodomex-3.19.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:edbe083c299835de7e02c8aa0885cb904a75087d35e7bab75ebe5ed336e8c3e2"},
|
|
1086
|
+
{file = "pycryptodomex-3.19.0-pp27-pypy_73-win32.whl", hash = "sha256:136b284e9246b4ccf4f752d435c80f2c44fc2321c198505de1d43a95a3453b3c"},
|
|
1087
|
+
{file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5d73e9fa3fe830e7b6b42afc49d8329b07a049a47d12e0ef9225f2fd220f19b2"},
|
|
1088
|
+
{file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b2f1982c5bc311f0aab8c293524b861b485d76f7c9ab2c3ac9a25b6f7655975"},
|
|
1089
|
+
{file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfb040b5dda1dff1e197d2ef71927bd6b8bfcb9793bc4dfe0bb6df1e691eaacb"},
|
|
1090
|
+
{file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:800a2b05cfb83654df80266692f7092eeefe2a314fa7901dcefab255934faeec"},
|
|
1091
|
+
{file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c01678aee8ac0c1a461cbc38ad496f953f9efcb1fa19f5637cbeba7544792a53"},
|
|
1092
|
+
{file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2126bc54beccbede6eade00e647106b4f4c21e5201d2b0a73e9e816a01c50905"},
|
|
1093
|
+
{file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b801216c48c0886742abf286a9a6b117e248ca144d8ceec1f931ce2dd0c9cb40"},
|
|
1094
|
+
{file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:50cb18d4dd87571006fd2447ccec85e6cec0136632a550aa29226ba075c80644"},
|
|
1095
|
+
{file = "pycryptodomex-3.19.0.tar.gz", hash = "sha256:af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6"},
|
|
948
1096
|
]
|
|
949
1097
|
|
|
950
1098
|
[[package]]
|
|
@@ -1019,6 +1167,16 @@ files = [
|
|
|
1019
1167
|
{file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"},
|
|
1020
1168
|
]
|
|
1021
1169
|
|
|
1170
|
+
[[package]]
|
|
1171
|
+
name = "pyjwt"
|
|
1172
|
+
version = "2.8.0"
|
|
1173
|
+
requires_python = ">=3.7"
|
|
1174
|
+
summary = "JSON Web Token implementation in Python"
|
|
1175
|
+
files = [
|
|
1176
|
+
{file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"},
|
|
1177
|
+
{file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"},
|
|
1178
|
+
]
|
|
1179
|
+
|
|
1022
1180
|
[[package]]
|
|
1023
1181
|
name = "pylint"
|
|
1024
1182
|
version = "2.17.4"
|
|
@@ -1042,28 +1200,29 @@ files = [
|
|
|
1042
1200
|
]
|
|
1043
1201
|
|
|
1044
1202
|
[[package]]
|
|
1045
|
-
name = "
|
|
1046
|
-
version = "
|
|
1047
|
-
requires_python = ">=3.
|
|
1048
|
-
summary = "
|
|
1203
|
+
name = "pyopenssl"
|
|
1204
|
+
version = "23.2.0"
|
|
1205
|
+
requires_python = ">=3.6"
|
|
1206
|
+
summary = "Python wrapper module around the OpenSSL library"
|
|
1049
1207
|
dependencies = [
|
|
1050
|
-
"
|
|
1208
|
+
"cryptography!=40.0.0,!=40.0.1,<42,>=38.0.0",
|
|
1051
1209
|
]
|
|
1052
1210
|
files = [
|
|
1053
|
-
{file = "
|
|
1054
|
-
{file = "
|
|
1211
|
+
{file = "pyOpenSSL-23.2.0-py3-none-any.whl", hash = "sha256:24f0dc5227396b3e831f4c7f602b950a5e9833d292c8e4a2e06b709292806ae2"},
|
|
1212
|
+
{file = "pyOpenSSL-23.2.0.tar.gz", hash = "sha256:276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac"},
|
|
1055
1213
|
]
|
|
1056
1214
|
|
|
1057
1215
|
[[package]]
|
|
1058
|
-
name = "
|
|
1059
|
-
version = "
|
|
1216
|
+
name = "pyproject-hooks"
|
|
1217
|
+
version = "1.0.0"
|
|
1060
1218
|
requires_python = ">=3.7"
|
|
1061
|
-
summary = "
|
|
1219
|
+
summary = "Wrappers to call pyproject.toml-based build backend hooks."
|
|
1062
1220
|
dependencies = [
|
|
1063
|
-
"
|
|
1221
|
+
"tomli>=1.1.0; python_version < \"3.11\"",
|
|
1064
1222
|
]
|
|
1065
1223
|
files = [
|
|
1066
|
-
{file = "
|
|
1224
|
+
{file = "pyproject_hooks-1.0.0-py3-none-any.whl", hash = "sha256:283c11acd6b928d2f6a7c73fa0d01cb2bdc5f07c57a2eeb6e83d5e56b97976f8"},
|
|
1225
|
+
{file = "pyproject_hooks-1.0.0.tar.gz", hash = "sha256:f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5"},
|
|
1067
1226
|
]
|
|
1068
1227
|
|
|
1069
1228
|
[[package]]
|
|
@@ -1157,40 +1316,25 @@ files = [
|
|
|
1157
1316
|
{file = "python_dotenv-0.19.2-py2.py3-none-any.whl", hash = "sha256:32b2bdc1873fd3a3c346da1c6db83d0053c3c62f28f1f38516070c4c8971b1d3"},
|
|
1158
1317
|
]
|
|
1159
1318
|
|
|
1319
|
+
[[package]]
|
|
1320
|
+
name = "pytz"
|
|
1321
|
+
version = "2023.3.post1"
|
|
1322
|
+
summary = "World timezone definitions, modern and historical"
|
|
1323
|
+
files = [
|
|
1324
|
+
{file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"},
|
|
1325
|
+
{file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"},
|
|
1326
|
+
]
|
|
1327
|
+
|
|
1160
1328
|
[[package]]
|
|
1161
1329
|
name = "pyyaml"
|
|
1162
|
-
version = "
|
|
1163
|
-
requires_python = ">=3.6"
|
|
1330
|
+
version = "5.3.1"
|
|
1164
1331
|
summary = "YAML parser and emitter for Python"
|
|
1165
1332
|
files = [
|
|
1166
|
-
{file = "PyYAML-
|
|
1167
|
-
{file = "PyYAML-
|
|
1168
|
-
{file = "PyYAML-
|
|
1169
|
-
{file = "PyYAML-
|
|
1170
|
-
{file = "PyYAML-
|
|
1171
|
-
{file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"},
|
|
1172
|
-
{file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"},
|
|
1173
|
-
{file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"},
|
|
1174
|
-
{file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"},
|
|
1175
|
-
{file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"},
|
|
1176
|
-
{file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"},
|
|
1177
|
-
{file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"},
|
|
1178
|
-
{file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"},
|
|
1179
|
-
{file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"},
|
|
1180
|
-
{file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"},
|
|
1181
|
-
{file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"},
|
|
1182
|
-
{file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"},
|
|
1183
|
-
{file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"},
|
|
1184
|
-
{file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"},
|
|
1185
|
-
{file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"},
|
|
1186
|
-
{file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"},
|
|
1187
|
-
{file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"},
|
|
1188
|
-
{file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"},
|
|
1189
|
-
{file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"},
|
|
1190
|
-
{file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"},
|
|
1191
|
-
{file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"},
|
|
1192
|
-
{file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
|
|
1193
|
-
{file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
|
|
1333
|
+
{file = "PyYAML-5.3.1-cp38-cp38-win32.whl", hash = "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97"},
|
|
1334
|
+
{file = "PyYAML-5.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee"},
|
|
1335
|
+
{file = "PyYAML-5.3.1-cp39-cp39-win32.whl", hash = "sha256:ad9c67312c84def58f3c04504727ca879cb0013b2517c85a9a253f0cb6380c0a"},
|
|
1336
|
+
{file = "PyYAML-5.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:6034f55dab5fea9e53f436aa68fa3ace2634918e8b5994d82f3621c04ff5ed2e"},
|
|
1337
|
+
{file = "PyYAML-5.3.1.tar.gz", hash = "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d"},
|
|
1194
1338
|
]
|
|
1195
1339
|
|
|
1196
1340
|
[[package]]
|
|
@@ -1267,6 +1411,65 @@ files = [
|
|
|
1267
1411
|
{file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"},
|
|
1268
1412
|
]
|
|
1269
1413
|
|
|
1414
|
+
[[package]]
|
|
1415
|
+
name = "snowflake-connector-python"
|
|
1416
|
+
version = "3.3.1"
|
|
1417
|
+
requires_python = ">=3.8"
|
|
1418
|
+
summary = "Snowflake Connector for Python"
|
|
1419
|
+
dependencies = [
|
|
1420
|
+
"asn1crypto<2.0.0,>0.24.0",
|
|
1421
|
+
"certifi>=2017.4.17",
|
|
1422
|
+
"cffi<2.0.0,>=1.9",
|
|
1423
|
+
"charset-normalizer<4,>=2",
|
|
1424
|
+
"cryptography<42.0.0,>=3.1.0",
|
|
1425
|
+
"filelock<4,>=3.5",
|
|
1426
|
+
"idna<4,>=2.5",
|
|
1427
|
+
"oscrypto<2.0.0",
|
|
1428
|
+
"packaging",
|
|
1429
|
+
"platformdirs<4.0.0,>=2.6.0",
|
|
1430
|
+
"pyOpenSSL<24.0.0,>=16.2.0",
|
|
1431
|
+
"pycryptodomex!=3.5.0,<4.0.0,>=3.2",
|
|
1432
|
+
"pyjwt<3.0.0",
|
|
1433
|
+
"pytz",
|
|
1434
|
+
"requests<3.0.0",
|
|
1435
|
+
"sortedcontainers>=2.4.0",
|
|
1436
|
+
"tomlkit",
|
|
1437
|
+
"typing-extensions<5,>=4.3",
|
|
1438
|
+
"urllib3<1.27,>=1.21.1",
|
|
1439
|
+
]
|
|
1440
|
+
files = [
|
|
1441
|
+
{file = "snowflake-connector-python-3.3.1.tar.gz", hash = "sha256:bb66722bd64abcd76a6ab06a6423d674bcb729f9ba391056977ef92f383aadb8"},
|
|
1442
|
+
{file = "snowflake_connector_python-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ca0b54fb08a8aac302b273432537c542b0defa0a362ed20671c56825511ddd94"},
|
|
1443
|
+
{file = "snowflake_connector_python-3.3.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:c46c516c81ccc85bbb7fddbcf4f341dd6f73f06151d780e25a9b414df1efbcb0"},
|
|
1444
|
+
{file = "snowflake_connector_python-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:340cc62a700165cc0024229d43dfcb81bc1cf2fc482f31fb264d48a5b28195a4"},
|
|
1445
|
+
{file = "snowflake_connector_python-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5db23975ebafe6965bc31414ad508f0bf5f2073159936956f2748f1bb1baac5e"},
|
|
1446
|
+
{file = "snowflake_connector_python-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:d92e6fe0b05f10b8b072f55ac5c4862ed9f686bac2411cb10eaca602fc54c976"},
|
|
1447
|
+
{file = "snowflake_connector_python-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3c75d151bfad1a1f904f24f584821d23c6c8af6f190bbbd7ee5e51df48bd146b"},
|
|
1448
|
+
{file = "snowflake_connector_python-3.3.1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:1304ae5e0a4554e338d3a75c6755ca4a83da12bc223267d1c0fa184e30382cad"},
|
|
1449
|
+
{file = "snowflake_connector_python-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6dcd405b602d20bcd6742510c8addf1fda3a1f6afa3b80c1860f88541c9403f"},
|
|
1450
|
+
{file = "snowflake_connector_python-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:245bd5748c5e9b7c89d53ddd14d9da5fd65e5c4894a2f0cad71bc524b1ffb823"},
|
|
1451
|
+
{file = "snowflake_connector_python-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:2e483c36796eccbd982dad059c01554627cdd82bb18629ff5de51de8fc762dbb"},
|
|
1452
|
+
{file = "snowflake_connector_python-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2c9899452b1c1f529ddc6bd94a50ac23d00cd2e48805262d86c2ec54c141bcae"},
|
|
1453
|
+
{file = "snowflake_connector_python-3.3.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a0522bc2db9b45f95488dd895c01059d33e64538e74fa7bcc77322d6a335140c"},
|
|
1454
|
+
{file = "snowflake_connector_python-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:881f47cf80f6cf33f503af816c94bbee26ff0615ed3af398b09973ea9907fce9"},
|
|
1455
|
+
{file = "snowflake_connector_python-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfc3cf610bd0c0bf1b6e2637c7b354ae8dd6fb706b76f583a052416f44d9081f"},
|
|
1456
|
+
{file = "snowflake_connector_python-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:8dad9050dcda5c7a489e03fd0e000a2b3396e07b5fde88b2a24cec521a62a699"},
|
|
1457
|
+
{file = "snowflake_connector_python-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c2941db25db16be516c185cc6ddabf0fb76212211c5fd2cf617f5899af5d7dc5"},
|
|
1458
|
+
{file = "snowflake_connector_python-3.3.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:d2a69ffb94a2fade8da6ebd0751d55ae23f35af8249e5e29d09a1feab08bb290"},
|
|
1459
|
+
{file = "snowflake_connector_python-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cde2473343500d522efda7257bf95a6de6d9753b73cc4c0152070f7312e52714"},
|
|
1460
|
+
{file = "snowflake_connector_python-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:709685da4ef09efea716f066dd606914e8c445c0abbc401ef5e21dc8bc53f515"},
|
|
1461
|
+
{file = "snowflake_connector_python-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:127958527cc6fe1621de71a2f06a830412e76a93d1df2524463a3be858b490ff"},
|
|
1462
|
+
]
|
|
1463
|
+
|
|
1464
|
+
[[package]]
|
|
1465
|
+
name = "sortedcontainers"
|
|
1466
|
+
version = "2.4.0"
|
|
1467
|
+
summary = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set"
|
|
1468
|
+
files = [
|
|
1469
|
+
{file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"},
|
|
1470
|
+
{file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"},
|
|
1471
|
+
]
|
|
1472
|
+
|
|
1270
1473
|
[[package]]
|
|
1271
1474
|
name = "sqlalchemy"
|
|
1272
1475
|
version = "1.4.41"
|
|
@@ -27,8 +27,9 @@ dependencies = [
|
|
|
27
27
|
"sqlalchemy<2.0.0,>=1.4.41",
|
|
28
28
|
"sqlmodel<1.0.0,>=0.0.8",
|
|
29
29
|
"sqlparse<1.0.0,>=0.4.3",
|
|
30
|
-
"pyspark==3.3.2",
|
|
31
30
|
"toml>=0.10.2",
|
|
31
|
+
"snowflake-connector-python>=3.3.1",
|
|
32
|
+
"pyyaml==5.3.1",
|
|
32
33
|
]
|
|
33
34
|
requires-python = ">=3.8,<4.0"
|
|
34
35
|
readme = "README.rst"
|
|
@@ -593,3 +593,75 @@ def test_submit_duckdb_query(
|
|
|
593
593
|
assert data["results"][0]["columns"] == []
|
|
594
594
|
assert data["results"][0]["rows"] == [[1, "a"]]
|
|
595
595
|
assert data["errors"] == []
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
@mock.patch("djqs.engine.snowflake.connector")
|
|
599
|
+
def test_submit_snowflake_query(
|
|
600
|
+
mock_snowflake_connect,
|
|
601
|
+
session: Session,
|
|
602
|
+
client: TestClient,
|
|
603
|
+
) -> None:
|
|
604
|
+
"""
|
|
605
|
+
Test submitting a Snowflake query
|
|
606
|
+
"""
|
|
607
|
+
mock_exec = mock.MagicMock()
|
|
608
|
+
mock_exec.fetchall.return_value = [[1, "a"]]
|
|
609
|
+
mock_cur = mock.MagicMock()
|
|
610
|
+
mock_cur.execute.return_value = mock_exec
|
|
611
|
+
mock_conn = mock.MagicMock()
|
|
612
|
+
mock_conn.cursor.return_value = mock_cur
|
|
613
|
+
mock_snowflake_connect.connect.return_value = mock_conn
|
|
614
|
+
|
|
615
|
+
engine = Engine(
|
|
616
|
+
name="test_snowflake_engine",
|
|
617
|
+
type=EngineType.SNOWFLAKE,
|
|
618
|
+
version="7.37",
|
|
619
|
+
uri="snowflake:///:memory:",
|
|
620
|
+
extra_params={"user": "foo", "account": "bar", "database": "foobar"},
|
|
621
|
+
)
|
|
622
|
+
catalog = Catalog(name="test_catalog", engines=[engine])
|
|
623
|
+
session.add(catalog)
|
|
624
|
+
session.commit()
|
|
625
|
+
session.refresh(catalog)
|
|
626
|
+
|
|
627
|
+
query_create = QueryCreate(
|
|
628
|
+
catalog_name=catalog.name,
|
|
629
|
+
engine_name=engine.name,
|
|
630
|
+
engine_version=engine.version,
|
|
631
|
+
submitted_query="SELECT 1 AS int_col, 'a' as str_col",
|
|
632
|
+
)
|
|
633
|
+
payload = query_create.json(by_alias=True)
|
|
634
|
+
assert payload == json.dumps(
|
|
635
|
+
{
|
|
636
|
+
"catalog_name": "test_catalog",
|
|
637
|
+
"engine_name": "test_snowflake_engine",
|
|
638
|
+
"engine_version": "7.37",
|
|
639
|
+
"submitted_query": "SELECT 1 AS int_col, 'a' as str_col",
|
|
640
|
+
"async_": False,
|
|
641
|
+
},
|
|
642
|
+
)
|
|
643
|
+
|
|
644
|
+
with freeze_time("2021-01-01T00:00:00Z"):
|
|
645
|
+
response = client.post(
|
|
646
|
+
"/queries/",
|
|
647
|
+
data=payload,
|
|
648
|
+
headers={"Content-Type": "application/json", "Accept": "application/json"},
|
|
649
|
+
)
|
|
650
|
+
data = response.json()
|
|
651
|
+
|
|
652
|
+
assert response.status_code == 200
|
|
653
|
+
assert data["catalog_name"] == "test_catalog"
|
|
654
|
+
assert data["engine_name"] == "test_snowflake_engine"
|
|
655
|
+
assert data["engine_version"] == "7.37"
|
|
656
|
+
assert data["submitted_query"] == "SELECT 1 AS int_col, 'a' as str_col"
|
|
657
|
+
assert data["executed_query"] == "SELECT 1 AS int_col, 'a' as str_col"
|
|
658
|
+
assert data["scheduled"] == "2021-01-01T00:00:00"
|
|
659
|
+
assert data["started"] == "2021-01-01T00:00:00"
|
|
660
|
+
assert data["finished"] == "2021-01-01T00:00:00"
|
|
661
|
+
assert data["state"] == "FINISHED"
|
|
662
|
+
assert data["progress"] == 1.0
|
|
663
|
+
assert len(data["results"]) == 1
|
|
664
|
+
assert data["results"][0]["sql"] == "SELECT 1 AS int_col, 'a' as str_col"
|
|
665
|
+
assert data["results"][0]["columns"] == []
|
|
666
|
+
assert data["results"][0]["rows"] == [[1, "a"]]
|
|
667
|
+
assert data["errors"] == []
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/docker/cockroachdb/steam-games.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/databases/druid.yaml
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/databases/gsheets.yaml
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/databases/postgres.yaml
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/nodes/core/comments.yaml
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/nodes/core/dim_users.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/configs/nodes/core/users.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/contractors.parquet
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/dispatchers.parquet
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/hard_hat_state.parquet
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/hard_hats.parquet
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/municipality.parquet
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/repair_orders.parquet
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/repair_type.parquet
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/us_region.parquet
RENAMED
|
File without changes
|
{datajunction_query-0.0.1a30 → datajunction_query-0.0.1a32}/tests/resources/us_states.parquet
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|