From 597a46e5d591c88bc87004c4a2099b75826a0347 Mon Sep 17 00:00:00 2001 From: David Gasquez Date: Mon, 19 Feb 2024 10:18:44 +0000 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=94=90=20add=20uv?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devcontainer/devcontainer.json | 7 +++---- Makefile | 8 +++++++- ggdp/__init__.py | 5 ++--- ggdp/assets.py | 4 ++-- pyproject.toml | 10 +++++++++- 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 16541a0..7f0a7d0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -19,8 +19,8 @@ "[python]": { "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll": true, - "source.organizeImports": true + "source.fixAll": "explicit", + "source.organizeImports": "explicit" }, "editor.defaultFormatter": "charliermarsh.ruff" }, @@ -34,7 +34,6 @@ "charliermarsh.ruff", "EditorConfig.EditorConfig", "innoverio.vscode-dbt-power-user", - "ms-python.isort", "ms-python.python", "ms-python.vscode-pylance", "ms-toolsai.datawrangler", @@ -46,5 +45,5 @@ ] } }, - "postCreateCommand": "pip install -e '.[dev]'" + "postCreateCommand": "make setup" } diff --git a/Makefile b/Makefile index 6662a93..fb938f0 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,13 @@ tables: @python -c 'from ggdp import db; db.export_database_to_parquet("data/local.duckdb", "data/tables");' dev: - @dagster dev -m ggdp + @dagster dev + +setup: + @command -v uv >/dev/null 2>&1 || pip install -U uv + uv venv + uv pip install -U -e .[dev] + . .venv/bin/activate test: @cd dbt && dbt test diff --git a/ggdp/__init__.py b/ggdp/__init__.py index 6f2f3f8..58d70c4 100644 --- a/ggdp/__init__.py +++ b/ggdp/__init__.py @@ -1,12 +1,11 @@ import os -from dagster import Definitions, EnvVar, load_assets_from_modules +from dagster import EnvVar, Definitions, load_assets_from_modules from dagster_dbt import DbtCliResource, load_assets_from_dbt_project from dagster_duckdb import DuckDBResource from dagster_duckdb_pandas import DuckDBPandasIOManager -from . import assets, jobs -from . import resources as res +from . import jobs, assets, resources as res DBT_PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) + "/../dbt/" diff --git a/ggdp/assets.py b/ggdp/assets.py index 16594ea..ffd1cb4 100644 --- a/ggdp/assets.py +++ b/ggdp/assets.py @@ -2,11 +2,11 @@ import pandas as pd import requests +from retry import retry from dagster import asset from fsspec.implementations.http import HTTPFileSystem -from retry import retry -from .resources import CovalentAPIResource, DuneResource +from .resources import DuneResource, CovalentAPIResource ALLO_INDEXER_URL = "https://indexer-production.fly.dev/data" CHAIN_METADATA_URL = "https://chainid.network/chains.json" diff --git a/pyproject.toml b/pyproject.toml index 4ad55a5..95b9f3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,10 +48,18 @@ build-backend = "setuptools.build_meta" packages = ["ggdp"] [tool.setuptools.package-data] -"datadex" = ["../dbt/**"] +"ggdp" = ["../dbt/**"] + +[tool.dagster] +module_name = "ggdp" [tool.sqlfmt] line_length = 120 check = true fast = false dialect = "duckdb" + +[tool.ruff.lint.isort] +case-sensitive = true +combine-as-imports = true +length-sort = true