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
squirrels/types.py
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from ._data_sources import DataSource
|
|
2
|
+
|
|
3
|
+
from ._parameter_options import ParameterOption
|
|
4
|
+
|
|
5
|
+
from ._parameters import Parameter, TextValue
|
|
6
|
+
|
|
7
|
+
from ._dataset_types import DatasetMetadata, DatasetResult
|
|
8
|
+
|
|
9
|
+
from ._dashboards import Dashboard
|
|
10
|
+
|
|
11
|
+
from ._parameter_configs import ParameterConfigBase
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: squirrels
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.0b4
|
|
4
4
|
Summary: Squirrels - API Framework for Data Analytics
|
|
5
5
|
Project-URL: Homepage, https://squirrels-analytics.github.io
|
|
6
6
|
Project-URL: Repository, https://github.com/squirrels-analytics/squirrels
|
|
@@ -13,15 +13,18 @@ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
|
13
13
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
14
14
|
Classifier: Typing :: Typed
|
|
15
15
|
Requires-Python: ~=3.10
|
|
16
|
+
Requires-Dist: authlib<2,>=1.5.2
|
|
16
17
|
Requires-Dist: bcrypt<5,>=4.0.1
|
|
17
18
|
Requires-Dist: cachetools<6,>=5.3.2
|
|
18
19
|
Requires-Dist: duckdb<2,>=1.1.3
|
|
19
20
|
Requires-Dist: fastapi<1,>=0.112.1
|
|
20
21
|
Requires-Dist: gitpython<4,>=3.1.41
|
|
21
22
|
Requires-Dist: inquirer<4,>=3.2.1
|
|
23
|
+
Requires-Dist: itsdangerous<3,>=2.2.0
|
|
22
24
|
Requires-Dist: jinja2<4,>=3.1.3
|
|
23
25
|
Requires-Dist: libpass<2,>=1.9.0
|
|
24
26
|
Requires-Dist: matplotlib<4,>=3.8.3
|
|
27
|
+
Requires-Dist: mcp>=1.9.2
|
|
25
28
|
Requires-Dist: networkx<4,>=3.2.1
|
|
26
29
|
Requires-Dist: pandas<3,>=2.1.4
|
|
27
30
|
Requires-Dist: polars<2,>=1.14.0
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
dateutils/__init__.py,sha256=dq4VSlJ5ztaDPdvYBRAvXSyanT_CZif3I4O0YVmWfa8,277
|
|
2
|
+
dateutils/_enums.py,sha256=WBrnLqta_iMMhGMEn24cCO1Vlr7bST0E8oEfAL3z0P8,373
|
|
3
|
+
dateutils/_implementation.py,sha256=PVJAdNolDdTpCZXwvokKoMIZzTSNpCUvZlVLWpMeSho,15173
|
|
4
|
+
dateutils/types.py,sha256=xcRwBoftQi-uHM1tlVTW5xgN84qdrqCo5tQT7A34S8Y,124
|
|
5
|
+
squirrels/__init__.py,sha256=O9QBS0WHdmWM7SUCTnEk1VU8ElnJKKrFHGAEd8W5CkM,288
|
|
6
|
+
squirrels/_api_server.py,sha256=y-GW7e7vKgeZsL50Md9dwsc7WR5Oe3Mu-yAZOK96_wE,14071
|
|
7
|
+
squirrels/_auth.py,sha256=3VWbB4-mMEqUp3YL1-T6R-kOswZ4xx29H0SSSlp2ezM,45592
|
|
8
|
+
squirrels/_command_line.py,sha256=ZB7cTJabWiYEV6tFi1l87M-w468LJ-DV7TNgQ_bqFbY,11151
|
|
9
|
+
squirrels/_connection_set.py,sha256=-krmn3RJkPOmh6oP3t8PhGhInyQ2pLu5HulYDi-aUrI,4008
|
|
10
|
+
squirrels/_constants.py,sha256=6sBvx5ijWgLz4KJGZo-VZ8NPZvw1aVROsYxA6ac2pZ8,3337
|
|
11
|
+
squirrels/_dashboards.py,sha256=FF6KG-GXohR5Hp-BMYRwEZ2hUQ_jbkFpcK5epwoD64w,4891
|
|
12
|
+
squirrels/_data_sources.py,sha256=W1aUAHkkjPpBRjZGBrc9RJIxEwICfnzB8HAyknCoZ3E,25988
|
|
13
|
+
squirrels/_dataset_types.py,sha256=wZvvRs4U1Hva_iyoFosAAu76S1yfv1Cd5SX3UMIw2PA,2838
|
|
14
|
+
squirrels/_exceptions.py,sha256=-hfDZoV-JhvuNRAERTFg-5NFjr0uNk4i9ogNgJfAyyc,1171
|
|
15
|
+
squirrels/_initializer.py,sha256=bJ0AeFIHYIYVT6o_kw5oWQJ9Qm4-n1RVNk3iYi2qbH0,14270
|
|
16
|
+
squirrels/_manifest.py,sha256=ag902b0SNbra6XrBzkaKizmJGwRgFKPjEjtnkJgfFio,10232
|
|
17
|
+
squirrels/_model_builder.py,sha256=5aLL_DxOv_wgJc3ml26q3hZSpmzkbniBC34Dh-f2ML4,5096
|
|
18
|
+
squirrels/_model_configs.py,sha256=eJne5L-QLv42s7uodUOOASMRn1NbzGbiBmwMllkO5C4,3303
|
|
19
|
+
squirrels/_model_queries.py,sha256=2fl07feHtzddBpiXUWGfNBYeoN_EZ7K5mAz2Jc-vCvs,1087
|
|
20
|
+
squirrels/_models.py,sha256=_oudu_szkcBSAXYloxAd2LV2-gbTY6d8-E1kQuc89c0,50017
|
|
21
|
+
squirrels/_package_loader.py,sha256=xcIur5Z38OWd-OVjsueFstVV567zlkK9UBnLS4NawJY,1158
|
|
22
|
+
squirrels/_parameter_configs.py,sha256=wxF51hMOewtf5SZgo6dEHa3vzU81vXN4LNmIK0UK9po,23981
|
|
23
|
+
squirrels/_parameter_options.py,sha256=cWYKNoBUopHq6VfaeBu-nN2V0_IY3OgYpmYhKODNCew,16956
|
|
24
|
+
squirrels/_parameter_sets.py,sha256=xTiwDBT3LONILHlitA12J2b9CS4NU6-S1IQSILT2v8A,10315
|
|
25
|
+
squirrels/_parameters.py,sha256=Ta929_a-b8r1miDKXT_SZtHT_d8jJ2W5ABvkXL7k074,76372
|
|
26
|
+
squirrels/_project.py,sha256=y6r_ppujlSbxboS52zSIKfyzRo1kC1eQ9nkdYcHJc30,30391
|
|
27
|
+
squirrels/_py_module.py,sha256=NW86sv1oYWh8oMqgGh2oIUwuFcLXoq3cwEuKRxPfEwY,2683
|
|
28
|
+
squirrels/_seeds.py,sha256=yyIYp4bn9Sg6lhgvsOYIJQHIpPbvLNsyGHVfswEyVd8,2225
|
|
29
|
+
squirrels/_sources.py,sha256=j5mY_EtA5cxoHwtk8RwTVHO74hleik2lS7mF9gVnG_A,4840
|
|
30
|
+
squirrels/_utils.py,sha256=yZ7pyWUZxCkAtOZO00QAN9kRM9KNpIUwERnnaiXCpxg,13552
|
|
31
|
+
squirrels/_version.py,sha256=M8aFbJ4vlAi3Sk9b7leRuEfkNBjkkX5S_F9lA4h8GK4,105
|
|
32
|
+
squirrels/arguments.py,sha256=s8Ud0ahdgyMO9jO_qV9uYzJ3rCApAeRKpNKCz_EfQjI,181
|
|
33
|
+
squirrels/auth.py,sha256=GNalDnQo4I1ONSYUGWwAxhJmgEwLYy688Fby-ksvnHk,54
|
|
34
|
+
squirrels/connections.py,sha256=dpjR00DjLiPfF0iz9HfL9PyjWYtYQq67zk2LyT2bnhg,64
|
|
35
|
+
squirrels/dashboards.py,sha256=UA-mksRXtL5dyzewoGTnR5bz26KzvrVgKsIpNIPkLe0,52
|
|
36
|
+
squirrels/data_sources.py,sha256=6a4E1m-Zcx-o2SERwKJiz8n6LFsI2CQ5MbmDwKhVq1o,170
|
|
37
|
+
squirrels/parameter_options.py,sha256=TmvoESS1BSPx-73bNzo6W0bSztj7-ye0_vssmii0cBk,205
|
|
38
|
+
squirrels/parameters.py,sha256=7Go5jetD3J7NDrkk2a_7ExxJv0mT4rwo1B9sAkuxPPg,195
|
|
39
|
+
squirrels/types.py,sha256=snP-ZLW_YY1TCCPVQTcDQMQvU6159yMRL-Hou9L7QJU,282
|
|
40
|
+
squirrels/_api_routes/__init__.py,sha256=-oGMDfM5Qo7NDiwpjHt8BKVZNNZ4798-NZCJzYCUdbc,106
|
|
41
|
+
squirrels/_api_routes/auth.py,sha256=BzThmdxugavFDW_RF2LNpPf8Z4fQcxrHL52TLPrsj54,13917
|
|
42
|
+
squirrels/_api_routes/base.py,sha256=7H4SzhBJ-yWtC70kjzZneW_ZkejVzwTSnMlunSBt8ig,7067
|
|
43
|
+
squirrels/_api_routes/dashboards.py,sha256=tasnHUmgkm-ZcpEviRoCiNtR9TgY6xjBZac7SkyEJBg,8097
|
|
44
|
+
squirrels/_api_routes/data_management.py,sha256=Gr6JVFpMaFhlQCUICGxuDNWrz4BGPydrMou0elBg5tU,5347
|
|
45
|
+
squirrels/_api_routes/datasets.py,sha256=Xcf-sTI8Noe06Tc-Nm5tJt4Y94ljl8ZXSxVrTOrN9gw,13592
|
|
46
|
+
squirrels/_api_routes/oauth2.py,sha256=1Q0mgbOw39iOGKy_Wwuuxi_Iw5rRCXhZPKc_CXYsBH4,14855
|
|
47
|
+
squirrels/_api_routes/project.py,sha256=gEtfDa1RyjxGEcUZTnNZSgQbLeIb5wUv2n65fZd6d40,11546
|
|
48
|
+
squirrels/_arguments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
squirrels/_arguments/init_time_args.py,sha256=Y5gVbrU_yd1r5JtAChcL1xTpfz0i8gwNtZMe5QBT2mc,3511
|
|
50
|
+
squirrels/_arguments/run_time_args.py,sha256=Izh7nxifrzEmMCY41vzz8TWBJ5cSAHuXkjPRZRx6mHM,5016
|
|
51
|
+
squirrels/_package_data/base_project/.env,sha256=CX13teP-pc3ymHIg9oERWcSGvxvMWRDOylLmI1Oiqpg,1105
|
|
52
|
+
squirrels/_package_data/base_project/.env.example,sha256=eN9fIwZF0CbK5mz0zJ4xsZ2I2MwY7Tj6f1ZsudfJKkA,1157
|
|
53
|
+
squirrels/_package_data/base_project/connections.yml,sha256=qZxh7OuI2xqf2cFKwpMo5TONrJXGVzQ7YfcWh4Go7Oo,1011
|
|
54
|
+
squirrels/_package_data/base_project/duckdb_init.sql,sha256=iwKDoHbKhOEMe-Pu_sX5a9OauCgqxfZLD70S7RduBrE,196
|
|
55
|
+
squirrels/_package_data/base_project/gitignore,sha256=B9OEkQ_j9fZGA2IAyVUvXeylxpya-AUwzLzqzMN4Bfc,155
|
|
56
|
+
squirrels/_package_data/base_project/parameters.yml,sha256=lws8lblJjyC6apNP-5fhvxlShTKs6UqBzvl3dO_0Zw8,6908
|
|
57
|
+
squirrels/_package_data/base_project/squirrels.yml.j2,sha256=j3X3w-rQNP25rSo9Nye8roOUJV98etlpqfsD_zHwxTo,2673
|
|
58
|
+
squirrels/_package_data/base_project/assets/expenses.db,sha256=aO0QdApW9ad8LRc73MW1o3eimryzmOAH5vz9Vc3dWK0,77824
|
|
59
|
+
squirrels/_package_data/base_project/assets/weather.db,sha256=dsHPO36gQdZ4ULAA726Hg3jp8a1dCdig1DhrGg8wTeg,86016
|
|
60
|
+
squirrels/_package_data/base_project/dashboards/dashboard_example.py,sha256=jd6Sjs69QK4zBJlRnKaloati1cU5Oby1Pzg9bUxY0ZY,1637
|
|
61
|
+
squirrels/_package_data/base_project/dashboards/dashboard_example.yml,sha256=fIm56M3J1eWp9_zDcc5R04pSLbHgdjm2X3XZgpB0SaQ,417
|
|
62
|
+
squirrels/_package_data/base_project/docker/.dockerignore,sha256=IN0ZmxwLdmYlw6I2ziTdzXkTbZWCUyV4kfUI9_lDz-A,201
|
|
63
|
+
squirrels/_package_data/base_project/docker/Dockerfile,sha256=DBOfPajd7ikNr1Qg08TcQmQmWDYamlxoDv7u6FSWElE,470
|
|
64
|
+
squirrels/_package_data/base_project/docker/compose.yml,sha256=xMAjfJeNVv49ypMGxR8bG27P5JSbPTNMR7UeGTHGyeA,105
|
|
65
|
+
squirrels/_package_data/base_project/macros/macros_example.sql,sha256=kJMAxL9ihCd-ULPOfHkqt8TDIMcH6QAOFFw89VplGL0,508
|
|
66
|
+
squirrels/_package_data/base_project/models/sources.yml,sha256=Miujhj5QRnbN1Q6BkQyeyX8FZAROPDPLWzVgdsdZy9o,1890
|
|
67
|
+
squirrels/_package_data/base_project/models/builds/build_example.py,sha256=QqNicirKK_JXn44QGrp48Ods5iGfAnoD_PZN5u-YLzQ,1022
|
|
68
|
+
squirrels/_package_data/base_project/models/builds/build_example.sql,sha256=52tqAIzFWJgX13CP4HNeBd5BFy7Z929Z0XxfLgGKthM,508
|
|
69
|
+
squirrels/_package_data/base_project/models/builds/build_example.yml,sha256=kUd6j5u8qU6UD294AowPBHFOb8yYDA_dxWlCIBrPl90,1407
|
|
70
|
+
squirrels/_package_data/base_project/models/dbviews/dbview_example.sql,sha256=RMET1ni2qeEFysxy3lSFHQOxYkfMHvs6G3JUzPhfklU,268
|
|
71
|
+
squirrels/_package_data/base_project/models/dbviews/dbview_example.yml,sha256=BFTGdBe7OcyNWKjBh7IhWgmfFgG3nT4toCR3XG5ZgLI,947
|
|
72
|
+
squirrels/_package_data/base_project/models/federates/federate_example.py,sha256=c3fJvY9ChSSt-Mg-ddwwOwUmnTzQ1_qfYldLTOduC7s,1544
|
|
73
|
+
squirrels/_package_data/base_project/models/federates/federate_example.sql,sha256=Otda657dASjQUGk5Wbh2P18gcSBIpk8d3VDrgD6vBvA,674
|
|
74
|
+
squirrels/_package_data/base_project/models/federates/federate_example.yml,sha256=FpSVZV7xNSH5iUAXMkyd_jynFxWryutz5Izlgsq3aP0,2279
|
|
75
|
+
squirrels/_package_data/base_project/pyconfigs/connections.py,sha256=IRL9D2HG9pdwp12S896b0Q-hKnFfVck8we1q5sifX10,601
|
|
76
|
+
squirrels/_package_data/base_project/pyconfigs/context.py,sha256=8zsQ0tf0EhfeRDPwK7ANNaJWAubT3AYVCzcdaOz0xwY,3670
|
|
77
|
+
squirrels/_package_data/base_project/pyconfigs/parameters.py,sha256=VEHGP8UsoV7KQQAQB-K_6ciTOLZwO6h7OgW2Q4QJk5I,4496
|
|
78
|
+
squirrels/_package_data/base_project/pyconfigs/user.py,sha256=5gRP_I5C2-z-gTaNt0F9yqk0yLzu6xrS0pdGvb8ZET4,2030
|
|
79
|
+
squirrels/_package_data/base_project/seeds/seed_categories.csv,sha256=jppjf1nOIxy7-bi5lJn5CVqmnLfJHHq0ABgp6UqbXnw,104
|
|
80
|
+
squirrels/_package_data/base_project/seeds/seed_categories.yml,sha256=NZ4BVvYYCEq6OnjRLrE_WOMhYsW0BQhRPWOgUchzdp4,435
|
|
81
|
+
squirrels/_package_data/base_project/seeds/seed_subcategories.csv,sha256=Tta1oIgnc2nukNMDlUkIErRKNH_8YT5EPp1A2kQKcow,327
|
|
82
|
+
squirrels/_package_data/base_project/seeds/seed_subcategories.yml,sha256=QTgw8Eld-p6Kntf53FyXyn7-7vKYI7IOJVu-Lr-FHCY,583
|
|
83
|
+
squirrels/_package_data/base_project/tmp/.gitignore,sha256=XImoqcWvJY0C0L_TWCx1ljvqU7qh9fUTJmK4ACCmNFI,13
|
|
84
|
+
squirrels/_package_data/templates/dataset_results.html,sha256=Y-1xtw4ZzHcoW1vfWR1amnFJqFUMvwJDY3eeY7bfKJw,2793
|
|
85
|
+
squirrels/_package_data/templates/oauth_login.html,sha256=LmR7zbjFUYxWIhB9nhIkoGDmqUgEtSXCqo0pKrWqwXw,7108
|
|
86
|
+
squirrels/_schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
|
+
squirrels/_schemas/auth_models.py,sha256=3EpMtGip5iPfA4ixWBa5ipOy9LrQafC047nc1Mhjz3w,5625
|
|
88
|
+
squirrels/_schemas/query_param_models.py,sha256=zPfvr2kHEhGqbFDDs4oGsy8zYt-acwO0mfq1ELIpEI8,4094
|
|
89
|
+
squirrels/_schemas/response_models.py,sha256=lvz37EPPDkj6ZNb8ZprnCgpmFHrZA4Xg-04MVxBqfLg,13616
|
|
90
|
+
squirrels-0.5.0b4.dist-info/METADATA,sha256=QCKmfVXmjXUPl2qya_8KIyolw072cgjrWt61LYOXZYc,4496
|
|
91
|
+
squirrels-0.5.0b4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
92
|
+
squirrels-0.5.0b4.dist-info/entry_points.txt,sha256=i6vgjhJ3o_cdSFYofFcNY9DFMPr4MIcuwnkskSTXfJc,95
|
|
93
|
+
squirrels-0.5.0b4.dist-info/licenses/LICENSE,sha256=qqERuumQtQVsMrEXvJHuecJvV2sLxbleEubd_Zk8dY8,11338
|
|
94
|
+
squirrels-0.5.0b4.dist-info/RECORD,,
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{%- macro date_and_amount_filters(use_from_range) -%}
|
|
2
|
-
|
|
3
|
-
{%- if use_from_range -%}
|
|
4
|
-
date >= {{ ctx.start_date_from_range }}
|
|
5
|
-
AND date <= {{ ctx.end_date_from_range }}
|
|
6
|
-
AND amount >= {{ ctx.min_amount_from_range }}
|
|
7
|
-
AND amount <= {{ ctx.max_amount_from_range }}
|
|
8
|
-
{%- else -%}
|
|
9
|
-
date >= {{ ctx.start_date }}
|
|
10
|
-
AND date <= {{ ctx.end_date }}
|
|
11
|
-
AND amount >= {{ ctx.min_amount }}
|
|
12
|
-
AND amount <= {{ ctx.max_amount }}
|
|
13
|
-
{%- endif -%}
|
|
14
|
-
|
|
15
|
-
{%- endmacro -%}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
from squirrels import ModelArgs, parameters as p
|
|
2
|
-
import polars as pl, pandas as pd
|
|
3
|
-
|
|
4
|
-
def dequote(value: str) -> str:
|
|
5
|
-
return value[1:-1]
|
|
6
|
-
|
|
7
|
-
def joined_str_to_list(value: str) -> list[str]:
|
|
8
|
-
return [dequote(category) for category in str(value).split(",")]
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def main(sqrl: ModelArgs) -> pl.LazyFrame | pl.DataFrame | pd.DataFrame:
|
|
12
|
-
"""
|
|
13
|
-
Create federated models by joining/processing dependent models (sources, seeds, builds, dbviews, other federates, etc.) to
|
|
14
|
-
form a new Python DataFrame (using polars LazyFrame, polars DataFrame, or pandas DataFrame).
|
|
15
|
-
"""
|
|
16
|
-
df = sqrl.ref("build_example")
|
|
17
|
-
|
|
18
|
-
df = df.filter(
|
|
19
|
-
(pl.col("amount") >= sqrl.ctx["min_amount_from_range"]) &
|
|
20
|
-
(pl.col("amount") <= sqrl.ctx["max_amount_from_range"]) &
|
|
21
|
-
(pl.col("date") >= dequote(sqrl.ctx["start_date_from_range"])) &
|
|
22
|
-
(pl.col("date") <= dequote(sqrl.ctx["end_date_from_range"]))
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
if sqrl.ctx["has_categories"]:
|
|
26
|
-
categories_list = joined_str_to_list(sqrl.ctx["categories"])
|
|
27
|
-
df = df.filter(pl.col("category_id").is_in(categories_list))
|
|
28
|
-
|
|
29
|
-
if sqrl.ctx["has_subcategories"]:
|
|
30
|
-
subcategories_list = joined_str_to_list(sqrl.ctx["subcategories"])
|
|
31
|
-
df = df.filter(pl.col("subcategory_id").is_in(subcategories_list))
|
|
32
|
-
|
|
33
|
-
dimension_cols = sqrl.ctx["group_by_cols_list"]
|
|
34
|
-
df = df.group_by(dimension_cols).agg(
|
|
35
|
-
pl.sum("amount").cast(pl.Decimal(precision=15, scale=2)).alias("total_amount")
|
|
36
|
-
)
|
|
37
|
-
df = df.sort(dimension_cols, descending=True)
|
|
38
|
-
|
|
39
|
-
if sqrl.param_exists("limit"):
|
|
40
|
-
assert isinstance(limit := sqrl.prms["limit"], p.NumberParameter)
|
|
41
|
-
df = df.limit(int(limit.get_selected_value()))
|
|
42
|
-
|
|
43
|
-
df = df.select(*dimension_cols, "total_amount")
|
|
44
|
-
return df.rename(sqrl.ctx["rename_dict"])
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{# DuckDB dialect #}
|
|
2
|
-
|
|
3
|
-
SELECT {{ ctx.select_dim_cols }}
|
|
4
|
-
, CAST(SUM(amount) AS DECIMAL(15, 2)) as total_amount
|
|
5
|
-
|
|
6
|
-
{# ref() can be used on a sources, seeds, builds, dbviews, or other federate models -#}
|
|
7
|
-
FROM {{ ref("build_example") }} AS a
|
|
8
|
-
|
|
9
|
-
WHERE {{ date_and_amount_filters(use_from_range=true) }}
|
|
10
|
-
{% if ctx.has_categories -%} AND category_id IN ({{ ctx.categories }}) {%- endif %}
|
|
11
|
-
{% if ctx.has_subcategories -%} AND subcategory_id IN ({{ ctx.subcategories }}) {%- endif %}
|
|
12
|
-
|
|
13
|
-
GROUP BY {{ ctx.group_by_cols }}
|
|
14
|
-
|
|
15
|
-
ORDER BY {{ ctx.order_by_cols }}
|
|
16
|
-
|
|
17
|
-
{{ ctx.limit_clause }}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
from squirrels import ConnectionsArgs, ConnectionProperties, ConnectionType
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
def main(connections: dict[str, ConnectionProperties | Any], sqrl: ConnectionsArgs) -> None:
|
|
6
|
-
"""
|
|
7
|
-
Define sqlalchemy engines by adding them to the "connections" dictionary
|
|
8
|
-
"""
|
|
9
|
-
## SQLAlchemy URL for a connection engine
|
|
10
|
-
conn_str: str = sqrl.env_vars["SQLITE_URI"].format(project_path=sqrl.project_path)
|
|
11
|
-
|
|
12
|
-
## Assigning names to connection engines
|
|
13
|
-
connections["default"] = ConnectionProperties(label="SQLite Expenses Database", type=ConnectionType.SQLALCHEMY, uri=conn_str)
|
|
14
|
-
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
from squirrels import ParametersArgs, parameters as p, parameter_options as po, data_sources as ds
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def main(sqrl: ParametersArgs) -> None:
|
|
5
|
-
"""
|
|
6
|
-
Create all widget parameters in this file. If two or more datasets use a different set of parameters, define them all
|
|
7
|
-
here, and specify the subset of parameters used for each dataset in the "squirrels.yml" file.
|
|
8
|
-
|
|
9
|
-
Parameters are created by a factory method associated to the parameter class. For example, "CreateWithOptions" is the factory method used here:
|
|
10
|
-
> p.SingleSelectParameter.CreateWithOptions(...)
|
|
11
|
-
|
|
12
|
-
The parameter classes available are:
|
|
13
|
-
- SingleSelectParameter, MultiSelectParameter, DateParameter, DateRangeParameter, NumberParameter, NumberRangeParameter, TextParameter
|
|
14
|
-
|
|
15
|
-
The factory methods available are:
|
|
16
|
-
- CreateSimple, CreateWithOptions, CreateFromSource
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
## Example of creating SingleSelectParameter and specifying each option by code
|
|
20
|
-
user_attribute = "role"
|
|
21
|
-
group_by_options = [
|
|
22
|
-
po.SelectParameterOption("g0", "Transaction", columns=["date", "category", "subcategory", "description"], user_groups=["manager"]),
|
|
23
|
-
po.SelectParameterOption("g1", "Day", columns=["date"], aliases=["day"], user_groups=["manager", "employee"]),
|
|
24
|
-
po.SelectParameterOption("g4", "Month", columns=["month"], user_groups=["manager", "employee"]),
|
|
25
|
-
po.SelectParameterOption("g2", "Category", columns=["category"], user_groups=["manager", "employee"]),
|
|
26
|
-
po.SelectParameterOption("g3", "Subcategory", columns=["category", "subcategory"], user_groups=["manager", "employee"]),
|
|
27
|
-
]
|
|
28
|
-
p.SingleSelectParameter.CreateWithOptions(
|
|
29
|
-
"group_by", "Group By", group_by_options, description="Dimension(s) to aggregate by", user_attribute=user_attribute
|
|
30
|
-
)
|
|
31
|
-
|
|
32
|
-
## Example of creating NumberParameter with options
|
|
33
|
-
parent = "group_by"
|
|
34
|
-
limit_options = [po.NumberParameterOption(0, 1000, increment=10, default_value=1000, parent_option_ids="g0")]
|
|
35
|
-
p.NumberParameter.CreateWithOptions(
|
|
36
|
-
"limit", "Max Number of Rows", limit_options, parent_name=parent, description="Maximum number of rows to return"
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
## Example of creating DateParameter
|
|
40
|
-
start_date_source = ds.DateDataSource(
|
|
41
|
-
"SELECT min(date) AS min_date, max(date) AS max_date FROM expenses",
|
|
42
|
-
default_date_col="min_date", min_date_col="min_date", max_date_col="max_date"
|
|
43
|
-
)
|
|
44
|
-
p.DateParameter.CreateFromSource(
|
|
45
|
-
"start_date", "Start Date", start_date_source, description="Start date to filter transactions by"
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
## Example of creating DateParameter from list of DateParameterOption's
|
|
49
|
-
end_date_option = [po.DateParameterOption("2024-12-31", min_date="2024-01-01", max_date="2024-12-31")]
|
|
50
|
-
p.DateParameter.CreateWithOptions(
|
|
51
|
-
"end_date", "End Date", end_date_option, description="End date to filter transactions by"
|
|
52
|
-
)
|
|
53
|
-
|
|
54
|
-
## Example of creating DateRangeParameter
|
|
55
|
-
p.DateRangeParameter.CreateSimple(
|
|
56
|
-
"date_range", "Date Range", "2024-01-01", "2024-12-31", min_date="2024-01-01", max_date="2024-12-31",
|
|
57
|
-
description="Date range to filter transactions by"
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
## Example of creating MultiSelectParameter from lookup query/table
|
|
61
|
-
category_ds = ds.SelectDataSource("seed_categories", "category_id", "category", from_seeds=True)
|
|
62
|
-
p.MultiSelectParameter.CreateFromSource(
|
|
63
|
-
"category", "Category Filter", category_ds, description="The expense categories to filter transactions by"
|
|
64
|
-
)
|
|
65
|
-
|
|
66
|
-
## Example of creating MultiSelectParameter with parent from lookup query/table
|
|
67
|
-
parent_name = "category"
|
|
68
|
-
subcategory_ds = ds.SelectDataSource(
|
|
69
|
-
"seed_subcategories", "subcategory_id", "subcategory", from_seeds=True, parent_id_col="category_id"
|
|
70
|
-
)
|
|
71
|
-
p.MultiSelectParameter.CreateFromSource(
|
|
72
|
-
"subcategory", "Subcategory Filter", subcategory_ds, parent_name=parent_name,
|
|
73
|
-
description="The expense subcategories to filter transactions by (available options are based on selected value(s) of 'Category Filter')"
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
## Example of creating NumberParameter
|
|
77
|
-
p.NumberParameter.CreateSimple(
|
|
78
|
-
"min_filter", "Amounts Greater Than", min_value=0, max_value=300, increment=10,
|
|
79
|
-
description="Number to filter on transactions with an amount greater than this value"
|
|
80
|
-
)
|
|
81
|
-
|
|
82
|
-
## Example of creating NumberParameter from lookup query/table
|
|
83
|
-
query = "SELECT 0 as min_value, 300 as max_value, 10 as increment"
|
|
84
|
-
max_amount_ds = ds.NumberDataSource(query, "min_value", "max_value", increment_col="increment", default_value_col="max_value")
|
|
85
|
-
p.NumberParameter.CreateFromSource(
|
|
86
|
-
"max_filter", "Amounts Less Than", max_amount_ds, description="Number to filter on transactions with an amount less than this value"
|
|
87
|
-
)
|
|
88
|
-
|
|
89
|
-
## Example of creating NumberRangeParameter
|
|
90
|
-
p.NumberRangeParameter.CreateSimple(
|
|
91
|
-
"between_filter", "Amounts Between", 0, 300, default_lower_value=0, default_upper_value=300,
|
|
92
|
-
description="Number range to filter on transactions with an amount within this range"
|
|
93
|
-
)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
from typing import Literal
|
|
2
|
-
from squirrels import BaseUser
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class User(BaseUser):
|
|
6
|
-
"""
|
|
7
|
-
Extend the BaseUser class with custom attributes. The attributes defined here will be added as columns to the users table.
|
|
8
|
-
- Only the following types are supported: [str, int, float, bool, typing.Literal]
|
|
9
|
-
- For str, int, and float types, add "| None" after the type to make it nullable.
|
|
10
|
-
- Always set a default value for the column (use None if default is null).
|
|
11
|
-
|
|
12
|
-
Example:
|
|
13
|
-
organization: str | None = None
|
|
14
|
-
"""
|
|
15
|
-
role: Literal["manager", "employee"] = "employee"
|
|
16
|
-
|
|
17
|
-
@classmethod
|
|
18
|
-
def dropped_columns(cls) -> list[str]:
|
|
19
|
-
"""
|
|
20
|
-
The fields defined above cannot be modified once added to the database.
|
|
21
|
-
However, you can choose to drop columns by adding them to this list.
|
|
22
|
-
"""
|
|
23
|
-
return []
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
dateutils/__init__.py,sha256=7HDDMpT26jreIkDecQo_-CGPwmhMBwMsCyLKuWc4EPY,16673
|
|
2
|
-
squirrels/__init__.py,sha256=Y62ldkfs81jsKcetWLDw_1a98gwALx9Ww1b_rLsBpbs,1010
|
|
3
|
-
squirrels/_api_response_models.py,sha256=fQWjEBGAyy8KbkaY4jjOKvxhEcvQPU1bF2dJRTVTRc4,13601
|
|
4
|
-
squirrels/_api_server.py,sha256=1jhUr7GwwwD0O5dqQOX11uuU3Ea-zKXheeeQM0cLrDE,51181
|
|
5
|
-
squirrels/_auth.py,sha256=XCC9i-Z7PaU74u-fqR6_d_eoc9qVh-5nC0CdYp4Svvg,19254
|
|
6
|
-
squirrels/_command_line.py,sha256=ZB7cTJabWiYEV6tFi1l87M-w468LJ-DV7TNgQ_bqFbY,11151
|
|
7
|
-
squirrels/_connection_set.py,sha256=ZxnNAj9Cu_5ba0uwi6v_ItH6nurFnONrPgB47_GE-3I,3987
|
|
8
|
-
squirrels/_constants.py,sha256=RDoUo4HtiVIQXatVdLoMXaGs1pkNER-Kgnmgs4FUx_Y,3126
|
|
9
|
-
squirrels/_dashboards_io.py,sha256=PPZGB6TpPYxaWJ2pJMj0cZNT9Vo14QV9w-1idLb_eaE,2993
|
|
10
|
-
squirrels/_exceptions.py,sha256=OOywX0UhX-KnvC8MScl2E6KYq3bzLq-PSqOpF7NbUvc,2481
|
|
11
|
-
squirrels/_initializer.py,sha256=-aQHgpGADfJDfMUW1ToJR_4YJgglIAHJ2zH457h3rzY,14100
|
|
12
|
-
squirrels/_manifest.py,sha256=SrnGj_dd6L1O5Ygfr_B4rvxv_zx9iZap8bSfHTjhx4o,10208
|
|
13
|
-
squirrels/_model_builder.py,sha256=fdoBcbbDpQaSTApV0mHKbq3yFe5xrr-TggdehEx8xE0,5063
|
|
14
|
-
squirrels/_model_configs.py,sha256=90ops65jN_iEeZjdR6VzfV0AGbTro6m4XEzbo5Mlf6Y,3299
|
|
15
|
-
squirrels/_model_queries.py,sha256=xzfkPvHMq-5m22pnb-Zd045gRTdWe7UP6RmS9AZ-LRk,1086
|
|
16
|
-
squirrels/_models.py,sha256=C99VZVQsdcLYRBxNasOj95o8LNJcVxW5AqcxxYo0mIQ,48796
|
|
17
|
-
squirrels/_package_loader.py,sha256=xcIur5Z38OWd-OVjsueFstVV567zlkK9UBnLS4NawJY,1158
|
|
18
|
-
squirrels/_parameter_configs.py,sha256=sWQEJ7Hr6s1TE91H6qZsUO7uUAZqlS0z2Af3ZNoqc7I,23981
|
|
19
|
-
squirrels/_parameter_sets.py,sha256=aE6IDELpLgytjt_G7eI9oTEMgDCgkb71dxATBsrnC38,9837
|
|
20
|
-
squirrels/_project.py,sha256=3Ve6waHnRh92tu-KJSy5GJ5imaIf4LqBQcq_dlokAJs,28314
|
|
21
|
-
squirrels/_py_module.py,sha256=LgILTjMx3jyb92o8Y35ezpntuk6u6ezYVGAICKhUSUM,2622
|
|
22
|
-
squirrels/_seeds.py,sha256=yyIYp4bn9Sg6lhgvsOYIJQHIpPbvLNsyGHVfswEyVd8,2225
|
|
23
|
-
squirrels/_sources.py,sha256=j5mY_EtA5cxoHwtk8RwTVHO74hleik2lS7mF9gVnG_A,4840
|
|
24
|
-
squirrels/_utils.py,sha256=dOGlXjMY_Ad-A5TCVPyIeW81738cK4Ytz2Wghv2irPU,12138
|
|
25
|
-
squirrels/_version.py,sha256=M8aFbJ4vlAi3Sk9b7leRuEfkNBjkkX5S_F9lA4h8GK4,105
|
|
26
|
-
squirrels/dashboards.py,sha256=pekv_ERwoHHpBLYjIXSJ7Z8X7suWmjyex_whpCpZY60,1974
|
|
27
|
-
squirrels/data_sources.py,sha256=W3wzXyC7wGVnz49JkWYZQxBqNuViC_QhulM90KEuLCY,26088
|
|
28
|
-
squirrels/dataset_result.py,sha256=wZvvRs4U1Hva_iyoFosAAu76S1yfv1Cd5SX3UMIw2PA,2838
|
|
29
|
-
squirrels/parameter_options.py,sha256=cWYKNoBUopHq6VfaeBu-nN2V0_IY3OgYpmYhKODNCew,16956
|
|
30
|
-
squirrels/parameters.py,sha256=kcMQ5-GEQ5lA9Zs_-R21n2Hq5_gULCygQy-Rf1FJK-4,56001
|
|
31
|
-
squirrels/arguments/init_time_args.py,sha256=wl9PrVr3iHsMuZQEfrUj_gyzjdSqMTdQbpYUPjWQEsc,3477
|
|
32
|
-
squirrels/arguments/run_time_args.py,sha256=3L8lQvICJPdH75J1rAqqeupM8raUIw6VedEHJL8nT0c,5705
|
|
33
|
-
squirrels/package_data/base_project/.env,sha256=3Tuk3SJl7RNMebm8P0jocqB-Ox91aW09Zreq8QjyUJ4,1026
|
|
34
|
-
squirrels/package_data/base_project/.env.example,sha256=dS5ZO_kyMT3GdZbj6nfiK9PzkvwGfse9-UiYkvrh7ys,1078
|
|
35
|
-
squirrels/package_data/base_project/.gitignore,sha256=B9OEkQ_j9fZGA2IAyVUvXeylxpya-AUwzLzqzMN4Bfc,155
|
|
36
|
-
squirrels/package_data/base_project/connections.yml,sha256=qZxh7OuI2xqf2cFKwpMo5TONrJXGVzQ7YfcWh4Go7Oo,1011
|
|
37
|
-
squirrels/package_data/base_project/duckdb_init.sql,sha256=iwKDoHbKhOEMe-Pu_sX5a9OauCgqxfZLD70S7RduBrE,196
|
|
38
|
-
squirrels/package_data/base_project/parameters.yml,sha256=McvLXWWI3DoYqTUPGBFo9ArsGJOCseh9mdzO9TxiJ8I,6755
|
|
39
|
-
squirrels/package_data/base_project/squirrels.yml.j2,sha256=j3X3w-rQNP25rSo9Nye8roOUJV98etlpqfsD_zHwxTo,2673
|
|
40
|
-
squirrels/package_data/base_project/assets/expenses.db,sha256=aO0QdApW9ad8LRc73MW1o3eimryzmOAH5vz9Vc3dWK0,77824
|
|
41
|
-
squirrels/package_data/base_project/assets/weather.db,sha256=dsHPO36gQdZ4ULAA726Hg3jp8a1dCdig1DhrGg8wTeg,86016
|
|
42
|
-
squirrels/package_data/base_project/dashboards/dashboard_example.py,sha256=8hg5MIrmeD5OpiKb7x2TCRkAsc4Rg36lf6I4KpJg7Os,1621
|
|
43
|
-
squirrels/package_data/base_project/dashboards/dashboard_example.yml,sha256=mxC1Zmt33TpjpSCEFPAkK7nOcVbSJBhbWh7wMGeHav0,410
|
|
44
|
-
squirrels/package_data/base_project/docker/.dockerignore,sha256=IN0ZmxwLdmYlw6I2ziTdzXkTbZWCUyV4kfUI9_lDz-A,201
|
|
45
|
-
squirrels/package_data/base_project/docker/Dockerfile,sha256=DBOfPajd7ikNr1Qg08TcQmQmWDYamlxoDv7u6FSWElE,470
|
|
46
|
-
squirrels/package_data/base_project/docker/compose.yml,sha256=xMAjfJeNVv49ypMGxR8bG27P5JSbPTNMR7UeGTHGyeA,105
|
|
47
|
-
squirrels/package_data/base_project/macros/macros_example.sql,sha256=oxC6TZmoqgTiXEjosQbiKwUV2-mAGbINmNoV36V1-PI,510
|
|
48
|
-
squirrels/package_data/base_project/models/sources.yml,sha256=Miujhj5QRnbN1Q6BkQyeyX8FZAROPDPLWzVgdsdZy9o,1890
|
|
49
|
-
squirrels/package_data/base_project/models/builds/build_example.py,sha256=SUfWN7E8lZJYl-Zi2c-KoLADha4S5sw4T6cVhhozLaY,1014
|
|
50
|
-
squirrels/package_data/base_project/models/builds/build_example.sql,sha256=UNpgvybUV7sVK-KN2h-ULDyDb4uwN3nYNGZUcBLBtrU,506
|
|
51
|
-
squirrels/package_data/base_project/models/builds/build_example.yml,sha256=kUd6j5u8qU6UD294AowPBHFOb8yYDA_dxWlCIBrPl90,1407
|
|
52
|
-
squirrels/package_data/base_project/models/dbviews/dbview_example.sql,sha256=hGj7rNJZzgEKGxqzwjmkCAdL-0hOh4U7pIJCyz2SYHk,266
|
|
53
|
-
squirrels/package_data/base_project/models/dbviews/dbview_example.yml,sha256=BFTGdBe7OcyNWKjBh7IhWgmfFgG3nT4toCR3XG5ZgLI,947
|
|
54
|
-
squirrels/package_data/base_project/models/federates/federate_example.py,sha256=g30cVukwI9UIypZR6KOU1z0KWLwx2kGIkRHhrdmeZq8,1774
|
|
55
|
-
squirrels/package_data/base_project/models/federates/federate_example.sql,sha256=A_-ts4Qw5eO-btnrmGbagv3MWJ0TUj_hBS5P7jaCNP4,574
|
|
56
|
-
squirrels/package_data/base_project/models/federates/federate_example.yml,sha256=xhNmc4nT5zyc7J6tr_xSq_lQl3RP6pg4zUuxTPpaEXE,2254
|
|
57
|
-
squirrels/package_data/base_project/pyconfigs/connections.py,sha256=zueK24yEuWt1x_xcR0Q-ikXGe2dXsS4wwh3qlzKG39Q,600
|
|
58
|
-
squirrels/package_data/base_project/pyconfigs/context.py,sha256=9QuvSc7_oAipsIaaeT06bMnjGtUlpKdxmu5xnofE__Y,3717
|
|
59
|
-
squirrels/package_data/base_project/pyconfigs/parameters.py,sha256=VS6fC5H0JSY_bubnDb4iawOI5niEGESF3YFDQ9gv1co,5053
|
|
60
|
-
squirrels/package_data/base_project/pyconfigs/user.py,sha256=L-dj3skPFM2B46g1NgXhX7fgCB7MzLLhWcwMAan98xE,851
|
|
61
|
-
squirrels/package_data/base_project/seeds/seed_categories.csv,sha256=jppjf1nOIxy7-bi5lJn5CVqmnLfJHHq0ABgp6UqbXnw,104
|
|
62
|
-
squirrels/package_data/base_project/seeds/seed_categories.yml,sha256=NZ4BVvYYCEq6OnjRLrE_WOMhYsW0BQhRPWOgUchzdp4,435
|
|
63
|
-
squirrels/package_data/base_project/seeds/seed_subcategories.csv,sha256=Tta1oIgnc2nukNMDlUkIErRKNH_8YT5EPp1A2kQKcow,327
|
|
64
|
-
squirrels/package_data/base_project/seeds/seed_subcategories.yml,sha256=QTgw8Eld-p6Kntf53FyXyn7-7vKYI7IOJVu-Lr-FHCY,583
|
|
65
|
-
squirrels/package_data/base_project/tmp/.gitignore,sha256=XImoqcWvJY0C0L_TWCx1ljvqU7qh9fUTJmK4ACCmNFI,13
|
|
66
|
-
squirrels-0.5.0b2.dist-info/METADATA,sha256=JTh_jdSvir5R6fCBIwjYJ_nRD6OfKwWnti-o2di3UXY,4399
|
|
67
|
-
squirrels-0.5.0b2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
68
|
-
squirrels-0.5.0b2.dist-info/entry_points.txt,sha256=i6vgjhJ3o_cdSFYofFcNY9DFMPr4MIcuwnkskSTXfJc,95
|
|
69
|
-
squirrels-0.5.0b2.dist-info/licenses/LICENSE,sha256=qqERuumQtQVsMrEXvJHuecJvV2sLxbleEubd_Zk8dY8,11338
|
|
70
|
-
squirrels-0.5.0b2.dist-info/RECORD,,
|
|
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
|