Spaces:
Sleeping
Sleeping
Commit
Β·
406ea59
1
Parent(s):
2e6110c
feat(ci): π Add new CI workflow for ETL process
Browse filesIntroduce ETL workflow that triggers on pushes to the main branch and weekly on Sundays. Includes job steps: checkout, setup Python with caching, and run make commands.
refactor: π Rename dbt.py to dbt_project.py for clarity
Import and reference adjustments due to file rename.
build: β¬οΈ Bump various package versions and dependencies
Update multiple package versions including 'dagster', 'pydantic', 'dbt-adapters', and 'sqlglot'. Add new dependencies such as 'polars'.
- .github/workflows/ci.yml +28 -0
- Makefile +16 -0
- datalia/assets.py +1 -1
- datalia/{dbt.py β dbt_project.py} +0 -0
- datalia/definitions.py +2 -2
- pyproject.toml +5 -1
- uv.lock +67 -65
.github/workflows/ci.yml
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: ETL
|
2 |
+
|
3 |
+
on:
|
4 |
+
push:
|
5 |
+
branches:
|
6 |
+
- main
|
7 |
+
schedule:
|
8 |
+
- cron: 0 0 * * 0
|
9 |
+
workflow_dispatch:
|
10 |
+
|
11 |
+
concurrency:
|
12 |
+
group: ${{ github.workflow }}-${{ github.ref }}
|
13 |
+
cancel-in-progress: true
|
14 |
+
|
15 |
+
jobs:
|
16 |
+
run:
|
17 |
+
name: Run
|
18 |
+
runs-on: ubuntu-latest
|
19 |
+
steps:
|
20 |
+
- name: Checkout
|
21 |
+
uses: actions/checkout@v4
|
22 |
+
- name: Setup Python
|
23 |
+
uses: astral-sh/setup-uv@v2
|
24 |
+
with:
|
25 |
+
enable-cache: true
|
26 |
+
- name: Run
|
27 |
+
run: |
|
28 |
+
make run
|
Makefile
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.DEFAULT_GOAL := run
|
2 |
+
|
3 |
+
run:
|
4 |
+
uv run dagster-dbt project prepare-and-package --file datalia/dbt_project.py
|
5 |
+
uv run dagster asset materialize --select \* -m datalia.definitions
|
6 |
+
|
7 |
+
dev:
|
8 |
+
dagster dev
|
9 |
+
|
10 |
+
setup:
|
11 |
+
uv sync
|
12 |
+
. .venv/bin/activate
|
13 |
+
|
14 |
+
clean:
|
15 |
+
rm -rf data/*.parquet data/*.duckdb
|
16 |
+
rm -rf dbt/target dbt/dbt_packages dbt/logs
|
datalia/assets.py
CHANGED
@@ -2,7 +2,7 @@ import polars as pl
|
|
2 |
from dagster import AssetExecutionContext, RetryPolicy, asset
|
3 |
from dagster_dbt import DbtCliResource, dbt_assets
|
4 |
|
5 |
-
from .
|
6 |
|
7 |
|
8 |
@dbt_assets(manifest=dbt_project.manifest_path)
|
|
|
2 |
from dagster import AssetExecutionContext, RetryPolicy, asset
|
3 |
from dagster_dbt import DbtCliResource, dbt_assets
|
4 |
|
5 |
+
from .dbt_project import dbt_project
|
6 |
|
7 |
|
8 |
@dbt_assets(manifest=dbt_project.manifest_path)
|
datalia/{dbt.py β dbt_project.py}
RENAMED
File without changes
|
datalia/definitions.py
CHANGED
@@ -4,7 +4,7 @@ from dagster import Definitions, load_assets_from_modules
|
|
4 |
from dagster_dbt import DbtCliResource
|
5 |
from dagster_duckdb_polars import DuckDBPolarsIOManager
|
6 |
|
7 |
-
from . import assets,
|
8 |
|
9 |
DATABASE_PATH = os.getenv("DATABASE_PATH", "./data/database.duckdb")
|
10 |
|
@@ -12,7 +12,7 @@ all_assets = load_assets_from_modules([assets])
|
|
12 |
|
13 |
resources = {
|
14 |
"io_manager": DuckDBPolarsIOManager(database=DATABASE_PATH),
|
15 |
-
"dbt": DbtCliResource(project_dir=
|
16 |
}
|
17 |
|
18 |
defs = Definitions(assets=all_assets, resources=resources)
|
|
|
4 |
from dagster_dbt import DbtCliResource
|
5 |
from dagster_duckdb_polars import DuckDBPolarsIOManager
|
6 |
|
7 |
+
from . import assets, dbt_project
|
8 |
|
9 |
DATABASE_PATH = os.getenv("DATABASE_PATH", "./data/database.duckdb")
|
10 |
|
|
|
12 |
|
13 |
resources = {
|
14 |
"io_manager": DuckDBPolarsIOManager(database=DATABASE_PATH),
|
15 |
+
"dbt": DbtCliResource(project_dir=dbt_project.dbt_project),
|
16 |
}
|
17 |
|
18 |
defs = Definitions(assets=all_assets, resources=resources)
|
pyproject.toml
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
[project]
|
2 |
name = "datalia"
|
3 |
-
version = "
|
4 |
description = "Add your description here"
|
5 |
readme = "README.md"
|
6 |
requires-python = ">=3.12"
|
@@ -14,8 +14,12 @@ dependencies = [
|
|
14 |
"pyarrow>=17.0.0",
|
15 |
"dagster-duckdb-polars>=0.24.6",
|
16 |
"python-slugify>=8.0.4",
|
|
|
17 |
]
|
18 |
|
|
|
|
|
|
|
19 |
[tool.dagster]
|
20 |
module_name = "datalia.definitions"
|
21 |
code_location_name = "datalia"
|
|
|
1 |
[project]
|
2 |
name = "datalia"
|
3 |
+
version = "1.0.0"
|
4 |
description = "Add your description here"
|
5 |
readme = "README.md"
|
6 |
requires-python = ">=3.12"
|
|
|
14 |
"pyarrow>=17.0.0",
|
15 |
"dagster-duckdb-polars>=0.24.6",
|
16 |
"python-slugify>=8.0.4",
|
17 |
+
"polars>=1.7.1",
|
18 |
]
|
19 |
|
20 |
+
[tool.setuptools]
|
21 |
+
packages = ["datalia"]
|
22 |
+
|
23 |
[tool.dagster]
|
24 |
module_name = "datalia.definitions"
|
25 |
code_location_name = "datalia"
|
uv.lock
CHANGED
@@ -248,7 +248,7 @@ sdist = { url = "https://files.pythonhosted.org/packages/0e/fc/82796c10545f3df98
|
|
248 |
|
249 |
[[package]]
|
250 |
name = "dagster"
|
251 |
-
version = "1.8.
|
252 |
source = { registry = "https://pypi.org/simple" }
|
253 |
dependencies = [
|
254 |
{ name = "alembic" },
|
@@ -283,14 +283,14 @@ dependencies = [
|
|
283 |
{ name = "universal-pathlib" },
|
284 |
{ name = "watchdog" },
|
285 |
]
|
286 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
287 |
wheels = [
|
288 |
-
{ url = "https://files.pythonhosted.org/packages/
|
289 |
]
|
290 |
|
291 |
[[package]]
|
292 |
name = "dagster-dbt"
|
293 |
-
version = "0.24.
|
294 |
source = { registry = "https://pypi.org/simple" }
|
295 |
dependencies = [
|
296 |
{ name = "dagster" },
|
@@ -304,41 +304,41 @@ dependencies = [
|
|
304 |
{ name = "sqlglot", extra = ["rs"] },
|
305 |
{ name = "typer" },
|
306 |
]
|
307 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
308 |
wheels = [
|
309 |
-
{ url = "https://files.pythonhosted.org/packages/
|
310 |
]
|
311 |
|
312 |
[[package]]
|
313 |
name = "dagster-duckdb"
|
314 |
-
version = "0.24.
|
315 |
source = { registry = "https://pypi.org/simple" }
|
316 |
dependencies = [
|
317 |
{ name = "dagster" },
|
318 |
{ name = "duckdb" },
|
319 |
]
|
320 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
321 |
wheels = [
|
322 |
-
{ url = "https://files.pythonhosted.org/packages/
|
323 |
]
|
324 |
|
325 |
[[package]]
|
326 |
name = "dagster-duckdb-polars"
|
327 |
-
version = "0.24.
|
328 |
source = { registry = "https://pypi.org/simple" }
|
329 |
dependencies = [
|
330 |
{ name = "dagster" },
|
331 |
{ name = "dagster-duckdb" },
|
332 |
{ name = "polars", extra = ["pyarrow"] },
|
333 |
]
|
334 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
335 |
wheels = [
|
336 |
-
{ url = "https://files.pythonhosted.org/packages/
|
337 |
]
|
338 |
|
339 |
[[package]]
|
340 |
name = "dagster-graphql"
|
341 |
-
version = "1.8.
|
342 |
source = { registry = "https://pypi.org/simple" }
|
343 |
dependencies = [
|
344 |
{ name = "dagster" },
|
@@ -347,23 +347,23 @@ dependencies = [
|
|
347 |
{ name = "requests" },
|
348 |
{ name = "starlette" },
|
349 |
]
|
350 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
351 |
wheels = [
|
352 |
-
{ url = "https://files.pythonhosted.org/packages/
|
353 |
]
|
354 |
|
355 |
[[package]]
|
356 |
name = "dagster-pipes"
|
357 |
-
version = "1.8.
|
358 |
source = { registry = "https://pypi.org/simple" }
|
359 |
-
sdist = { url = "https://files.pythonhosted.org/packages/73/
|
360 |
wheels = [
|
361 |
-
{ url = "https://files.pythonhosted.org/packages/
|
362 |
]
|
363 |
|
364 |
[[package]]
|
365 |
name = "dagster-webserver"
|
366 |
-
version = "1.8.
|
367 |
source = { registry = "https://pypi.org/simple" }
|
368 |
dependencies = [
|
369 |
{ name = "click" },
|
@@ -372,9 +372,9 @@ dependencies = [
|
|
372 |
{ name = "starlette" },
|
373 |
{ name = "uvicorn", extra = ["standard"] },
|
374 |
]
|
375 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
376 |
wheels = [
|
377 |
-
{ url = "https://files.pythonhosted.org/packages/
|
378 |
]
|
379 |
|
380 |
[[package]]
|
@@ -389,6 +389,7 @@ dependencies = [
|
|
389 |
{ name = "dbt-duckdb" },
|
390 |
{ name = "duckdb" },
|
391 |
{ name = "ipykernel" },
|
|
|
392 |
{ name = "pyarrow" },
|
393 |
{ name = "python-slugify" },
|
394 |
]
|
@@ -407,8 +408,9 @@ requires-dist = [
|
|
407 |
{ name = "dbt-duckdb", specifier = ">=1.8.3" },
|
408 |
{ name = "duckdb", specifier = ">=1.1.0" },
|
409 |
{ name = "ipykernel", specifier = ">=6.29.5" },
|
|
|
410 |
{ name = "pyarrow", specifier = ">=17.0.0" },
|
411 |
-
{ name = "python-slugify" },
|
412 |
]
|
413 |
|
414 |
[package.metadata.requires-dev]
|
@@ -416,7 +418,7 @@ dev = [{ name = "dagster-webserver", specifier = ">=1.8.6" }]
|
|
416 |
|
417 |
[[package]]
|
418 |
name = "dbt-adapters"
|
419 |
-
version = "1.
|
420 |
source = { registry = "https://pypi.org/simple" }
|
421 |
dependencies = [
|
422 |
{ name = "agate" },
|
@@ -426,9 +428,9 @@ dependencies = [
|
|
426 |
{ name = "pytz" },
|
427 |
{ name = "typing-extensions" },
|
428 |
]
|
429 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
430 |
wheels = [
|
431 |
-
{ url = "https://files.pythonhosted.org/packages/
|
432 |
]
|
433 |
|
434 |
[[package]]
|
@@ -1264,15 +1266,15 @@ wheels = [
|
|
1264 |
|
1265 |
[[package]]
|
1266 |
name = "polars"
|
1267 |
-
version = "1.7.
|
1268 |
source = { registry = "https://pypi.org/simple" }
|
1269 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1270 |
wheels = [
|
1271 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1272 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1273 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1274 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1275 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1276 |
]
|
1277 |
|
1278 |
[package.optional-dependencies]
|
@@ -1370,51 +1372,51 @@ wheels = [
|
|
1370 |
|
1371 |
[[package]]
|
1372 |
name = "pydantic"
|
1373 |
-
version = "2.
|
1374 |
source = { registry = "https://pypi.org/simple" }
|
1375 |
dependencies = [
|
1376 |
{ name = "annotated-types" },
|
1377 |
{ name = "pydantic-core" },
|
1378 |
{ name = "typing-extensions" },
|
1379 |
]
|
1380 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1381 |
wheels = [
|
1382 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1383 |
]
|
1384 |
|
1385 |
[[package]]
|
1386 |
name = "pydantic-core"
|
1387 |
-
version = "2.
|
1388 |
source = { registry = "https://pypi.org/simple" }
|
1389 |
dependencies = [
|
1390 |
{ name = "typing-extensions" },
|
1391 |
]
|
1392 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1393 |
-
wheels = [
|
1394 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1395 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1396 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1397 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1398 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1399 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1400 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1401 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1402 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1403 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1404 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1405 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1406 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1407 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1408 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1409 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1410 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1411 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1412 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1413 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1414 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1415 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1416 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1417 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1418 |
]
|
1419 |
|
1420 |
[[package]]
|
@@ -1712,11 +1714,11 @@ wheels = [
|
|
1712 |
|
1713 |
[[package]]
|
1714 |
name = "sqlglot"
|
1715 |
-
version = "25.
|
1716 |
source = { registry = "https://pypi.org/simple" }
|
1717 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1718 |
wheels = [
|
1719 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1720 |
]
|
1721 |
|
1722 |
[package.optional-dependencies]
|
|
|
248 |
|
249 |
[[package]]
|
250 |
name = "dagster"
|
251 |
+
version = "1.8.7"
|
252 |
source = { registry = "https://pypi.org/simple" }
|
253 |
dependencies = [
|
254 |
{ name = "alembic" },
|
|
|
283 |
{ name = "universal-pathlib" },
|
284 |
{ name = "watchdog" },
|
285 |
]
|
286 |
+
sdist = { url = "https://files.pythonhosted.org/packages/84/17/839f5ac3e836256f82773e345b4749d07bb83542c8ac7c9fde9026480282/dagster-1.8.7.tar.gz", hash = "sha256:b50c43654a1c3685413fa3a73a1d0eb3f9be6b42d7a3f0b648954faa542facf4", size = 1334543 }
|
287 |
wheels = [
|
288 |
+
{ url = "https://files.pythonhosted.org/packages/59/06/65e1149a8ef2ca6c4d3317fdb2a9f68df4270ce49da9acb1127722d6db3b/dagster-1.8.7-py3-none-any.whl", hash = "sha256:7117eb7ba6486377bdb0fb985b82cc86e8c6debc5f60d92e0bbe5bcc02837fa4", size = 1635654 },
|
289 |
]
|
290 |
|
291 |
[[package]]
|
292 |
name = "dagster-dbt"
|
293 |
+
version = "0.24.7"
|
294 |
source = { registry = "https://pypi.org/simple" }
|
295 |
dependencies = [
|
296 |
{ name = "dagster" },
|
|
|
304 |
{ name = "sqlglot", extra = ["rs"] },
|
305 |
{ name = "typer" },
|
306 |
]
|
307 |
+
sdist = { url = "https://files.pythonhosted.org/packages/6e/8b/4f8f3dc16ede59af1c46f5025364b15ebcca31daba078de1de247e185fec/dagster-dbt-0.24.7.tar.gz", hash = "sha256:8dee70bfc3295c045ed34cc910218d224b9ffefc1d6d876ff999acf51f052a08", size = 71869 }
|
308 |
wheels = [
|
309 |
+
{ url = "https://files.pythonhosted.org/packages/20/1b/ba1a176190347ce37a1c95125a9db991fa46f9e3eabd0aeb2615ddbd50f0/dagster_dbt-0.24.7-py3-none-any.whl", hash = "sha256:5f2d3a63b32a80dc3ef82901817621c893aec13ed2246a1fa9ead10820669593", size = 85715 },
|
310 |
]
|
311 |
|
312 |
[[package]]
|
313 |
name = "dagster-duckdb"
|
314 |
+
version = "0.24.7"
|
315 |
source = { registry = "https://pypi.org/simple" }
|
316 |
dependencies = [
|
317 |
{ name = "dagster" },
|
318 |
{ name = "duckdb" },
|
319 |
]
|
320 |
+
sdist = { url = "https://files.pythonhosted.org/packages/e3/e1/92216c170bb7ab617d46e97863e6b0637ce48f9881bde72ff6dd9f5186eb/dagster-duckdb-0.24.7.tar.gz", hash = "sha256:41477bb1cb75279261d7aace689d9d8edab9f2188355e90d561eba730b24ae0a", size = 9277 }
|
321 |
wheels = [
|
322 |
+
{ url = "https://files.pythonhosted.org/packages/b9/91/8069bb3effa7da59991d7f11a31524236e198e8086e75d68849f7559cf6e/dagster_duckdb-0.24.7-py3-none-any.whl", hash = "sha256:c4e1cfe1e32135c383562f067b7483e9cb3e6297304f2dba49ff0d1deb95e975", size = 10493 },
|
323 |
]
|
324 |
|
325 |
[[package]]
|
326 |
name = "dagster-duckdb-polars"
|
327 |
+
version = "0.24.7"
|
328 |
source = { registry = "https://pypi.org/simple" }
|
329 |
dependencies = [
|
330 |
{ name = "dagster" },
|
331 |
{ name = "dagster-duckdb" },
|
332 |
{ name = "polars", extra = ["pyarrow"] },
|
333 |
]
|
334 |
+
sdist = { url = "https://files.pythonhosted.org/packages/d2/2e/02089a078bd7e66f8dae68bf1d70a7698b5678cb47297069b1a59ee99140/dagster-duckdb-polars-0.24.7.tar.gz", hash = "sha256:09c893b87393fa8599ce25537194fdda65c8eabe81214b8d6a034156926e5ea1", size = 7899 }
|
335 |
wheels = [
|
336 |
+
{ url = "https://files.pythonhosted.org/packages/92/06/68111bc3a86a3c676b79c720e5fb87b39250c42b10679f2f159fb5bf5a97/dagster_duckdb_polars-0.24.7-py3-none-any.whl", hash = "sha256:adf1c25a751f04b846a98798eff99f91c31b2be2d470c1e12172baf184dff10d", size = 8557 },
|
337 |
]
|
338 |
|
339 |
[[package]]
|
340 |
name = "dagster-graphql"
|
341 |
+
version = "1.8.7"
|
342 |
source = { registry = "https://pypi.org/simple" }
|
343 |
dependencies = [
|
344 |
{ name = "dagster" },
|
|
|
347 |
{ name = "requests" },
|
348 |
{ name = "starlette" },
|
349 |
]
|
350 |
+
sdist = { url = "https://files.pythonhosted.org/packages/ae/8a/4fefb431dacd4f7ffb1603f93b4210dc1e1f1bfb6c97896103caae764e55/dagster-graphql-1.8.7.tar.gz", hash = "sha256:d5726f8c840c7a851ecf2d703e201da9866f4e3755941a9a4af8dd5652d8ee78", size = 146818 }
|
351 |
wheels = [
|
352 |
+
{ url = "https://files.pythonhosted.org/packages/3d/62/f4c9a352282a36cce337694736b4f9ab82f8077977c485aecc114b2fadbd/dagster_graphql-1.8.7-py3-none-any.whl", hash = "sha256:52ac8091c346110145220fedbeaaeb90b68a4ace3f45b61b76918821cb549350", size = 192531 },
|
353 |
]
|
354 |
|
355 |
[[package]]
|
356 |
name = "dagster-pipes"
|
357 |
+
version = "1.8.7"
|
358 |
source = { registry = "https://pypi.org/simple" }
|
359 |
+
sdist = { url = "https://files.pythonhosted.org/packages/95/73/d6331ba3ee4188078a9a1043a7f5bd75d77785ba421c8e408fe4489d4a92/dagster-pipes-1.8.7.tar.gz", hash = "sha256:9808077299bb9c753311926e83c13abfcb5502d6f444291370d2455f188ef98f", size = 17283 }
|
360 |
wheels = [
|
361 |
+
{ url = "https://files.pythonhosted.org/packages/b7/64/6dc3a55e7851dcc42eb9af90a922b7a8d2fdbc8cc5241c6763e54cfa828a/dagster_pipes-1.8.7-py3-none-any.whl", hash = "sha256:ff1bae741a26d37cdacbc524a65d206cbe848d2104beafe96cd32aab2e450fb3", size = 17103 },
|
362 |
]
|
363 |
|
364 |
[[package]]
|
365 |
name = "dagster-webserver"
|
366 |
+
version = "1.8.7"
|
367 |
source = { registry = "https://pypi.org/simple" }
|
368 |
dependencies = [
|
369 |
{ name = "click" },
|
|
|
372 |
{ name = "starlette" },
|
373 |
{ name = "uvicorn", extra = ["standard"] },
|
374 |
]
|
375 |
+
sdist = { url = "https://files.pythonhosted.org/packages/30/3a/d15928947d383bffef91215a5ebba2607d4f5d144264be835d6089277731/dagster-webserver-1.8.7.tar.gz", hash = "sha256:3cac7e246eb97c8c1c2ef04e2658763b5ec30e55db9490ee1cdfd35b48c12bb4", size = 12276362 }
|
376 |
wheels = [
|
377 |
+
{ url = "https://files.pythonhosted.org/packages/fd/72/3ca9bdea52a45656a3deb76498626113da88f3deb5e737b2cda70ef265fd/dagster_webserver-1.8.7-py3-none-any.whl", hash = "sha256:958a9847fe8b9895cb23d83b7f3fc6b01c4d639c15a04c8c4c9b3a4c11453eae", size = 12561088 },
|
378 |
]
|
379 |
|
380 |
[[package]]
|
|
|
389 |
{ name = "dbt-duckdb" },
|
390 |
{ name = "duckdb" },
|
391 |
{ name = "ipykernel" },
|
392 |
+
{ name = "polars" },
|
393 |
{ name = "pyarrow" },
|
394 |
{ name = "python-slugify" },
|
395 |
]
|
|
|
408 |
{ name = "dbt-duckdb", specifier = ">=1.8.3" },
|
409 |
{ name = "duckdb", specifier = ">=1.1.0" },
|
410 |
{ name = "ipykernel", specifier = ">=6.29.5" },
|
411 |
+
{ name = "polars", specifier = ">=1.7.1" },
|
412 |
{ name = "pyarrow", specifier = ">=17.0.0" },
|
413 |
+
{ name = "python-slugify", specifier = ">=8.0.4" },
|
414 |
]
|
415 |
|
416 |
[package.metadata.requires-dev]
|
|
|
418 |
|
419 |
[[package]]
|
420 |
name = "dbt-adapters"
|
421 |
+
version = "1.6.0"
|
422 |
source = { registry = "https://pypi.org/simple" }
|
423 |
dependencies = [
|
424 |
{ name = "agate" },
|
|
|
428 |
{ name = "pytz" },
|
429 |
{ name = "typing-extensions" },
|
430 |
]
|
431 |
+
sdist = { url = "https://files.pythonhosted.org/packages/ab/32/39d267b3bdf5889147b01946a1f62ef0cb33b2b6d48278f8ea83a4e2d54e/dbt_adapters-1.6.0.tar.gz", hash = "sha256:ac3b73b28691d95a9b56b70dae5a0e2e989bf539d601984cfcd3e868462cf037", size = 103576 }
|
432 |
wheels = [
|
433 |
+
{ url = "https://files.pythonhosted.org/packages/89/56/ea325b0e6e36b3c88b2f3da010911b18c5959a0bcf01140a3efaa8ae57ed/dbt_adapters-1.6.0-py3-none-any.whl", hash = "sha256:fdda113eaae4d4e31c42257c4d68e94d1bd3519476b3326c4d859d3f33278cfc", size = 161578 },
|
434 |
]
|
435 |
|
436 |
[[package]]
|
|
|
1266 |
|
1267 |
[[package]]
|
1268 |
name = "polars"
|
1269 |
+
version = "1.7.1"
|
1270 |
source = { registry = "https://pypi.org/simple" }
|
1271 |
+
sdist = { url = "https://files.pythonhosted.org/packages/3e/d3/54a4f13c3423db2d09b7b8a29cdee0509b2470cccbd210c7f506deee402c/polars-1.7.1.tar.gz", hash = "sha256:3323bf6b3f1cf55212ddd35f044af8a1aa02033bca17d06f3852325e0da93a80", size = 3971988 }
|
1272 |
wheels = [
|
1273 |
+
{ url = "https://files.pythonhosted.org/packages/ae/53/7daa3dd2fd6d8728c3363b342fbf1f804a5612ecf33aef74fb63dea5e276/polars-1.7.1-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:589c1b5a9b5167f3c49713212cbeccc39e3a0e12577e21331c50dbf7178e32ed", size = 30844815 },
|
1274 |
+
{ url = "https://files.pythonhosted.org/packages/8a/2e/f34c0acdbfcd4c9a3cf21c1bf8ecacb68dae7147d0854b131feea027726d/polars-1.7.1-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c955cca9d109ed5d79f4498915ec80590aa2e4619bc40bafbbeb5a160fcb166e", size = 27184877 },
|
1275 |
+
{ url = "https://files.pythonhosted.org/packages/d5/f4/8cd6d454fcf6e1f5f0a17265a3acca19731f79c65c7432bafbb24492bf73/polars-1.7.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd675e4a306b2da57a1b688e65382aaa9e992dd7156b485fbd7f39892a3d784", size = 32202182 },
|
1276 |
+
{ url = "https://files.pythonhosted.org/packages/a4/db/de0bcbb437e5246d6ae79c634b5b58167a978cef6cbfa66858174b8577a6/polars-1.7.1-cp38-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:45c255749b49bee244d10baeb69057580a0a397125b014bc8854b73ba5bdf45e", size = 28867666 },
|
1277 |
+
{ url = "https://files.pythonhosted.org/packages/69/12/6b4b87ff17e2129952604f24d5d052c6ab2c7089547174939e0cb8824fbc/polars-1.7.1-cp38-abi3-win_amd64.whl", hash = "sha256:a9004a907fc8e923dda27879f7e6eea8e06a753e160d08e606c8b9b5f914f911", size = 32095724 },
|
1278 |
]
|
1279 |
|
1280 |
[package.optional-dependencies]
|
|
|
1372 |
|
1373 |
[[package]]
|
1374 |
name = "pydantic"
|
1375 |
+
version = "2.9.1"
|
1376 |
source = { registry = "https://pypi.org/simple" }
|
1377 |
dependencies = [
|
1378 |
{ name = "annotated-types" },
|
1379 |
{ name = "pydantic-core" },
|
1380 |
{ name = "typing-extensions" },
|
1381 |
]
|
1382 |
+
sdist = { url = "https://files.pythonhosted.org/packages/14/15/3d989541b9c8128b96d532cfd2dd10131ddcc75a807330c00feb3d42a5bd/pydantic-2.9.1.tar.gz", hash = "sha256:1363c7d975c7036df0db2b4a61f2e062fbc0aa5ab5f2772e0ffc7191a4f4bce2", size = 768511 }
|
1383 |
wheels = [
|
1384 |
+
{ url = "https://files.pythonhosted.org/packages/e4/28/fff23284071bc1ba419635c7e86561c8b9b8cf62a5bcb459b92d7625fd38/pydantic-2.9.1-py3-none-any.whl", hash = "sha256:7aff4db5fdf3cf573d4b3c30926a510a10e19a0774d38fc4967f78beb6deb612", size = 434363 },
|
1385 |
]
|
1386 |
|
1387 |
[[package]]
|
1388 |
name = "pydantic-core"
|
1389 |
+
version = "2.23.3"
|
1390 |
source = { registry = "https://pypi.org/simple" }
|
1391 |
dependencies = [
|
1392 |
{ name = "typing-extensions" },
|
1393 |
]
|
1394 |
+
sdist = { url = "https://files.pythonhosted.org/packages/5c/cc/07bec3fb337ff80eacd6028745bd858b9642f61ee58cfdbfb64451c1def0/pydantic_core-2.23.3.tar.gz", hash = "sha256:3cb0f65d8b4121c1b015c60104a685feb929a29d7cf204387c7f2688c7974690", size = 402277 }
|
1395 |
+
wheels = [
|
1396 |
+
{ url = "https://files.pythonhosted.org/packages/8f/35/6d81bc4aa7d06e716f39e2bffb0eabcbcebaf7bab94c2f8278e277ded0ea/pydantic_core-2.23.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e0ec50663feedf64d21bad0809f5857bac1ce91deded203efc4a84b31b2e4305", size = 1845250 },
|
1397 |
+
{ url = "https://files.pythonhosted.org/packages/18/42/0821cd46f76406e0fe57df7a89d6af8fddb22cce755bcc2db077773c7d1a/pydantic_core-2.23.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:db6e6afcb95edbe6b357786684b71008499836e91f2a4a1e55b840955b341dbb", size = 1769993 },
|
1398 |
+
{ url = "https://files.pythonhosted.org/packages/e5/55/b969088e48bd8ea588548a7194d425de74370b17b385cee4d28f5a79013d/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98ccd69edcf49f0875d86942f4418a4e83eb3047f20eb897bffa62a5d419c8fa", size = 1791250 },
|
1399 |
+
{ url = "https://files.pythonhosted.org/packages/43/c1/1d460d09c012ac76b68b2a1fd426ad624724f93b40e24a9a993763f12c61/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a678c1ac5c5ec5685af0133262103defb427114e62eafeda12f1357a12140162", size = 1802530 },
|
1400 |
+
{ url = "https://files.pythonhosted.org/packages/70/8e/fd3c9eda00fbdadca726f17a0f863ecd871a65b3a381b77277ae386d3bcd/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01491d8b4d8db9f3391d93b0df60701e644ff0894352947f31fff3e52bd5c801", size = 1997848 },
|
1401 |
+
{ url = "https://files.pythonhosted.org/packages/f0/67/13fa22d7b09395e83721edc31bae2bd5c5e2c36a09d470c18f5d1de46958/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fcf31facf2796a2d3b7fe338fe8640aa0166e4e55b4cb108dbfd1058049bf4cb", size = 2662790 },
|
1402 |
+
{ url = "https://files.pythonhosted.org/packages/fa/1b/1d689c53d15ab67cb0df1c3a2b1df873b50409581e93e4848289dce57e2f/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7200fd561fb3be06827340da066df4311d0b6b8eb0c2116a110be5245dceb326", size = 2074114 },
|
1403 |
+
{ url = "https://files.pythonhosted.org/packages/3d/d9/b565048609db77760b9a0900f6e0a3b2f33be47cd3c4a433f49653a0d2b5/pydantic_core-2.23.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc1636770a809dee2bd44dd74b89cc80eb41172bcad8af75dd0bc182c2666d4c", size = 1918153 },
|
1404 |
+
{ url = "https://files.pythonhosted.org/packages/41/94/8ee55c51333ed8df3a6f1e73c6530c724a9a37d326e114c9e3b24faacff9/pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:67a5def279309f2e23014b608c4150b0c2d323bd7bccd27ff07b001c12c2415c", size = 1969019 },
|
1405 |
+
{ url = "https://files.pythonhosted.org/packages/f7/49/0233bae5778a5526cef000447a93e8d462f4f13e2214c13c5b23d379cb25/pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:748bdf985014c6dd3e1e4cc3db90f1c3ecc7246ff5a3cd4ddab20c768b2f1dab", size = 2121325 },
|
1406 |
+
{ url = "https://files.pythonhosted.org/packages/42/a1/2f262db2fd6f9c2c9904075a067b1764cc6f71c014be5c6c91d9de52c434/pydantic_core-2.23.3-cp312-none-win32.whl", hash = "sha256:255ec6dcb899c115f1e2a64bc9ebc24cc0e3ab097775755244f77360d1f3c06c", size = 1725252 },
|
1407 |
+
{ url = "https://files.pythonhosted.org/packages/9a/00/a57937080b49500df790c4853d3e7bc605bd0784e4fcaf1a159456f37ef1/pydantic_core-2.23.3-cp312-none-win_amd64.whl", hash = "sha256:40b8441be16c1e940abebed83cd006ddb9e3737a279e339dbd6d31578b802f7b", size = 1920660 },
|
1408 |
+
{ url = "https://files.pythonhosted.org/packages/e1/3c/32958c0a5d1935591b58337037a1695782e61261582d93d5a7f55441f879/pydantic_core-2.23.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6daaf5b1ba1369a22c8b050b643250e3e5efc6a78366d323294aee54953a4d5f", size = 1845068 },
|
1409 |
+
{ url = "https://files.pythonhosted.org/packages/92/a1/7e628e19b78e6ffdb2c92cccbb7eca84bfd3276cee4cafcae8833452f458/pydantic_core-2.23.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d015e63b985a78a3d4ccffd3bdf22b7c20b3bbd4b8227809b3e8e75bc37f9cb2", size = 1770095 },
|
1410 |
+
{ url = "https://files.pythonhosted.org/packages/bb/17/d15fd8ce143cd1abb27be924eeff3c5c0fe3b0582f703c5a5273c11e67ce/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3fc572d9b5b5cfe13f8e8a6e26271d5d13f80173724b738557a8c7f3a8a3791", size = 1790964 },
|
1411 |
+
{ url = "https://files.pythonhosted.org/packages/24/cc/37feff1792f09dc33207fbad3897373229279d1973c211f9562abfdf137d/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f6bd91345b5163ee7448bee201ed7dd601ca24f43f439109b0212e296eb5b423", size = 1802384 },
|
1412 |
+
{ url = "https://files.pythonhosted.org/packages/44/d8/ca9acd7f5f044d9ff6e43d7f35aab4b1d5982b4773761eabe3317fc68e30/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc379c73fd66606628b866f661e8785088afe2adaba78e6bbe80796baf708a63", size = 1997824 },
|
1413 |
+
{ url = "https://files.pythonhosted.org/packages/35/0f/146269dba21b10d5bf86f9a7a7bbeab4ce1db06f466a1ab5ec3dec68b409/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbdce4b47592f9e296e19ac31667daed8753c8367ebb34b9a9bd89dacaa299c9", size = 2662907 },
|
1414 |
+
{ url = "https://files.pythonhosted.org/packages/5a/7d/9573f006e39cd1a7b7716d1a264e3f4f353cf0a6042c04c01c6e31666f62/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc3cf31edf405a161a0adad83246568647c54404739b614b1ff43dad2b02e6d5", size = 2073953 },
|
1415 |
+
{ url = "https://files.pythonhosted.org/packages/7e/a5/25200aaafd1e97e2ec3c1eb4b357669dd93911f2eba252bc60b6ba884fff/pydantic_core-2.23.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8e22b477bf90db71c156f89a55bfe4d25177b81fce4aa09294d9e805eec13855", size = 1917822 },
|
1416 |
+
{ url = "https://files.pythonhosted.org/packages/3e/b4/ac069c58e3cee70c69f03693222cc173fdf740d20d53167bceafc1efc7ca/pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:0a0137ddf462575d9bce863c4c95bac3493ba8e22f8c28ca94634b4a1d3e2bb4", size = 1968838 },
|
1417 |
+
{ url = "https://files.pythonhosted.org/packages/d1/3d/9f96bbd6212b4b0a6dc6d037e446208d3420baba2b2b81e544094b18a859/pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:203171e48946c3164fe7691fc349c79241ff8f28306abd4cad5f4f75ed80bc8d", size = 2121468 },
|
1418 |
+
{ url = "https://files.pythonhosted.org/packages/ac/50/7399d536d6600d69059a87fff89861332c97a7b3471327a3663c7576e707/pydantic_core-2.23.3-cp313-none-win32.whl", hash = "sha256:76bdab0de4acb3f119c2a4bff740e0c7dc2e6de7692774620f7452ce11ca76c8", size = 1725373 },
|
1419 |
+
{ url = "https://files.pythonhosted.org/packages/24/ba/9ac8744ab636c1161c598cc5e8261379b6b0f1d63c31242bf9d5ed41ed32/pydantic_core-2.23.3-cp313-none-win_amd64.whl", hash = "sha256:37ba321ac2a46100c578a92e9a6aa33afe9ec99ffa084424291d84e456f490c1", size = 1920594 },
|
1420 |
]
|
1421 |
|
1422 |
[[package]]
|
|
|
1714 |
|
1715 |
[[package]]
|
1716 |
name = "sqlglot"
|
1717 |
+
version = "25.21.1"
|
1718 |
source = { registry = "https://pypi.org/simple" }
|
1719 |
+
sdist = { url = "https://files.pythonhosted.org/packages/97/73/8235e4d4fdec52fdd0f5ce85929b21bb00cce6a929c29c3f3c1a95d9d35a/sqlglot-25.21.1.tar.gz", hash = "sha256:bf4e162d0317ac13065c2802c8d7592208628c4b3888ac37552ac8b1b4577218", size = 19444895 }
|
1720 |
wheels = [
|
1721 |
+
{ url = "https://files.pythonhosted.org/packages/8c/3a/1500854b212ee736b959dd1f406dc9a3edb8a8bcac0b29c2b49fb710d35e/sqlglot-25.21.1-py3-none-any.whl", hash = "sha256:d39ac6f9ebcf43642025a1b845fb3af7c163b3bb1129f784e32f7b81383920d7", size = 413000 },
|
1722 |
]
|
1723 |
|
1724 |
[package.optional-dependencies]
|