laketower 0.5.0__tar.gz → 0.5.1__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.

Potentially problematic release.


This version of laketower might be problematic. Click here for more details.

Files changed (54) hide show
  1. {laketower-0.5.0 → laketower-0.5.1}/.github/workflows/ci-cd.yml +5 -5
  2. {laketower-0.5.0 → laketower-0.5.1}/CHANGELOG.md +8 -1
  3. {laketower-0.5.0 → laketower-0.5.1}/PKG-INFO +9 -9
  4. {laketower-0.5.0 → laketower-0.5.1}/README.md +6 -6
  5. laketower-0.5.1/laketower/__about__.py +1 -0
  6. {laketower-0.5.0 → laketower-0.5.1}/laketower/tables.py +1 -1
  7. {laketower-0.5.0 → laketower-0.5.1}/pyproject.toml +10 -10
  8. {laketower-0.5.0 → laketower-0.5.1}/tests/test_cli.py +4 -1
  9. {laketower-0.5.0 → laketower-0.5.1}/tests/test_web.py +4 -1
  10. laketower-0.5.1/uv.lock +1671 -0
  11. laketower-0.5.0/laketower/__about__.py +0 -1
  12. laketower-0.5.0/uv.lock +0 -1462
  13. {laketower-0.5.0 → laketower-0.5.1}/.gitignore +0 -0
  14. {laketower-0.5.0 → laketower-0.5.1}/.python-version +0 -0
  15. {laketower-0.5.0 → laketower-0.5.1}/LICENSE +0 -0
  16. {laketower-0.5.0 → laketower-0.5.1}/demo/generate.py +0 -0
  17. {laketower-0.5.0 → laketower-0.5.1}/demo/laketower.yml +0 -0
  18. {laketower-0.5.0 → laketower-0.5.1}/demo/sample_table/_delta_log/00000000000000000000.json +0 -0
  19. {laketower-0.5.0 → laketower-0.5.1}/demo/sample_table/_delta_log/00000000000000000001.json +0 -0
  20. {laketower-0.5.0 → laketower-0.5.1}/demo/sample_table/_delta_log/00000000000000000002.json +0 -0
  21. {laketower-0.5.0 → laketower-0.5.1}/demo/sample_table/_delta_log/00000000000000000003.json +0 -0
  22. {laketower-0.5.0 → laketower-0.5.1}/demo/sample_table/part-00001-1a31a393-6db6-4d1a-bf4e-81ea061ff8cd-c000.snappy.parquet +0 -0
  23. {laketower-0.5.0 → laketower-0.5.1}/demo/sample_table/part-00001-5af77102-9207-4c89-aaf6-37e1f815ec26-c000.snappy.parquet +0 -0
  24. {laketower-0.5.0 → laketower-0.5.1}/demo/sample_table/part-00001-b11bab55-43d0-4d05-ae88-5b9481ae57db-c000.snappy.parquet +0 -0
  25. {laketower-0.5.0 → laketower-0.5.1}/demo/weather/_delta_log/00000000000000000000.json +0 -0
  26. {laketower-0.5.0 → laketower-0.5.1}/demo/weather/_delta_log/00000000000000000001.json +0 -0
  27. {laketower-0.5.0 → laketower-0.5.1}/demo/weather/_delta_log/00000000000000000002.json +0 -0
  28. {laketower-0.5.0 → laketower-0.5.1}/demo/weather/part-00001-2323b963-be56-44e0-8c10-e237e7e6d4b9-c000.snappy.parquet +0 -0
  29. {laketower-0.5.0 → laketower-0.5.1}/demo/weather/part-00001-6360cbf8-f8a9-475f-8729-6f20b4ca64a9-c000.snappy.parquet +0 -0
  30. {laketower-0.5.0 → laketower-0.5.1}/docs/static/queries_view.png +0 -0
  31. {laketower-0.5.0 → laketower-0.5.1}/docs/static/tables_history.png +0 -0
  32. {laketower-0.5.0 → laketower-0.5.1}/docs/static/tables_overview.png +0 -0
  33. {laketower-0.5.0 → laketower-0.5.1}/docs/static/tables_query.png +0 -0
  34. {laketower-0.5.0 → laketower-0.5.1}/docs/static/tables_statistics.png +0 -0
  35. {laketower-0.5.0 → laketower-0.5.1}/docs/static/tables_view.png +0 -0
  36. {laketower-0.5.0 → laketower-0.5.1}/laketower/__init__.py +0 -0
  37. {laketower-0.5.0 → laketower-0.5.1}/laketower/__main__.py +0 -0
  38. {laketower-0.5.0 → laketower-0.5.1}/laketower/cli.py +0 -0
  39. {laketower-0.5.0 → laketower-0.5.1}/laketower/config.py +0 -0
  40. {laketower-0.5.0 → laketower-0.5.1}/laketower/static/.gitkeep +0 -0
  41. {laketower-0.5.0 → laketower-0.5.1}/laketower/templates/_base.html +0 -0
  42. {laketower-0.5.0 → laketower-0.5.1}/laketower/templates/index.html +0 -0
  43. {laketower-0.5.0 → laketower-0.5.1}/laketower/templates/queries/view.html +0 -0
  44. {laketower-0.5.0 → laketower-0.5.1}/laketower/templates/tables/_macros.html +0 -0
  45. {laketower-0.5.0 → laketower-0.5.1}/laketower/templates/tables/history.html +0 -0
  46. {laketower-0.5.0 → laketower-0.5.1}/laketower/templates/tables/index.html +0 -0
  47. {laketower-0.5.0 → laketower-0.5.1}/laketower/templates/tables/query.html +0 -0
  48. {laketower-0.5.0 → laketower-0.5.1}/laketower/templates/tables/statistics.html +0 -0
  49. {laketower-0.5.0 → laketower-0.5.1}/laketower/templates/tables/view.html +0 -0
  50. {laketower-0.5.0 → laketower-0.5.1}/laketower/web.py +0 -0
  51. {laketower-0.5.0 → laketower-0.5.1}/renovate.json +0 -0
  52. {laketower-0.5.0 → laketower-0.5.1}/tasks.py +0 -0
  53. {laketower-0.5.0 → laketower-0.5.1}/tests/__init__.py +0 -0
  54. {laketower-0.5.0 → laketower-0.5.1}/tests/conftest.py +0 -0
