quollio-core 0.4.7__py3-none-any.whl → 0.4.10__py3-none-any.whl
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.
- quollio_core/__init__.py +1 -1
- quollio_core/bigquery.py +10 -1
- quollio_core/bricks.py +43 -12
- quollio_core/dbt_projects/databricks/models/quollio_lineage_table_level.yml +1 -1
- quollio_core/dbt_projects/redshift/dbt_project.yml +1 -1
- quollio_core/dbt_projects/redshift/macros/materialization/divided_view.sql +68 -29
- quollio_core/dbt_projects/redshift/models/quollio_stats_columns.sql +1 -2
- quollio_core/dbt_projects/snowflake/macros/materialization/divided_view.sql +50 -28
- quollio_core/dbt_projects/snowflake/models/quollio_stats_columns.sql +1 -2
- quollio_core/helper/core.py +4 -0
- quollio_core/helper/env_default.py +24 -1
- quollio_core/helper/log.py +17 -0
- quollio_core/profilers/databricks.py +11 -6
- quollio_core/profilers/redshift.py +41 -74
- quollio_core/profilers/snowflake.py +138 -169
- quollio_core/profilers/sqllineage.py +0 -1
- quollio_core/redshift.py +11 -13
- quollio_core/repository/databricks.py +3 -3
- quollio_core/repository/dbt.py +0 -1
- quollio_core/repository/qdc.py +0 -3
- quollio_core/repository/redshift.py +0 -1
- quollio_core/repository/snowflake.py +6 -1
- quollio_core/snowflake.py +25 -11
- {quollio_core-0.4.7.dist-info → quollio_core-0.4.10.dist-info}/METADATA +2 -2
- {quollio_core-0.4.7.dist-info → quollio_core-0.4.10.dist-info}/RECORD +27 -26
- {quollio_core-0.4.7.dist-info → quollio_core-0.4.10.dist-info}/LICENSE +0 -0
- {quollio_core-0.4.7.dist-info → quollio_core-0.4.10.dist-info}/WHEEL +0 -0
@@ -28,6 +28,12 @@ class SnowflakeQueryExecutor:
|
|
28
28
|
def __init__(self, config: SnowflakeConnectionConfig) -> None:
|
29
29
|
self.conn = self.__initialize(config)
|
30
30
|
|
31
|
+
def __enter__(self):
|
32
|
+
return self
|
33
|
+
|
34
|
+
def __exit__(self, exc_type, exc_value, traceback):
|
35
|
+
self.conn.close()
|
36
|
+
|
31
37
|
def __initialize(self, config: SnowflakeConnectionConfig) -> SnowflakeConnection:
|
32
38
|
conn: SnowflakeConnection = connect(
|
33
39
|
user=config.account_user,
|
@@ -41,7 +47,6 @@ class SnowflakeQueryExecutor:
|
|
41
47
|
return conn
|
42
48
|
|
43
49
|
def get_query_results(self, query: str) -> List[Dict[str, str]]:
|
44
|
-
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(name)s - %(message)s")
|
45
50
|
with self.conn.cursor(DictCursor) as cur:
|
46
51
|
try:
|
47
52
|
cur.execute(query)
|
quollio_core/snowflake.py
CHANGED
@@ -4,6 +4,7 @@ import os
|
|
4
4
|
|
5
5
|
from quollio_core.helper.core import setup_dbt_profile
|
6
6
|
from quollio_core.helper.env_default import env_default
|
7
|
+
from quollio_core.helper.log import set_log_level
|
7
8
|
from quollio_core.profilers.snowflake import (
|
8
9
|
snowflake_column_to_column_lineage,
|
9
10
|
snowflake_table_level_sqllineage,
|
@@ -21,7 +22,6 @@ def build_view(
|
|
21
22
|
target_tables: str = "",
|
22
23
|
log_level: str = "info",
|
23
24
|
) -> None:
|
24
|
-
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(name)s - %(message)s")
|
25
25
|
|
26
26
|
logger.info("Build profiler views using dbt")
|
27
27
|
# set parameters
|
@@ -72,22 +72,27 @@ def load_lineage(
|
|
72
72
|
conn: snowflake.SnowflakeConnectionConfig,
|
73
73
|
qdc_client: qdc.QDCExternalAPIClient,
|
74
74
|
tenant_id: str,
|
75
|
+
enable_column_lineage: bool = False,
|
75
76
|
) -> None:
|
76
|
-
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(name)s - %(message)s")
|
77
|
-
|
78
77
|
logger.info("Generate Snowflake table to table lineage.")
|
78
|
+
|
79
79
|
snowflake_table_to_table_lineage(
|
80
80
|
conn=conn,
|
81
81
|
qdc_client=qdc_client,
|
82
82
|
tenant_id=tenant_id,
|
83
83
|
)
|
84
84
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
85
|
+
if enable_column_lineage:
|
86
|
+
logger.info(
|
87
|
+
f"enable_column_lineage is set to {enable_column_lineage}.Generate Snowflake column to column lineage."
|
88
|
+
)
|
89
|
+
snowflake_column_to_column_lineage(
|
90
|
+
conn=conn,
|
91
|
+
qdc_client=qdc_client,
|
92
|
+
tenant_id=tenant_id,
|
93
|
+
)
|
94
|
+
else:
|
95
|
+
logger.info("Skip column lineage ingestion. Set enable_column_lineage to True if you ingest column lineage.")
|
91
96
|
|
92
97
|
logger.info("Lineage data is successfully loaded.")
|
93
98
|
|
@@ -99,7 +104,6 @@ def load_stats(
|
|
99
104
|
qdc_client: qdc.QDCExternalAPIClient,
|
100
105
|
tenant_id: str,
|
101
106
|
) -> None:
|
102
|
-
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(name)s - %(message)s")
|
103
107
|
|
104
108
|
logger.info("Generate Snowflake stats.")
|
105
109
|
snowflake_table_stats(
|
@@ -118,7 +122,6 @@ def load_sqllineage(
|
|
118
122
|
qdc_client: qdc.QDCExternalAPIClient,
|
119
123
|
tenant_id: str,
|
120
124
|
) -> None:
|
121
|
-
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(name)s - %(message)s")
|
122
125
|
|
123
126
|
logger.info("Generate Snowflake sqllineage.")
|
124
127
|
snowflake_table_level_sqllineage(
|
@@ -264,7 +267,17 @@ if __name__ == "__main__":
|
|
264
267
|
required=False,
|
265
268
|
help="The client secrete that is created on Quollio console to let clients access Quollio External API",
|
266
269
|
)
|
270
|
+
parser.add_argument(
|
271
|
+
"--enable_column_lineage",
|
272
|
+
type=bool,
|
273
|
+
action=env_default("ENABLE_COLUMN_LINEAGE", store_true=True),
|
274
|
+
default=False,
|
275
|
+
required=False,
|
276
|
+
help="Whether to ingest column lineage into QDIC or not. Default value is False",
|
277
|
+
)
|
267
278
|
args = parser.parse_args()
|
279
|
+
set_log_level(level=args.log_level)
|
280
|
+
|
268
281
|
conn = snowflake.SnowflakeConnectionConfig(
|
269
282
|
account_id=args.account_id,
|
270
283
|
account_user=args.user,
|
@@ -296,6 +309,7 @@ if __name__ == "__main__":
|
|
296
309
|
conn=conn,
|
297
310
|
qdc_client=qdc_client,
|
298
311
|
tenant_id=args.tenant_id,
|
312
|
+
enable_column_lineage=args.enable_column_lineage,
|
299
313
|
)
|
300
314
|
if "load_stats" in args.commands:
|
301
315
|
qdc_client = qdc.QDCExternalAPIClient(
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: quollio-core
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.10
|
4
4
|
Summary: Quollio Core
|
5
5
|
Author-email: quollio-dev <qt.dev@quollio.com>
|
6
6
|
Maintainer-email: RyoAriyama <ryo.arym@gmail.com>, tharuta <35373297+TakumiHaruta@users.noreply.github.com>
|
@@ -79,7 +79,7 @@ To see available commands and options, please run the following command. (ex: Sn
|
|
79
79
|
コマンドやオプションの詳細については、下記のコマンドを実行してください。(例: Snowflake)
|
80
80
|
|
81
81
|
```
|
82
|
-
$
|
82
|
+
$ python -m quollio_core.snowflake -h
|
83
83
|
```
|
84
84
|
|
85
85
|
Then run commands with the options provided.
|
@@ -1,8 +1,8 @@
|
|
1
|
-
quollio_core/__init__.py,sha256=
|
2
|
-
quollio_core/bigquery.py,sha256=
|
3
|
-
quollio_core/bricks.py,sha256=
|
4
|
-
quollio_core/redshift.py,sha256=
|
5
|
-
quollio_core/snowflake.py,sha256=
|
1
|
+
quollio_core/__init__.py,sha256=MhFw5RS_znNS5UBo8a0yTwpAdCcNqqmg_G1rdQ4mDLE,84
|
2
|
+
quollio_core/bigquery.py,sha256=RguUznaY5YjROzJtXimoS8yCNH9jgGphpzd5v_JgSQM,3884
|
3
|
+
quollio_core/bricks.py,sha256=Lehv-qsBSMNNE9BGVvidGOXJsxLSSsbNtmiEZH4lSUg,9458
|
4
|
+
quollio_core/redshift.py,sha256=1d-mHnalB1jtiGPgzsGd3lRwLHCxaBJlUMEV2dh4f60,9882
|
5
|
+
quollio_core/snowflake.py,sha256=G3tImWbZgMlycYuw1b5WnNBp3zWo3hyrbOX5ARLIs7A,10585
|
6
6
|
quollio_core/dbt_projects/databricks/.gitignore,sha256=1jJAyXSzJ3YUm0nx3i7wUSE4RjQMX3ad6F8O88UbtzI,29
|
7
7
|
quollio_core/dbt_projects/databricks/README.md,sha256=ZpRQyhFAODAiS8dc1Kb_ndkul4cu4o4udN_EMa49CU4,440
|
8
8
|
quollio_core/dbt_projects/databricks/dbt_project.yml,sha256=3sH98RNk7TnphvI3yEdXDstb92kW5BNxr-cT0tXhwzk,480
|
@@ -13,25 +13,25 @@ quollio_core/dbt_projects/databricks/macros/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5
|
|
13
13
|
quollio_core/dbt_projects/databricks/models/quollio_lineage_column_level.sql,sha256=mZ4mDCEZTwiSgCUr-w2QGze2-NQapt45EyQNQkCOI5I,2171
|
14
14
|
quollio_core/dbt_projects/databricks/models/quollio_lineage_column_level.yml,sha256=tidAK_FMhYYuPTxFoactwcXYQPSMZwQTxWrGBly4-1o,450
|
15
15
|
quollio_core/dbt_projects/databricks/models/quollio_lineage_table_level.sql,sha256=K63J7n7NIM2Jc7c4IF21JcW8AYOm9HxBNDiveUE4kzU,1558
|
16
|
-
quollio_core/dbt_projects/databricks/models/quollio_lineage_table_level.yml,sha256=
|
16
|
+
quollio_core/dbt_projects/databricks/models/quollio_lineage_table_level.yml,sha256=0nQhdU5gBlHLAJHwsPotgCVrm6tReBdEdczvnxnvmpo,343
|
17
17
|
quollio_core/dbt_projects/databricks/models/sources.yml,sha256=JXU-8lNsKm8dxIjmWos1vbTsWiea-9-pXnntik63ZpA,2231
|
18
18
|
quollio_core/dbt_projects/databricks/profiles/profiles_template.yml,sha256=Dw1RuTrE04yvGIaPQL7uc6pgSWloKHhu0KrduzJ1Z6M,353
|
19
19
|
quollio_core/dbt_projects/databricks/seeds/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
20
20
|
quollio_core/dbt_projects/databricks/snapshots/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
21
|
quollio_core/dbt_projects/redshift/README.md,sha256=55nDkX5uQXWmawpQbgG1hbyn64j_CegDBQddQ2C85C8,571
|
22
|
-
quollio_core/dbt_projects/redshift/dbt_project.yml,sha256=
|
22
|
+
quollio_core/dbt_projects/redshift/dbt_project.yml,sha256=QhrNorlI8f2XjapyR-BZ5fYHGNKiPdk28hab9LObO1s,409
|
23
23
|
quollio_core/dbt_projects/redshift/package-lock.yml,sha256=Gef3zDCLF41j_FL-_h3sIZOUVj6j7nTTvxXrQPLcBP0,109
|
24
24
|
quollio_core/dbt_projects/redshift/packages.yml,sha256=p9Bl2C44gdC6iYTUkz_15yq3xahSJf2IA3WOXLF_ahA,61
|
25
25
|
quollio_core/dbt_projects/redshift/analyses/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
26
|
quollio_core/dbt_projects/redshift/macros/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
|
-
quollio_core/dbt_projects/redshift/macros/materialization/divided_view.sql,sha256=
|
27
|
+
quollio_core/dbt_projects/redshift/macros/materialization/divided_view.sql,sha256=rSKZJHpdU7vy0HvrI10nmnjFMkB5OI3oRmHfAvkjlyk,5686
|
28
28
|
quollio_core/dbt_projects/redshift/models/quollio_lineage_table_level.sql,sha256=AVPcNXfVYHwyutJzg61QT_VF9umfoC4i8C2HecAU4d4,2042
|
29
29
|
quollio_core/dbt_projects/redshift/models/quollio_lineage_table_level.yml,sha256=UcrXpUTT3ihBHKPljvjw8xHz-ND60PfvMJaXqGKOEic,236
|
30
30
|
quollio_core/dbt_projects/redshift/models/quollio_lineage_view_level.sql,sha256=A0CTgQwlz8InabA0cHuygV2GMZGYuAa7Zd5DIUOYzQI,1289
|
31
31
|
quollio_core/dbt_projects/redshift/models/quollio_lineage_view_level.yml,sha256=7Npwo3svL9715HpNU2MKzRI014Da4tIStLzAHmd0UaU,235
|
32
32
|
quollio_core/dbt_projects/redshift/models/quollio_sqllineage_sources.sql,sha256=e0A_Wqv_OcC8gG_yzTbI59vT-4vCI3JiAzFlmkvLnMk,1049
|
33
33
|
quollio_core/dbt_projects/redshift/models/quollio_sqllineage_sources.yml,sha256=qgazupx3ca4P8R0loY5F9hyCz2fmAcWqZ6iOySo_NoY,377
|
34
|
-
quollio_core/dbt_projects/redshift/models/quollio_stats_columns.sql,sha256=
|
34
|
+
quollio_core/dbt_projects/redshift/models/quollio_stats_columns.sql,sha256=BzvP9gKMFItmwqEQ4bDgtS-Invxhhe6L73Qe1ucxfHo,284
|
35
35
|
quollio_core/dbt_projects/redshift/models/quollio_stats_columns.yml,sha256=V_BESPk6IqE52ExT26-78As9l9AlWW86-Geb5PIhThU,67
|
36
36
|
quollio_core/dbt_projects/redshift/models/quollio_stats_profiling_columns.sql,sha256=IPmHf51Er2jE9cMQHybT4adRxwwi2CEmgrBSv1Oeduc,1592
|
37
37
|
quollio_core/dbt_projects/redshift/models/quollio_stats_profiling_columns.yml,sha256=s-p9F44TdwoFYlQN-b9gHzcFYOMqhqDGA9ORS_M4lhs,523
|
@@ -46,14 +46,14 @@ quollio_core/dbt_projects/snowflake/package-lock.yml,sha256=Gef3zDCLF41j_FL-_h3s
|
|
46
46
|
quollio_core/dbt_projects/snowflake/packages.yml,sha256=p9Bl2C44gdC6iYTUkz_15yq3xahSJf2IA3WOXLF_ahA,61
|
47
47
|
quollio_core/dbt_projects/snowflake/analyses/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
48
|
quollio_core/dbt_projects/snowflake/macros/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
|
-
quollio_core/dbt_projects/snowflake/macros/materialization/divided_view.sql,sha256=
|
49
|
+
quollio_core/dbt_projects/snowflake/macros/materialization/divided_view.sql,sha256=BC4fPMw2qEc39WeJbimalHeIj-klcDk1EF-zbcYfk0w,3704
|
50
50
|
quollio_core/dbt_projects/snowflake/models/quollio_lineage_column_level.sql,sha256=Cxt2U2aXNG_LUm63jwTyxUkapkrB7_uHmesx1PTcMJM,4721
|
51
51
|
quollio_core/dbt_projects/snowflake/models/quollio_lineage_column_level.yml,sha256=a2uNIAh-xw51eu-GmHVuAnGnTbwK7h8-DjDeQtK3KaQ,711
|
52
52
|
quollio_core/dbt_projects/snowflake/models/quollio_lineage_table_level.sql,sha256=Q_7vY1N1Hi1LFv5CxkkdR3gQw8fTDnoKECTLSK4gd3o,5112
|
53
53
|
quollio_core/dbt_projects/snowflake/models/quollio_lineage_table_level.yml,sha256=QXlMBIkHo1Y-ANveKVx1FwyoYTMRXKgE2Z-PNouhQTw,325
|
54
54
|
quollio_core/dbt_projects/snowflake/models/quollio_sqllineage_sources.sql,sha256=gd6JhQO13xBIvOoeXcce1I7amNGytwE8pwUApXehwqM,1520
|
55
55
|
quollio_core/dbt_projects/snowflake/models/quollio_sqllineage_sources.yml,sha256=qgazupx3ca4P8R0loY5F9hyCz2fmAcWqZ6iOySo_NoY,377
|
56
|
-
quollio_core/dbt_projects/snowflake/models/quollio_stats_columns.sql,sha256=
|
56
|
+
quollio_core/dbt_projects/snowflake/models/quollio_stats_columns.sql,sha256=BzvP9gKMFItmwqEQ4bDgtS-Invxhhe6L73Qe1ucxfHo,284
|
57
57
|
quollio_core/dbt_projects/snowflake/models/quollio_stats_columns.yml,sha256=V_BESPk6IqE52ExT26-78As9l9AlWW86-Geb5PIhThU,67
|
58
58
|
quollio_core/dbt_projects/snowflake/models/quollio_stats_profiling_columns.sql,sha256=ex5ax-KJoM_P1QspkolOUOQg9BazTdZO1Jllp08PQo8,2265
|
59
59
|
quollio_core/dbt_projects/snowflake/models/quollio_stats_profiling_columns.yml,sha256=W39VAmFnnX6RBoW7B_4CConC1lm0Jm9o50Jsz9bYZzY,538
|
@@ -62,24 +62,25 @@ quollio_core/dbt_projects/snowflake/profiles/profiles_template.yml,sha256=gcZsgd
|
|
62
62
|
quollio_core/dbt_projects/snowflake/seeds/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
63
63
|
quollio_core/dbt_projects/snowflake/snapshots/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
64
64
|
quollio_core/helper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
|
-
quollio_core/helper/core.py,sha256
|
66
|
-
quollio_core/helper/env_default.py,sha256=
|
65
|
+
quollio_core/helper/core.py,sha256=wbu4FWI7YiFEttXGSuj3tMyAhtPAFlHOjDpWJGNXOHA,1202
|
66
|
+
quollio_core/helper/env_default.py,sha256=H6gbSGUPrEDZr4YDrL49hbOpw6RntI4U82kX1q6vUnI,2148
|
67
|
+
quollio_core/helper/log.py,sha256=flxyZZ44G79l1TaUp3OT58uCHcnE5z_pCduwoeI6IUs,645
|
67
68
|
quollio_core/profilers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
68
69
|
quollio_core/profilers/bigquery.py,sha256=e1Y8cZR-LxI9mSsYb0DurQyy0eCjM_kAKLfvl4IuQLE,3262
|
69
|
-
quollio_core/profilers/databricks.py,sha256=
|
70
|
+
quollio_core/profilers/databricks.py,sha256=DkT7cLl7XvAfZ_vkgiiXIt6yoKpov4MAbgpzq-i1m1g,7282
|
70
71
|
quollio_core/profilers/lineage.py,sha256=4FyxIuPBrUFihqZryqTQBcfB0Z7634lKl_WwkD82vzE,6865
|
71
|
-
quollio_core/profilers/redshift.py,sha256=
|
72
|
-
quollio_core/profilers/snowflake.py,sha256=
|
73
|
-
quollio_core/profilers/sqllineage.py,sha256=
|
72
|
+
quollio_core/profilers/redshift.py,sha256=6_4amsBL4QW0ZajWhS-TW3f_cjKKa6TpXClMgBC-fZo,6440
|
73
|
+
quollio_core/profilers/snowflake.py,sha256=nitlP5pmDm2RhLGO4f_WTzkw41EmOTY2uWN1HZkCHbI,8465
|
74
|
+
quollio_core/profilers/sqllineage.py,sha256=XkF7hwDWIGNtyEP5cv2wETBgMfdQxeHolv7qPIkntSQ,5066
|
74
75
|
quollio_core/profilers/stats.py,sha256=PG1NbbUSpc1JuEYvBzD66rd24tp0C13_Y5Y7vRjYG1c,4720
|
75
76
|
quollio_core/repository/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
76
77
|
quollio_core/repository/bigquery.py,sha256=KMJTeF4OUxtaJt0ymoJ4tkrMKq8yLyMYaMxNvU5yd_Y,2271
|
77
|
-
quollio_core/repository/databricks.py,sha256=
|
78
|
-
quollio_core/repository/dbt.py,sha256=
|
79
|
-
quollio_core/repository/qdc.py,sha256=
|
80
|
-
quollio_core/repository/redshift.py,sha256=
|
81
|
-
quollio_core/repository/snowflake.py,sha256=
|
82
|
-
quollio_core-0.4.
|
83
|
-
quollio_core-0.4.
|
84
|
-
quollio_core-0.4.
|
85
|
-
quollio_core-0.4.
|
78
|
+
quollio_core/repository/databricks.py,sha256=9Cgdv8qBnVaHqu3RA-IUBieAqb69moQ-KAAMVSf5Ds4,1877
|
79
|
+
quollio_core/repository/dbt.py,sha256=cnLwJPywLi8VowVW7zfIBa9jxVwDWO7xzzNRn1vWiuw,659
|
80
|
+
quollio_core/repository/qdc.py,sha256=qEpMF6rKdic23dPJoDYmbIcyCKDuSFqbDF2_jqmqoZw,4369
|
81
|
+
quollio_core/repository/redshift.py,sha256=p2ouEuYcDCjx1oBhc6H1ekQsvEqHGd3bFu3PW0ngYBc,2880
|
82
|
+
quollio_core/repository/snowflake.py,sha256=J9rHshfWdOSnjQWxwGEYPpAU2lY7Tu5UFB_BNakkAX0,1892
|
83
|
+
quollio_core-0.4.10.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
|
84
|
+
quollio_core-0.4.10.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
85
|
+
quollio_core-0.4.10.dist-info/METADATA,sha256=QeostnBm-yqx48bVtcEaB6C-zIy9dCFwkVnm4sDIhlA,6804
|
86
|
+
quollio_core-0.4.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|