laketower 0.5.1__py3-none-any.whl → 0.6.5__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 laketower might be problematic. Click here for more details.
- laketower/__about__.py +1 -1
- laketower/cli.py +269 -101
- laketower/config.py +96 -14
- laketower/static/datatables.bundle.js +27931 -0
- laketower/static/datatables.js +55 -0
- laketower/static/editor.bundle.js +27433 -0
- laketower/static/editor.js +74 -0
- laketower/static/vendor/bootstrap/bootstrap.bundle.min.js +7 -0
- laketower/static/vendor/bootstrap-icons/bootstrap-icons.min.css +5 -0
- laketower/static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
- laketower/static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
- laketower/static/vendor/datatables.net-bs5/dataTables.bootstrap5.css +610 -0
- laketower/static/vendor/datatables.net-columncontrol-bs5/columnControl.bootstrap5.min.css +1 -0
- laketower/static/vendor/halfmoon/halfmoon.min.css +22 -0
- laketower/static/vendor/halfmoon/halfmoon.modern.css +282 -0
- laketower/tables.py +218 -16
- laketower/templates/_base.html +99 -20
- laketower/templates/queries/view.html +50 -8
- laketower/templates/tables/_macros.html +3 -0
- laketower/templates/tables/history.html +6 -0
- laketower/templates/tables/import.html +71 -0
- laketower/templates/tables/index.html +6 -0
- laketower/templates/tables/query.html +53 -7
- laketower/templates/tables/statistics.html +10 -4
- laketower/templates/tables/view.html +48 -42
- laketower/web.py +253 -30
- {laketower-0.5.1.dist-info → laketower-0.6.5.dist-info}/METADATA +189 -5
- laketower-0.6.5.dist-info/RECORD +35 -0
- laketower-0.6.5.dist-info/entry_points.txt +2 -0
- laketower-0.5.1.dist-info/RECORD +0 -22
- laketower-0.5.1.dist-info/entry_points.txt +0 -2
- {laketower-0.5.1.dist-info → laketower-0.6.5.dist-info}/WHEEL +0 -0
- {laketower-0.5.1.dist-info → laketower-0.6.5.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: laketower
|
|
3
|
-
Version: 0.5
|
|
3
|
+
Version: 0.6.5
|
|
4
4
|
Summary: Oversee your lakehouse
|
|
5
5
|
Project-URL: Repository, https://github.com/datalpia/laketower
|
|
6
6
|
Project-URL: Issues, https://github.com/datalpia/laketower/issues
|
|
@@ -22,21 +22,24 @@ Classifier: Topic :: Database
|
|
|
22
22
|
Classifier: Topic :: Software Development
|
|
23
23
|
Classifier: Topic :: Utilities
|
|
24
24
|
Requires-Python: <3.14,>=3.10
|
|
25
|
+
Requires-Dist: bleach
|
|
25
26
|
Requires-Dist: deltalake<2,>=1
|
|
26
27
|
Requires-Dist: duckdb
|
|
27
28
|
Requires-Dist: fastapi
|
|
28
29
|
Requires-Dist: jinja2!=3.1.5,>=3
|
|
29
|
-
Requires-Dist:
|
|
30
|
+
Requires-Dist: markdown
|
|
30
31
|
Requires-Dist: pyarrow!=19.0.0
|
|
31
32
|
Requires-Dist: pydantic-settings>=2
|
|
32
33
|
Requires-Dist: pydantic>=2
|
|
34
|
+
Requires-Dist: python-multipart
|
|
33
35
|
Requires-Dist: pyyaml
|
|
34
36
|
Requires-Dist: rich
|
|
35
37
|
Requires-Dist: sqlglot
|
|
38
|
+
Requires-Dist: tzdata
|
|
36
39
|
Requires-Dist: uvicorn
|
|
37
40
|
Description-Content-Type: text/markdown
|
|
38
41
|
|
|
39
|
-
# Laketower
|
|
42
|
+
# 🗼 Laketower
|
|
40
43
|
|
|
41
44
|
> Oversee your lakehouse
|
|
42
45
|
|
|
@@ -50,13 +53,16 @@ Utility application to explore and manage tables in your data lakehouse, especia
|
|
|
50
53
|
## Features
|
|
51
54
|
|
|
52
55
|
- Delta Lake table format support
|
|
56
|
+
- Remote tables support (S3, ADLS)
|
|
53
57
|
- Inspect table metadata
|
|
54
58
|
- Inspect table schema
|
|
55
59
|
- Inspect table history
|
|
56
60
|
- Get table statistics
|
|
61
|
+
- Import data into a table from CSV files
|
|
57
62
|
- View table content with a simple query builder
|
|
58
63
|
- Query all registered tables with DuckDB SQL dialect
|
|
59
64
|
- Execute saved queries
|
|
65
|
+
- Export query results to CSV files
|
|
60
66
|
- Static and versionable YAML configuration
|
|
61
67
|
- Web application
|
|
62
68
|
- CLI application
|
|
@@ -86,6 +92,11 @@ Laketower configuration is based on a static YAML configuration file allowing to
|
|
|
86
92
|
Format:
|
|
87
93
|
|
|
88
94
|
```yaml
|
|
95
|
+
settings:
|
|
96
|
+
max_query_rows: 1000
|
|
97
|
+
web:
|
|
98
|
+
hide_tables: false
|
|
99
|
+
|
|
89
100
|
tables:
|
|
90
101
|
- name: <table_name>
|
|
91
102
|
uri: <local path to table>
|
|
@@ -94,12 +105,18 @@ tables:
|
|
|
94
105
|
queries:
|
|
95
106
|
- name: <query_name>
|
|
96
107
|
title: <Query name>
|
|
108
|
+
description: <Query description>
|
|
109
|
+
parameters:
|
|
110
|
+
<param_name_1>:
|
|
111
|
+
default: <default_value>
|
|
97
112
|
sql: <sql expression>
|
|
98
113
|
```
|
|
99
114
|
|
|
100
115
|
Current limitations:
|
|
101
116
|
|
|
102
|
-
- `tables.uri`:
|
|
117
|
+
- `tables.uri`:
|
|
118
|
+
- Local paths are supported (`./path/to/table`, `/abs/path/to/table`, `file:///abs/path/to/table`)
|
|
119
|
+
- Remote paths to S3 (`s3://<bucket>/<path>`) and ADLS (`abfss://<container>/<path>`)
|
|
103
120
|
- `tables.format`: only `delta` is allowed
|
|
104
121
|
|
|
105
122
|
Example from the provided demo:
|
|
@@ -138,6 +155,103 @@ queries:
|
|
|
138
155
|
day asc
|
|
139
156
|
```
|
|
140
157
|
|
|
158
|
+
Support for environment variables substitution is also supported within the YAML
|
|
159
|
+
configuration using a object containing a single key `env` with the name of the
|
|
160
|
+
environment variable to be injected. The value of the variable can contain JSON
|
|
161
|
+
and will be decoded in a best effort manner (default to string value). For instance:
|
|
162
|
+
|
|
163
|
+
```yaml
|
|
164
|
+
# export TABLE_URI=path/to/table
|
|
165
|
+
|
|
166
|
+
tables:
|
|
167
|
+
- name: sample_table
|
|
168
|
+
uri:
|
|
169
|
+
env: TABLE_URI
|
|
170
|
+
format: delta
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
#### Remote S3 Tables
|
|
174
|
+
|
|
175
|
+
Configuring S3 tables (AWS, MinIO, Cloudflare R2):
|
|
176
|
+
|
|
177
|
+
```yaml
|
|
178
|
+
tables:
|
|
179
|
+
- name: delta_table_s3
|
|
180
|
+
uri: s3://<bucket>/path/to/table
|
|
181
|
+
format: delta
|
|
182
|
+
connection:
|
|
183
|
+
s3:
|
|
184
|
+
s3_access_key_id: access-key-id
|
|
185
|
+
s3_secret_access_key: secret-access-key
|
|
186
|
+
s3_region: s3-region
|
|
187
|
+
s3_endpoint_url: http://s3.domain.com
|
|
188
|
+
s3_allow_http: false
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Depending on your object storage location and configuration, one might have to
|
|
192
|
+
set part or all the available `connection.s3` parameters. The only required ones
|
|
193
|
+
are `s3_access_key_id` and `s3_secret_access_key`.
|
|
194
|
+
|
|
195
|
+
Also as a security best practice, it is best not to write secrets directly in
|
|
196
|
+
static configuration files, so one can use environment variables to all dynamic substitution,
|
|
197
|
+
e.g.
|
|
198
|
+
|
|
199
|
+
```yaml
|
|
200
|
+
tables:
|
|
201
|
+
- name: delta_table_s3
|
|
202
|
+
uri: s3://<bucket>/path/to/table
|
|
203
|
+
format: delta
|
|
204
|
+
connection:
|
|
205
|
+
s3:
|
|
206
|
+
s3_access_key_id: access-key-id
|
|
207
|
+
s3_secret_access_key:
|
|
208
|
+
env: S3_SECRET_ACCESS_KEY
|
|
209
|
+
s3_region: s3-region
|
|
210
|
+
s3_endpoint_url: http://s3.domain.com
|
|
211
|
+
s3_allow_http: false
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
#### Remote ADLS Tables
|
|
215
|
+
|
|
216
|
+
Configuring Azure ADLS tables:
|
|
217
|
+
|
|
218
|
+
```yaml
|
|
219
|
+
tables:
|
|
220
|
+
- name: delta_table_adls
|
|
221
|
+
uri: abfss://<container>/path/to/table
|
|
222
|
+
format: delta
|
|
223
|
+
connection:
|
|
224
|
+
adls:
|
|
225
|
+
adls_account_name: adls-account-name
|
|
226
|
+
adls_access_key: adls-access-key
|
|
227
|
+
adls_sas_key: adls-sas-key
|
|
228
|
+
adls_tenant_id: adls-tenant-id
|
|
229
|
+
adls_client_id: adls-client-id
|
|
230
|
+
adls_client_secret: adls-client-secret
|
|
231
|
+
azure_msi_endpoint: https://msi.azure.com
|
|
232
|
+
use_azure_cli: false
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Depending on your object storage location and configuration, one might have to
|
|
236
|
+
set part or all the available `connection.adls` parameters. The only required one
|
|
237
|
+
is `adls_account_name`.
|
|
238
|
+
|
|
239
|
+
Also as a security best practice, it is best not to write secrets directly in
|
|
240
|
+
static configuration files, so one can use environment variables to all dynamic substitution,
|
|
241
|
+
e.g.
|
|
242
|
+
|
|
243
|
+
```yaml
|
|
244
|
+
tables:
|
|
245
|
+
- name: delta_table_adls
|
|
246
|
+
uri: abfss://<container>/path/to/table
|
|
247
|
+
format: delta
|
|
248
|
+
connection:
|
|
249
|
+
adls:
|
|
250
|
+
adls_account_name: adls-account-name
|
|
251
|
+
adls_access_key:
|
|
252
|
+
env: ADLS_ACCESS_KEY
|
|
253
|
+
```
|
|
254
|
+
|
|
141
255
|
### Web Application
|
|
142
256
|
|
|
143
257
|
The easiest way to get started is to launch the Laketower web application:
|
|
@@ -152,6 +266,7 @@ $ laketower -c demo/laketower.yml web
|
|
|
152
266
|

|
|
153
267
|

|
|
154
268
|

|
|
269
|
+

|
|
155
270
|

|
|
156
271
|

|
|
157
272
|
|
|
@@ -321,6 +436,29 @@ $ laketower -c demo/laketower.yml tables statistics --version 0 weather
|
|
|
321
436
|
└──────────────────────┴───────┴──────┴──────┴──────┴──────┘
|
|
322
437
|
```
|
|
323
438
|
|
|
439
|
+
#### Import data into a given table
|
|
440
|
+
|
|
441
|
+
Import a CSV dataset into a table in append mode:
|
|
442
|
+
|
|
443
|
+
```bash
|
|
444
|
+
$ laketower -c demo/laketower.yml tables import weather --file data.csv --mode append --format csv --delimiter ',' --encoding 'utf-8'
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
`--mode` argument can be one of:
|
|
448
|
+
- `append`: append rows to the table (default)
|
|
449
|
+
- `overwrite`: replace all rows with the ones from the input file
|
|
450
|
+
|
|
451
|
+
`--format` argument can be one of:
|
|
452
|
+
- `csv`: CSV file format (default)
|
|
453
|
+
|
|
454
|
+
`--delimiter` argument can be:
|
|
455
|
+
- Any single character (only valid for CSV file format)
|
|
456
|
+
- Default is _comma_ (`','`)
|
|
457
|
+
|
|
458
|
+
`--encoding` argument can be:
|
|
459
|
+
- Any [standard Python encoding](https://docs.python.org/3/library/codecs.html#standard-encodings),
|
|
460
|
+
- Default is `'utf-8'`
|
|
461
|
+
|
|
324
462
|
#### View a given table
|
|
325
463
|
|
|
326
464
|
Using a simple query builder, the content of a table can be displayed.
|
|
@@ -398,6 +536,32 @@ $ laketower -c demo/laketower.yml tables query "select date_trunc('day', time) a
|
|
|
398
536
|
│ 2025-02-11 00:00:00+01:00 │ 4.833333373069763 │
|
|
399
537
|
│ 2025-02-10 00:00:00+01:00 │ 2.1083333243926368 │
|
|
400
538
|
└───────────────────────────┴────────────────────┘
|
|
539
|
+
3 rows returned
|
|
540
|
+
Execution time: 33.72ms
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
Use named parameters within a giving query (note: escape `$` prefixes properly!):
|
|
544
|
+
|
|
545
|
+
```bash
|
|
546
|
+
$ laketower -c demo/laketower.yml tables query "select date_trunc('day', time) as day, avg(temperature_2m) as mean_temperature from weather where day between \$start_date and \$end_date group by day order by day desc" -p start_date 2025-01-29 -p end_date 2025-01-31
|
|
547
|
+
|
|
548
|
+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
|
|
549
|
+
┃ day ┃ mean_temperature ┃
|
|
550
|
+
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
|
|
551
|
+
│ 2025-01-31 00:00:00+01:00 │ 5.683333257834117 │
|
|
552
|
+
│ 2025-01-30 00:00:00+01:00 │ 8.900000015894571 │
|
|
553
|
+
│ 2025-01-29 00:00:00+01:00 │ 7.770833313465118 │
|
|
554
|
+
└───────────────────────────┴────────────────────┘
|
|
555
|
+
4 rows returned
|
|
556
|
+
Execution time: 30.59ms
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
Export query results to CSV:
|
|
560
|
+
|
|
561
|
+
```bash
|
|
562
|
+
$ laketower -c demo/laketower.yml tables query --output results.csv "select date_trunc('day', time) as day, avg(temperature_2m) as mean_temperature from weather group by day order by day desc limit 3"
|
|
563
|
+
|
|
564
|
+
Query results written to: results.csv
|
|
401
565
|
```
|
|
402
566
|
|
|
403
567
|
#### List saved queries
|
|
@@ -437,10 +601,30 @@ $ laketower -c demo/laketower.yml queries view daily_avg_temperature
|
|
|
437
601
|
│ 2025-02-11 00:00:00+01:00 │ 5.0 │
|
|
438
602
|
│ 2025-02-12 00:00:00+01:00 │ 5.0 │
|
|
439
603
|
└───────────────────────────┴─────────────────┘
|
|
604
|
+
18 rows returned
|
|
605
|
+
Execution time: 39.52ms
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
Executing a predefined query with parameters (here `start_date` and `end_date`):
|
|
609
|
+
|
|
610
|
+
```bash
|
|
611
|
+
$ laketower -c demo/laketower.yml queries view daily_avg_temperature_params -p start_date 2025-02-01 -p end_date 2025-02-05
|
|
612
|
+
|
|
613
|
+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
|
|
614
|
+
┃ day ┃ avg_temperature ┃
|
|
615
|
+
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
|
|
616
|
+
│ 2025-02-01 00:00:00+01:00 │ 4.0 │
|
|
617
|
+
│ 2025-02-02 00:00:00+01:00 │ 4.0 │
|
|
618
|
+
│ 2025-02-03 00:00:00+01:00 │ 4.0 │
|
|
619
|
+
│ 2025-02-04 00:00:00+01:00 │ 3.0 │
|
|
620
|
+
│ 2025-02-05 00:00:00+01:00 │ 3.0 │
|
|
621
|
+
└───────────────────────────┴─────────────────┘
|
|
622
|
+
6 rows returned
|
|
623
|
+
Execution time: 32.08ms
|
|
440
624
|
```
|
|
441
625
|
|
|
442
626
|
## License
|
|
443
627
|
|
|
444
628
|
Licensed under [Apache License 2.0](LICENSE)
|
|
445
629
|
|
|
446
|
-
Copyright (c) 2025 - present Romain Clement
|
|
630
|
+
Copyright (c) 2025 - present Romain Clement / Datalpia
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
laketower/__about__.py,sha256=KDgkBrBsBSUzbLgrOZ89YsNN06fU4j5bmcuEwo6q5pg,22
|
|
2
|
+
laketower/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
laketower/__main__.py,sha256=czKxJKG8OfncnxWmpaOWx7b1JBwFnZNQi7wKSTncB4M,108
|
|
4
|
+
laketower/cli.py,sha256=6jwvG2ZjNQNOJJS6fWzOcr8cp2u0VMgMuBd9vIIaS8o,18071
|
|
5
|
+
laketower/config.py,sha256=9zY69hIDSYcNqZtWGu-Jv23BFmLtHh2p03DZq9-1s_c,3703
|
|
6
|
+
laketower/tables.py,sha256=o5OxrSTamUFZC8j7qBnJWEAZ_9tG1sPzif2XFAJjIM0,11713
|
|
7
|
+
laketower/web.py,sha256=mm-zNsi8mc_5ig8TWXt4p8k2GghFvVIIjpAguAGT6Nw,14696
|
|
8
|
+
laketower/static/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
laketower/static/datatables.bundle.js,sha256=k9QXhh0gBLtw5gJRJToDrgdNVPBWAKRdNfBmYvziuiA,814319
|
|
10
|
+
laketower/static/datatables.js,sha256=lsBkx3Kt9GwGDZ97JEgDkwvfBlzK3THlN1K43iOrqvM,1857
|
|
11
|
+
laketower/static/editor.bundle.js,sha256=Wa1bS0xWwKDjHKPTdXd-PX41JAGkCjd0VLBCF-SyXWk,1159343
|
|
12
|
+
laketower/static/editor.js,sha256=C8saQJH68X7CtdRyBmvrQxsDJ013YWoMfWF-6hzf_5s,15870
|
|
13
|
+
laketower/static/vendor/bootstrap/bootstrap.bundle.min.js,sha256=5P1JGBOIxI7FBAvT_mb1fCnI5n_NhQKzNUuW7Hq0fMc,80496
|
|
14
|
+
laketower/static/vendor/bootstrap-icons/bootstrap-icons.min.css,sha256=pdY4ejLKO67E0CM2tbPtq1DJ3VGDVVdqAR6j3ZwdiE4,87008
|
|
15
|
+
laketower/static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff,sha256=9VUTt7WRy4SjuH_w406iTUgx1v7cIuVLkRymS1tUShU,180288
|
|
16
|
+
laketower/static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2,sha256=bHVxA2ShylYEJncW9tKJl7JjGf2weM8R4LQqtm_y6mE,134044
|
|
17
|
+
laketower/static/vendor/datatables.net-bs5/dataTables.bootstrap5.css,sha256=OPNPBvNyQahoUZ5gvqCCz9nPPIoUug2nn2_fpg9D8H0,21837
|
|
18
|
+
laketower/static/vendor/datatables.net-columncontrol-bs5/columnControl.bootstrap5.min.css,sha256=JwBYwZbQtbi-PwceKQ4KeqQp6E0QnGzeUSbaX-26UZc,13574
|
|
19
|
+
laketower/static/vendor/halfmoon/halfmoon.min.css,sha256=RjeFzczeuZHCyS-Gvz-kleETzBF_o84ZRHukze_yv6o,369168
|
|
20
|
+
laketower/static/vendor/halfmoon/halfmoon.modern.css,sha256=DD6elX-jPmbFYPsGvzodUv2-9FHkxHlVtQi0_RJVULs,10576
|
|
21
|
+
laketower/templates/_base.html,sha256=bRSdILczy9V05fMNu-iz30dLB6e14XFUhurBu2AlGK4,7065
|
|
22
|
+
laketower/templates/index.html,sha256=dLF2Og0qgzBkvGyVRidRNzTv0u4o97ifOx1jVeig8Kg,59
|
|
23
|
+
laketower/templates/queries/view.html,sha256=2vEqpOsgx6lPCYEcxW5VM60oERwayjrDlSaCznJ6MkY,3426
|
|
24
|
+
laketower/templates/tables/_macros.html,sha256=sCI1TOFW0QA74oSXW87H6dNTudOs7n-FretnTPFcRh4,1174
|
|
25
|
+
laketower/templates/tables/history.html,sha256=a5GBLXCiLlbWno5eR0XT5i_oMAghylUBBFOpr27NB3Q,1853
|
|
26
|
+
laketower/templates/tables/import.html,sha256=bQZwRrv84tDBuf0AHJyc7L-PjW-XSoZhMHNDIo6TP4c,2604
|
|
27
|
+
laketower/templates/tables/index.html,sha256=saNdQbJAjMJAzayTk4rA5Mmw_bCXvor2WpghVmoWSAI,2507
|
|
28
|
+
laketower/templates/tables/query.html,sha256=lI_jHcXV-lxMIDyWhNcfFwwJUFLHIICue9usZ5obnx0,3344
|
|
29
|
+
laketower/templates/tables/statistics.html,sha256=yVsu-hNPSQ3-IX-4Z4bukLR4nERvy5PwWENfkW24xyg,1858
|
|
30
|
+
laketower/templates/tables/view.html,sha256=D5jkzzMM6YaFKPquTGnh--7tlNBtF0iztBN0ULvLePs,3947
|
|
31
|
+
laketower-0.6.5.dist-info/METADATA,sha256=HEAXi9UmhTPoKgaVSUm2TrJFsK31dlHwzlgSG7gEoVs,27905
|
|
32
|
+
laketower-0.6.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
33
|
+
laketower-0.6.5.dist-info/entry_points.txt,sha256=sJpQgRwdeZhRBudNqBTqtHPCE-uLC9YgFXJY2CTEyCk,53
|
|
34
|
+
laketower-0.6.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
35
|
+
laketower-0.6.5.dist-info/RECORD,,
|
laketower-0.5.1.dist-info/RECORD
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
laketower/__about__.py,sha256=eZ1bOun1DDVV0YLOBW4wj2FP1ajReLjbIrGmzN7ASBw,22
|
|
2
|
-
laketower/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
laketower/__main__.py,sha256=czKxJKG8OfncnxWmpaOWx7b1JBwFnZNQi7wKSTncB4M,108
|
|
4
|
-
laketower/cli.py,sha256=U4gI12egcOs51wxjmQlU70XhA2QGcowc0AmTYpUKEFE,11962
|
|
5
|
-
laketower/config.py,sha256=NdUDF7lr2hEW9Gujp0OpkOKcDP46ju1y_r0IM4Hrx2M,1100
|
|
6
|
-
laketower/tables.py,sha256=Y-9kf6rwNbAVFgxzm6hAFlEMxGMqHyv7RiveDgMBNf4,4437
|
|
7
|
-
laketower/web.py,sha256=5NMKj26aVz3cKnUAe-3sLDJ_4Ue3u0VXhATrDQ8GVF8,7205
|
|
8
|
-
laketower/static/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
laketower/templates/_base.html,sha256=S-8kjAfYBx3Btb4FwzM2qyfkGYrOBHhpvCWR32mCvOw,3729
|
|
10
|
-
laketower/templates/index.html,sha256=dLF2Og0qgzBkvGyVRidRNzTv0u4o97ifOx1jVeig8Kg,59
|
|
11
|
-
laketower/templates/queries/view.html,sha256=2jW08X-PflXmsfy7u9ibX1BF8G5dx9X_n_Eoq3jzizA,1686
|
|
12
|
-
laketower/templates/tables/_macros.html,sha256=fnj_8nBco0iS6mlBmGmfT2PZhI2Y82yP0cm8tRxchpU,965
|
|
13
|
-
laketower/templates/tables/history.html,sha256=yAW0xw9_Uxp0QZYKje6qhcbpeznxI3fb740hfNyILZ8,1740
|
|
14
|
-
laketower/templates/tables/index.html,sha256=oY13l_p8qozlLONanLpga1WhEo4oTP92pRf9sBSuFZI,2394
|
|
15
|
-
laketower/templates/tables/query.html,sha256=YAFnW8Q5abDsbeglFHHZmJfGJXPjI2s4Nxf6gF_-Eg0,1360
|
|
16
|
-
laketower/templates/tables/statistics.html,sha256=rgIOuF2PlHo2jvcYDAnxa5ObNortwyALlrURpM7qxMw,1714
|
|
17
|
-
laketower/templates/tables/view.html,sha256=psfeRKkN19Q3Ko5Sm2570qRhehvuoEBPG89zFU5KQlc,3872
|
|
18
|
-
laketower-0.5.1.dist-info/METADATA,sha256=OrkW0OD9bJ6JnIaPlyEmGJAU8pEWuJrCg9kJRVjwnCY,21353
|
|
19
|
-
laketower-0.5.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
20
|
-
laketower-0.5.1.dist-info/entry_points.txt,sha256=OL_4klopvyEzasJOFJ-sKu54lv24Jvomni32h1WVUjk,48
|
|
21
|
-
laketower-0.5.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
22
|
-
laketower-0.5.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|