@@ -18,7 +18,7 @@ jobs:
18
18
  steps:
19
19
  - uses: actions/checkout@v4
20
20
  - name: Install uv
21
- uses: astral-sh/setup-uv@v5
21
+ uses: astral-sh/setup-uv@v6
22
22
  with:
23
23
  python-version: ${{ matrix.python-version }}
24
24
  enable-cache: true
@@ -52,7 +52,7 @@ jobs:
52
52
  ref: main
53
53
  - uses: actions/checkout@v4
54
54
  - name: Install uv
55
- uses: astral-sh/setup-uv@v5
55
+ uses: astral-sh/setup-uv@v6
56
56
  with:
57
57
  python-version: "3.13"
58
58
  enable-cache: true
@@ -126,7 +126,7 @@ jobs:
126
126
  steps:
127
127
  - uses: actions/checkout@v4
128
128
  - name: Install uv
129
- uses: astral-sh/setup-uv@v5
129
+ uses: astral-sh/setup-uv@v6
130
130
  with:
131
131
  python-version: '3.13'
132
132
  enable-cache: true
@@ -187,7 +187,7 @@ jobs:
187
187
  - name: Publish package distributions to PyPI
188
188
  uses: pypa/gh-action-pypi-publish@release/v1
189
189
  - name: Install uv
190
- uses: astral-sh/setup-uv@v5
190
+ uses: astral-sh/setup-uv@v6
191
191
  - name: Validate package is available with uvx
192
192
  run: uvx laketower --version
193
193
 
@@ -209,7 +209,7 @@ jobs:
209
209
  name: build
210
210
  path: dist/
211
211
  - name: Install uv
212
- uses: astral-sh/setup-uv@v5
212
+ uses: astral-sh/setup-uv@v6
213
213
  with:
214
214
  python-version: '3.13'
