squirrels 0.5.0b2__py3-none-any.whl → 0.5.0b4__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.
Potentially problematic release.
This version of squirrels might be problematic. Click here for more details.
- dateutils/__init__.py +6 -460
- dateutils/_enums.py +25 -0
- dateutils/_implementation.py +409 -0
- dateutils/types.py +6 -0
- squirrels/__init__.py +9 -13
- squirrels/_api_routes/__init__.py +5 -0
- squirrels/_api_routes/auth.py +262 -0
- squirrels/_api_routes/base.py +154 -0
- squirrels/_api_routes/dashboards.py +142 -0
- squirrels/_api_routes/data_management.py +103 -0
- squirrels/_api_routes/datasets.py +242 -0
- squirrels/_api_routes/oauth2.py +300 -0
- squirrels/_api_routes/project.py +214 -0
- squirrels/_api_server.py +145 -748
- squirrels/_arguments/__init__.py +0 -0
- squirrels/{arguments → _arguments}/init_time_args.py +7 -2
- squirrels/{arguments → _arguments}/run_time_args.py +4 -26
- squirrels/_auth.py +646 -93
- squirrels/_connection_set.py +5 -5
- squirrels/_constants.py +7 -1
- squirrels/{_dashboards_io.py → _dashboards.py} +87 -6
- squirrels/_data_sources.py +564 -0
- squirrels/_exceptions.py +9 -37
- squirrels/_initializer.py +31 -26
- squirrels/_manifest.py +5 -5
- squirrels/_model_builder.py +1 -1
- squirrels/_model_configs.py +2 -2
- squirrels/_model_queries.py +1 -1
- squirrels/_models.py +40 -27
- squirrels/{package_data → _package_data}/base_project/.env +1 -0
- squirrels/{package_data → _package_data}/base_project/.env.example +1 -0
- squirrels/{package_data → _package_data}/base_project/dashboards/dashboard_example.py +4 -4
- squirrels/{package_data → _package_data}/base_project/dashboards/dashboard_example.yml +2 -2
- squirrels/_package_data/base_project/macros/macros_example.sql +17 -0
- squirrels/{package_data → _package_data}/base_project/models/builds/build_example.py +2 -2
- squirrels/{package_data → _package_data}/base_project/models/builds/build_example.sql +1 -1
- squirrels/{package_data → _package_data}/base_project/models/dbviews/dbview_example.sql +1 -1
- squirrels/_package_data/base_project/models/federates/federate_example.py +41 -0
- squirrels/_package_data/base_project/models/federates/federate_example.sql +25 -0
- squirrels/{package_data → _package_data}/base_project/models/federates/federate_example.yml +6 -6
- squirrels/{package_data → _package_data}/base_project/parameters.yml +9 -8
- squirrels/_package_data/base_project/pyconfigs/connections.py +14 -0
- squirrels/{package_data → _package_data}/base_project/pyconfigs/context.py +14 -16
- squirrels/_package_data/base_project/pyconfigs/parameters.py +106 -0
- squirrels/_package_data/base_project/pyconfigs/user.py +51 -0
- squirrels/_package_data/templates/dataset_results.html +112 -0
- squirrels/_package_data/templates/oauth_login.html +271 -0
- squirrels/_parameter_configs.py +35 -35
- squirrels/_parameter_options.py +348 -0
- squirrels/_parameter_sets.py +47 -37
- squirrels/_parameters.py +1664 -0
- squirrels/_project.py +76 -32
- squirrels/_py_module.py +3 -2
- squirrels/_schemas/__init__.py +0 -0
- squirrels/_schemas/auth_models.py +144 -0
- squirrels/_schemas/query_param_models.py +67 -0
- squirrels/{_api_response_models.py → _schemas/response_models.py} +12 -8
- squirrels/_utils.py +38 -4
- squirrels/arguments.py +2 -0
- squirrels/auth.py +1 -0
- squirrels/connections.py +1 -0
- squirrels/dashboards.py +1 -82
- squirrels/data_sources.py +8 -563
- squirrels/parameter_options.py +8 -348
- squirrels/parameters.py +9 -1266
- squirrels/types.py +11 -0
- {squirrels-0.5.0b2.dist-info → squirrels-0.5.0b4.dist-info}/METADATA +4 -1
- squirrels-0.5.0b4.dist-info/RECORD +94 -0
- squirrels/package_data/base_project/macros/macros_example.sql +0 -15
- squirrels/package_data/base_project/models/federates/federate_example.py +0 -44
- squirrels/package_data/base_project/models/federates/federate_example.sql +0 -17
- squirrels/package_data/base_project/pyconfigs/connections.py +0 -14
- squirrels/package_data/base_project/pyconfigs/parameters.py +0 -93
- squirrels/package_data/base_project/pyconfigs/user.py +0 -23
- squirrels-0.5.0b2.dist-info/RECORD +0 -70
- /squirrels/{dataset_result.py → _dataset_types.py} +0 -0
- /squirrels/{package_data → _package_data}/base_project/assets/expenses.db +0 -0
- /squirrels/{package_data → _package_data}/base_project/assets/weather.db +0 -0
- /squirrels/{package_data → _package_data}/base_project/connections.yml +0 -0
- /squirrels/{package_data → _package_data}/base_project/docker/.dockerignore +0 -0
- /squirrels/{package_data → _package_data}/base_project/docker/Dockerfile +0 -0
- /squirrels/{package_data → _package_data}/base_project/docker/compose.yml +0 -0
- /squirrels/{package_data → _package_data}/base_project/duckdb_init.sql +0 -0
- /squirrels/{package_data/base_project/.gitignore → _package_data/base_project/gitignore} +0 -0
- /squirrels/{package_data → _package_data}/base_project/models/builds/build_example.yml +0 -0
- /squirrels/{package_data → _package_data}/base_project/models/dbviews/dbview_example.yml +0 -0
- /squirrels/{package_data → _package_data}/base_project/models/sources.yml +0 -0
- /squirrels/{package_data → _package_data}/base_project/seeds/seed_categories.csv +0 -0
- /squirrels/{package_data → _package_data}/base_project/seeds/seed_categories.yml +0 -0
- /squirrels/{package_data → _package_data}/base_project/seeds/seed_subcategories.csv +0 -0
- /squirrels/{package_data → _package_data}/base_project/seeds/seed_subcategories.yml +0 -0
- /squirrels/{package_data → _package_data}/base_project/squirrels.yml.j2 +0 -0
- /squirrels/{package_data → _package_data}/base_project/tmp/.gitignore +0 -0
- {squirrels-0.5.0b2.dist-info → squirrels-0.5.0b4.dist-info}/WHEEL +0 -0
- {squirrels-0.5.0b2.dist-info → squirrels-0.5.0b4.dist-info}/entry_points.txt +0 -0
- {squirrels-0.5.0b2.dist-info → squirrels-0.5.0b4.dist-info}/licenses/LICENSE +0 -0
|
File without changes
|
|
@@ -19,6 +19,11 @@ class ConnectionsArgs:
|
|
|
19
19
|
return self._env_vars.copy()
|
|
20
20
|
|
|
21
21
|
|
|
22
|
+
@dataclass
|
|
23
|
+
class AuthProviderArgs(ConnectionsArgs):
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
|
|
22
27
|
@dataclass
|
|
23
28
|
class ParametersArgs(ConnectionsArgs):
|
|
24
29
|
pass
|
|
@@ -88,14 +93,14 @@ class BuildModelArgs(_WithConnectionDictArgs):
|
|
|
88
93
|
|
|
89
94
|
def run_sql_on_dataframes(self, sql_query: str, *, dataframes: dict[str, pl.LazyFrame] | None = None, **kwargs) -> pl.DataFrame:
|
|
90
95
|
"""
|
|
91
|
-
Uses a dictionary of dataframes to execute a SQL query in an embedded in-memory database
|
|
96
|
+
Uses a dictionary of dataframes to execute a SQL query in an embedded in-memory DuckDB database
|
|
92
97
|
|
|
93
98
|
Arguments:
|
|
94
99
|
sql_query: The SQL query to run
|
|
95
100
|
dataframes: A dictionary of table names to their polars LazyFrame. If None, uses results of dependent models
|
|
96
101
|
|
|
97
102
|
Returns:
|
|
98
|
-
The result as a polars
|
|
103
|
+
The result as a polars DataFrame from running the query
|
|
99
104
|
"""
|
|
100
105
|
if dataframes is None:
|
|
101
106
|
dataframes = {x: self.ref(x) for x in self._dependencies}
|
|
@@ -1,31 +1,9 @@
|
|
|
1
1
|
from typing import Callable, Any, Coroutine
|
|
2
2
|
import polars as pl
|
|
3
3
|
|
|
4
|
-
from .init_time_args import
|
|
4
|
+
from .init_time_args import ParametersArgs, BuildModelArgs
|
|
5
5
|
from .._auth import BaseUser
|
|
6
|
-
from ..
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class AuthLoginArgs(_WithConnectionDictArgs):
|
|
10
|
-
|
|
11
|
-
def __init__(
|
|
12
|
-
self, conn_args: ConnectionsArgs, _connections: dict[str, Any],
|
|
13
|
-
username: str,
|
|
14
|
-
password: str
|
|
15
|
-
):
|
|
16
|
-
super().__init__(conn_args.project_path, conn_args.proj_vars, conn_args.env_vars, _connections)
|
|
17
|
-
self.username = username
|
|
18
|
-
self.password = password
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class AuthTokenArgs(_WithConnectionDictArgs):
|
|
22
|
-
|
|
23
|
-
def __init__(
|
|
24
|
-
self, conn_args: ConnectionsArgs, _connections: dict[str, Any],
|
|
25
|
-
token: str
|
|
26
|
-
):
|
|
27
|
-
super().__init__(conn_args.project_path, conn_args.proj_vars, conn_args.env_vars, _connections)
|
|
28
|
-
self.token = token
|
|
6
|
+
from .._parameters import Parameter, TextValue
|
|
29
7
|
|
|
30
8
|
|
|
31
9
|
class ContextArgs(ParametersArgs):
|
|
@@ -57,7 +35,7 @@ class ContextArgs(ParametersArgs):
|
|
|
57
35
|
return self._traits.copy()
|
|
58
36
|
|
|
59
37
|
@property
|
|
60
|
-
def
|
|
38
|
+
def _placeholders_copy(self) -> dict[str, Any]:
|
|
61
39
|
"""
|
|
62
40
|
A dictionary of placeholder name to placeholder value
|
|
63
41
|
"""
|
|
@@ -103,7 +81,7 @@ class ModelArgs(BuildModelArgs, ContextArgs):
|
|
|
103
81
|
self.user = ctx_args.user
|
|
104
82
|
self._prms = ctx_args.prms
|
|
105
83
|
self._traits = ctx_args.traits
|
|
106
|
-
self._placeholders = ctx_args.
|
|
84
|
+
self._placeholders = ctx_args._placeholders_copy
|
|
107
85
|
self._connections = build_model_args.connections
|
|
108
86
|
self._dependencies = build_model_args.dependencies
|
|
109
87
|
self._ref = build_model_args.ref
|