detquantlib 5.9.2__tar.gz → 5.10.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {detquantlib-5.9.2 → detquantlib-5.10.0}/PKG-INFO +1 -1
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/data/databases/snowflake_client.py +14 -7
- {detquantlib-5.9.2 → detquantlib-5.10.0}/pyproject.toml +1 -1
- {detquantlib-5.9.2 → detquantlib-5.10.0}/LICENSE.txt +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/README.md +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/assets/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/assets/battery.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/assets/wind_turbine.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/converters/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/converters/definitions.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/converters/energy.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/converters/helpers.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/converters/price.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/data/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/data/databases/azure_client.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/data/databases/detdatabase.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/data/databases/helpers.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/data/entsoe/entsoe.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/data/sftp/sftp.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/data/tennet/tennet_client.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/dates/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/dates/dates.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/figures/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/figures/plotly_figures.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/forecasting/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/forecasting/forecasting.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/outputs/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/outputs/outputs_interface.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/README.md +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/cases.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/comparison.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/config.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/errors.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/isolation.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/pytest_plugin.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/recording.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/snapshot_testing/tables.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/stats/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/stats/data_analysis.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/tradable_products/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/tradable_products/tradable_products.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/utils/__init__.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/utils/logging.py +0 -0
- {detquantlib-5.9.2 → detquantlib-5.10.0}/detquantlib/utils/utils.py +0 -0
|
@@ -33,6 +33,7 @@ class SnowflakeConfig:
|
|
|
33
33
|
|
|
34
34
|
Exactly one authentication method is used, chosen in this order of precedence:
|
|
35
35
|
- ``private_key_path`` (i.e. key-pair)
|
|
36
|
+
- ``token`` (i.e. programmatic access token)
|
|
36
37
|
- ``authenticator`` (e.g. SSO)
|
|
37
38
|
- ``password``
|
|
38
39
|
|
|
@@ -40,6 +41,7 @@ class SnowflakeConfig:
|
|
|
40
41
|
account: Snowflake account identifier, e.g. ``"xy12345.eu-west-1"``.
|
|
41
42
|
user: Login name of the Snowflake user.
|
|
42
43
|
password: Password for password authentication.
|
|
44
|
+
token: Programmatic access token (PAT) for token authentication.
|
|
43
45
|
warehouse: Default virtual warehouse for the session.
|
|
44
46
|
database: Default database for the session.
|
|
45
47
|
schema: Default schema for the session.
|
|
@@ -53,6 +55,7 @@ class SnowflakeConfig:
|
|
|
53
55
|
account: Optional[str] = None
|
|
54
56
|
user: Optional[str] = None
|
|
55
57
|
password: Optional[str] = None
|
|
58
|
+
token: Optional[str] = None
|
|
56
59
|
warehouse: Optional[str] = None
|
|
57
60
|
database: Optional[str] = None
|
|
58
61
|
schema: Optional[str] = None
|
|
@@ -68,10 +71,10 @@ class SnowflakeConfig:
|
|
|
68
71
|
Builds a config from environment variables.
|
|
69
72
|
|
|
70
73
|
Reads variables named ``<prefix><FIELD>``, e.g. ``SNOWFLAKE_ACCOUNT``, ``SNOWFLAKE_USER``,
|
|
71
|
-
``SNOWFLAKE_PASSWORD``, ``
|
|
72
|
-
``
|
|
73
|
-
``SNOWFLAKE_PRIVATE_KEY_PATH`` and
|
|
74
|
-
become ``None``.
|
|
74
|
+
``SNOWFLAKE_PASSWORD``, ``SNOWFLAKE_TOKEN``, ``SNOWFLAKE_WAREHOUSE``,
|
|
75
|
+
``SNOWFLAKE_DATABASE``, ``SNOWFLAKE_SCHEMA``, ``SNOWFLAKE_ROLE``,
|
|
76
|
+
``SNOWFLAKE_AUTHENTICATOR``, ``SNOWFLAKE_PRIVATE_KEY_PATH`` and
|
|
77
|
+
``SNOWFLAKE_PRIVATE_KEY_PASSPHRASE``. Unset variables become ``None``.
|
|
75
78
|
|
|
76
79
|
Args:
|
|
77
80
|
prefix: Prefix prepended to each variable name.
|
|
@@ -84,6 +87,7 @@ class SnowflakeConfig:
|
|
|
84
87
|
account=g("ACCOUNT"),
|
|
85
88
|
user=g("USER"),
|
|
86
89
|
password=g("PASSWORD"),
|
|
90
|
+
token=g("TOKEN"),
|
|
87
91
|
warehouse=g("WAREHOUSE"),
|
|
88
92
|
database=g("DATABASE"),
|
|
89
93
|
schema=g("SCHEMA"),
|
|
@@ -147,8 +151,8 @@ class SnowflakeClient:
|
|
|
147
151
|
"""
|
|
148
152
|
Builds the keyword arguments for ``snowflake.connector.connect``.
|
|
149
153
|
|
|
150
|
-
Selects a single authentication method (key-pair,
|
|
151
|
-
and drops any parameters that are ``None``.
|
|
154
|
+
Selects a single authentication method (key-pair, programmatic access token, authenticator
|
|
155
|
+
or password, in that order) and drops any parameters that are ``None``.
|
|
152
156
|
|
|
153
157
|
Returns:
|
|
154
158
|
A dict of connection parameters.
|
|
@@ -174,13 +178,16 @@ class SnowflakeClient:
|
|
|
174
178
|
params["private_key"] = self._load_private_key(
|
|
175
179
|
c.private_key_path, c.private_key_passphrase
|
|
176
180
|
)
|
|
181
|
+
elif c.token:
|
|
182
|
+
params["authenticator"] = "PROGRAMMATIC_ACCESS_TOKEN"
|
|
183
|
+
params["token"] = c.token
|
|
177
184
|
elif c.authenticator:
|
|
178
185
|
params["authenticator"] = c.authenticator
|
|
179
186
|
elif c.password:
|
|
180
187
|
params["password"] = c.password
|
|
181
188
|
else:
|
|
182
189
|
raise ValueError(
|
|
183
|
-
"No credentials provided: set password, private_key_path, or authenticator."
|
|
190
|
+
"No credentials provided: set password, token, private_key_path, or authenticator."
|
|
184
191
|
)
|
|
185
192
|
|
|
186
193
|
return {k: v for k, v in params.items() if v is not None}
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|