215
215
  enable-cache: true
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.5.1] - 2025-05-30
11
+ Patch release with support for `deltalake` version 1.0.0.
12
+
13
+ ### Changes
14
+ - deps: upgrade to `deltalake` version 1
15
+
10
16
  ## [0.5.0] - 2025-03-19
11
17
  **Announcement:** Laketower open-source license is switching from AGPLv3 to Apache 2.0.
12
18
 
@@ -79,7 +85,8 @@ Initial release of `laketower`.
79
85
  - View a given table with simple query builder
80
86
  - Query all registered tables with DuckDB SQL dialect
81
87
 
82
- [Unreleased]: https://github.com/datalpia/laketower/compare/0.5.0...HEAD
88
+ [Unreleased]: https://github.com/datalpia/laketower/compare/0.5.1...HEAD
89
+ [0.5.1]: https://github.com/datalpia/laketower/compare/0.5.0...0.5.1
83
90
  [0.5.0]: https://github.com/datalpia/laketower/compare/0.4.1...0.5.0
84
91
  [0.4.1]: https://github.com/datalpia/laketower/compare/0.4.0...0.4.1
85
92
  [0.4.0]: https://github.com/datalpia/laketower/compare/0.3.0...0.4.0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: laketower
3
- Version: 0.5.0
3
+ Version: 0.5.1
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
7
- Project-URL: Changelog, https://github.com/datalpia/laketower/blob/master/CHANGELOG.md
7
+ Project-URL: Changelog, https://github.com/datalpia/laketower/blob/main/CHANGELOG.md
8
8
  Author-email: Romain Clement <git@romain-clement.net>
9
9
  License: Apache-2.0
10
10
  License-File: LICENSE
@@ -22,7 +22,7 @@ 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: deltalake
25
+ Requires-Dist: deltalake<2,>=1
26
26
  Requires-Dist: duckdb
27
27
  Requires-Dist: fastapi
28
28
  Requires-Dist: jinja2!=3.1.5,>=3
@@ -148,12 +148,12 @@ $ laketower -c demo/laketower.yml web
148
148
 
149
149
  #### Screenshots
150
150
 
151
- ![Laketower UI - Tables Overview](docs/static/tables_overview.png)
152
- ![Laketower UI - Tables View](docs/static/tables_view.png)
153
- ![Laketower UI - Tables Statistics](docs/static/tables_statistics.png)
154
- ![Laketower UI - Tables History](docs/static/tables_history.png)
155
- ![Laketower UI - Tables Query](docs/static/tables_query.png)
156
- ![Laketower UI - Queries View](docs/static/queries_view.png)
151
+ ![Laketower UI - Tables Overview](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_overview.png)
152
+ ![Laketower UI - Tables View](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_view.png)
153
+ ![Laketower UI - Tables Statistics](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_statistics.png)
154
+ ![Laketower UI - Tables History](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_history.png)
155
+ ![Laketower UI - Tables Query](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_query.png)
156
+ ![Laketower UI - Queries View](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/queries_view.png)
157
157
 
158
158
  ### CLI
159
159
 
@@ -110,12 +110,12 @@ $ laketower -c demo/laketower.yml web
110
110
 
111
111
  #### Screenshots
112
112
 
113
- ![Laketower UI - Tables Overview](docs/static/tables_overview.png)
114
- ![Laketower UI - Tables View](docs/static/tables_view.png)
115
- ![Laketower UI - Tables Statistics](docs/static/tables_statistics.png)
116
- ![Laketower UI - Tables History](docs/static/tables_history.png)
117
- ![Laketower UI - Tables Query](docs/static/tables_query.png)
118
- ![Laketower UI - Queries View](docs/static/queries_view.png)
113
+ ![Laketower UI - Tables Overview](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_overview.png)
114
+ ![Laketower UI - Tables View](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_view.png)
115
+ ![Laketower UI - Tables Statistics](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_statistics.png)
116
+ ![Laketower UI - Tables History](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_history.png)
117
+ ![Laketower UI - Tables Query](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/tables_query.png)
118
+ ![Laketower UI - Queries View](https://raw.githubusercontent.com/datalpia/laketower/refs/heads/main/docs/static/queries_view.png)
119
119
 
120
120
  ### CLI
121
121
 
@@ -0,0 +1 @@
1
+ __version__ = "0.5.1"
@@ -72,7 +72,7 @@ class DeltaTable:
72
72
  )
73
73
 
74
74
  def schema(self) -> pa.Schema:
75
- return self._impl.schema().to_pyarrow()
75
+ return pa.schema(self._impl.schema().to_arrow()) # type: ignore[arg-type]
76
76
 
77
77
  def history(self) -> TableHistory:
78
78
  delta_history = self._impl.history()
@@ -8,7 +8,7 @@ authors = [
8
8
  ]
9
9
  requires-python = ">=3.10,<3.14"
10
10
  dependencies = [
11
- "deltalake",
11
+ "deltalake>=1,<2",
12
12
  "duckdb",
13
13
  "fastapi",
14
14
  "jinja2>=3,!=3.1.5",
@@ -41,7 +41,7 @@ dynamic = ["version"]
41
41
  [project.urls]
42
42
  Repository = "https://github.com/datalpia/laketower"
43
43
  Issues = "https://github.com/datalpia/laketower/issues"
44
- Changelog = "https://github.com/datalpia/laketower/blob/master/CHANGELOG.md"
44
+ Changelog = "https://github.com/datalpia/laketower/blob/main/CHANGELOG.md"
45
45
 
46
46
  [project.scripts]
47
47
  laketower = "laketower:cli.cli"
@@ -53,17 +53,17 @@ build-backend = "hatchling.build"
53
53
  [dependency-groups]
54
54
  dev = [
55
55
  "bandit==1.8.3",
56
- "beautifulsoup4==4.13.3",
56
+ "beautifulsoup4==4.13.4",
57
57
  "httpx==0.28.1",
58
58
  "invoke==2.2.0",
59
- "mypy==1.15.0",
60
- "pandas-stubs==2.2.3.250308",
61
- "pip-audit==2.8.0",
62
- "pyarrow-stubs==17.19",
59
+ "mypy==1.16.0",
60
+ "pandas-stubs==2.2.3.250527",
61
+ "pip-audit==2.9.0",
62
+ "pyarrow-stubs==19.4",
63
63
  "pytest==8.3.5",
64
- "pytest-cov==6.0.0",
65
- "ruff==0.11.0",
66
- "types-pyyaml==6.0.12.20241230",
64
+ "pytest-cov==6.1.1",
65
+ "ruff==0.11.12",
66
+ "types-pyyaml==6.0.12.20250516",
67
67
  "watchdog==6.0.0",
68
68
  ]
69
69
 
@@ -4,6 +4,7 @@ from pathlib import Path
4
4
  from typing import Any
5
5
 
6
6
  import deltalake
7
+ import pyarrow as pa
7
8
  import pytest
8
9
  import yaml
9
10
 
@@ -196,7 +197,9 @@ def test_tables_schema(
196
197
  captured = capsys.readouterr()
197
198
  output = captured.out
198
199
  assert output.startswith(table_name)
199
- for field in delta_table.schema().to_pyarrow():
200
+
201
+ table_schema = pa.schema(delta_table.schema().to_arrow()) # type: ignore[arg-type]
202
+ for field in table_schema:
200
203
  nullable = "" if field.nullable else " not null"
201
204
  assert f"{field.name}: {field.type}{nullable}" in output
202
205
 
@@ -6,6 +6,7 @@ from typing import Any
6
6
  from unittest.mock import patch
7
7
 
8
8
  import deltalake
9
+ import pyarrow as pa
9
10
  import pytest
10
11
  import yaml
11
12
  from bs4 import BeautifulSoup
@@ -89,7 +90,9 @@ def test_table_index(
89
90
  assert "Column" in html
90
91
  assert "Type" in html
91
92
  assert "Nullable" in html
92
- for field in delta_table.schema().to_pyarrow():
93
+
94
+ table_schema = pa.schema(delta_table.schema().to_arrow()) # type: ignore[arg-type]
95
+ for field in table_schema:
93
96
  assert field.name in html
94
97
  assert str(field.type) in html
95
98
  assert str(field.nullable) in html