diff --git a/.gitignore b/.gitignore index 1fd5d0638..fbbf793f5 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,9 @@ devtools/datasette/fly/Dockerfile devtools/datasette/fly/inspect-data.json devtools/datasette/fly/metadata.yml devtools/datasette/fly/all_dbs.tar.zst + +# dbt specific ignores +dbt/dbt_packages/ +dbt/target/ +dbt/logs/ +dbt/.user.yml diff --git a/dbt/README.md b/dbt/README.md new file mode 100644 index 000000000..6e4405919 --- /dev/null +++ b/dbt/README.md @@ -0,0 +1,86 @@ +### Overview +This directory contains an initial setup of a `dbt` project meant to write +[data tests](https://docs.getdbt.com/docs/build/data-tests) for PUDL data. The +project is setup with profiles that allow you to select running tests on `nightly` +builds, `etl-full`, or `etl-fast` outputs. The `nightly` profile will operate +directly on parquet files in our S3 bucket, while both the `etl-full` and `etl-fast` +profiles will look for parquet files based on your `PUDL_OUTPUT` environment +variable. See the `Usage` section below for examples using these profiles. + + +### Development +To setup the `dbt` project, simply install the PUDL `conda` environment as normal, +then run the following command from this directory. + +``` +dbt deps +``` + +#### Adding new tables +To add a new table to the project, you must add it as a +[dbt source](https://docs.getdbt.com/docs/build/sources). You can do this by editing +the file `src/pudl/dbt/models/schema.yml`. I've already added the table +`out_vcerare__hourly_available_capacity_factor`, which can be used as a reference. + +#### Adding tests +Once a table is included as a `source`, you can add tests for the table. You can +either add a generic test directly in `src/pudl/dbt/models/schema.yml`, or create +a `sql` file in the directory `src/pudl/dbt/tests/`, which references the `source`. +When adding `sql` tests like this, you should construct a query that `SELECT`'s rows +that indicate a failure. That is, if the query returns any rows, `dbt` will raise a +failure for that test. + +The project includes [dbt-expectations](https://github.com/calogica/dbt-expectations) +and [dbt-utils](https://github.com/dbt-labs/dbt-utils) as dependencies. These +packages include useful tests out of the box that can be applied to any tables +in the project. There are several examples in `src/pudl/dbt/models/schema.yml` which +use `dbt-expectations`. + +#### Modifying a table before test +In many cases we modify a table slightly before executing a test. There are a couple +ways to accomplish this. First, when creating a `sql` test in `src/pudl/dbt/tests/`, +you can structure your query to modify the table/column before selecting failure +rows. The second method is to create a [model](https://docs.getdbt.com/docs/build/models) in `src/pudl/dbt/models/validation`. Any models created here will create a view +in a `duckdb` database being used by `dbt`. You can then reference this model in +`src/pudl/dbt/models/schema.yml`, and apply tests as you would with `sources`. There's +an example of this pattern which takes the table `out_ferc1__yearly_steam_plants_fuel_by_plant_sched402`, +computes fuel cost per mmbtu in the `sql` model, then applies `dbt_expectations` tests +to this model. + +#### Usage +There are a few ways to execute tests. To run all tests with a single command: + +``` +dbt build +``` + +This command will first run any models, then execute all tests. + +For more finegrained control, first run: + +``` +dbt run +``` + +This will run all models, thus prepairing any `sql` views that will be referenced in +tests. Once you've done this, you can run all tests with: + +``` +dbt test +``` + +To run all tests for a single source table: + +``` +dbt test --select source:pudl.{table_name} +``` + +To run all tests for a model table: + +``` +dbt test --select {model_name} +``` + +##### Selecting target profile +To select between `nightly`, `etl-full`, and `etl-fast` profiles, append +`--target {target_name}` to any of the previous commands. diff --git a/dbt/dbt_project.yml b/dbt/dbt_project.yml new file mode 100644 index 000000000..699f7a218 --- /dev/null +++ b/dbt/dbt_project.yml @@ -0,0 +1,22 @@ +# Name your project! Project names should contain only lowercase characters +# and underscores. A good package name should reflect your organization's +# name or the intended use of these models +name: "pudl_dbt" +version: "1.0.0" + +# This setting configures which "profile" dbt uses for this project. +profile: "pudl_dbt" + +# These configurations specify where dbt should look for different types of files. +# The `model-paths` config, for example, states that models in this project can be +# found in the "models/" directory. You probably won't need to change these! +model-paths: ["models"] +macro-paths: ["macros"] +test-paths: ["tests"] + +sources: + pudl_dbt: + +external_location: | + {%- if target.name == "nightly" -%} 'https://s3.us-west-2.amazonaws.com/pudl.catalyst.coop/nightly/{name}.parquet' + {%- else -%} '{{ env_var('PUDL_OUTPUT') }}/parquet/{name}.parquet' + {%- endif -%} diff --git a/dbt/models/ferc1/out_ferc1__yearly_steam_plants_fuel_by_plant_sched402/schema.yml b/dbt/models/ferc1/out_ferc1__yearly_steam_plants_fuel_by_plant_sched402/schema.yml new file mode 100644 index 000000000..4716ad5ff --- /dev/null +++ b/dbt/models/ferc1/out_ferc1__yearly_steam_plants_fuel_by_plant_sched402/schema.yml @@ -0,0 +1,43 @@ +version: 2 + +sources: + - name: pudl + tables: + - name: out_ferc1__yearly_steam_plants_fuel_by_plant_sched402 + +models: + - name: validate_ferc1__yearly_steam_plants_fuel_by_plant_sched402 + columns: + - name: gas_cost_per_mmbtu + data_tests: + - dbt_expectations.expect_column_quantile_values_to_be_between: + quantile: 0.05 + min_value: 1.5 + - dbt_expectations.expect_column_quantile_values_to_be_between: + quantile: 0.90 + max_value: 15.0 + - dbt_expectations.expect_column_median_to_be_between: + min_value: 2.0 + max_value: 10.0 + - name: oil_cost_per_mmbtu + data_tests: + - dbt_expectations.expect_column_quantile_values_to_be_between: + quantile: 0.10 + min_value: 3.5 + - dbt_expectations.expect_column_quantile_values_to_be_between: + quantile: 0.90 + max_value: 25.0 + - dbt_expectations.expect_column_median_to_be_between: + min_value: 6.5 + max_value: 17.0 + - name: coal_cost_per_mmbtu + data_tests: + - dbt_expectations.expect_column_quantile_values_to_be_between: + quantile: 0.10 + min_value: 0.75 + - dbt_expectations.expect_column_quantile_values_to_be_between: + quantile: 0.90 + max_value: 4.0 + - dbt_expectations.expect_column_median_to_be_between: + min_value: 1.0 + max_value: 2.5 diff --git a/dbt/models/ferc1/out_ferc1__yearly_steam_plants_fuel_by_plant_sched402/validate_ferc1__yearly_steam_plants_fuel_by_plant_sched402.sql b/dbt/models/ferc1/out_ferc1__yearly_steam_plants_fuel_by_plant_sched402/validate_ferc1__yearly_steam_plants_fuel_by_plant_sched402.sql new file mode 100644 index 000000000..f458597a5 --- /dev/null +++ b/dbt/models/ferc1/out_ferc1__yearly_steam_plants_fuel_by_plant_sched402/validate_ferc1__yearly_steam_plants_fuel_by_plant_sched402.sql @@ -0,0 +1,6 @@ + +select +{% for fuel_type in ["gas", "oil", "coal"] %} + {{ fuel_type }}_fraction_cost * fuel_cost / ({{ fuel_type }}_fraction_mmbtu * fuel_mmbtu) as {{ fuel_type }}_cost_per_mmbtu, +{% endfor %} +from {{ source('pudl', 'out_ferc1__yearly_steam_plants_fuel_by_plant_sched402') }} diff --git a/dbt/models/vcerare/out_vcerare__hourly_available_capacity_factor.yml b/dbt/models/vcerare/out_vcerare__hourly_available_capacity_factor.yml new file mode 100644 index 000000000..90cc23e36 --- /dev/null +++ b/dbt/models/vcerare/out_vcerare__hourly_available_capacity_factor.yml @@ -0,0 +1,46 @@ +version: 2 + +sources: + - name: pudl + tables: + - name: out_vcerare__hourly_available_capacity_factor + data_tests: + - dbt_expectations.expect_table_row_count_to_equal: + value: | + {%- if target.name == "etl-fast" -%} 27287400 + {%- else -%} 136437000 + {%- endif -%} + - dbt_expectations.expect_compound_columns_to_be_unique: + column_list: ["county_id_fips", "datetime_utc"] + row_condition: "county_id_fips is not null" + columns: + - name: capacity_factor_solar_pv + data_tests: + - not_null + - dbt_expectations.expect_column_max_to_be_between: + max_value: 1.02 + - dbt_expectations.expect_column_min_to_be_between: + min_value: 0.00 + - name: capacity_factor_offshore_wind + data_tests: + - not_null + - dbt_expectations.expect_column_max_to_be_between: + max_value: 1.00 + - dbt_expectations.expect_column_min_to_be_between: + min_value: 0.00 + - name: hour_of_year + data_tests: + - not_null + - dbt_expectations.expect_column_max_to_be_between: + min_value: 8759 + max_value: 8761 + - name: datetime_utc + data_tests: + - not_null + - dbt_expectations.expect_column_values_to_not_be_in_set: + value_set: ["{{ dbt_date.date(2020, 12, 31) }}"] + - name: county_or_lake_name + data_tests: + - not_null + - dbt_expectations.expect_column_values_to_not_be_in_set: + value_set: ["bedford_city", "clifton_forge_city"] diff --git a/dbt/package-lock.yml b/dbt/package-lock.yml new file mode 100644 index 000000000..80e576fa3 --- /dev/null +++ b/dbt/package-lock.yml @@ -0,0 +1,8 @@ +packages: + - package: calogica/dbt_expectations + version: 0.10.4 + - package: dbt-labs/dbt_utils + version: 1.3.0 + - package: calogica/dbt_date + version: 0.10.1 +sha1_hash: 29571f46f50e6393ca399c3db7361c22657f2d6b diff --git a/dbt/packages.yml b/dbt/packages.yml new file mode 100644 index 000000000..c6498b66b --- /dev/null +++ b/dbt/packages.yml @@ -0,0 +1,5 @@ +packages: + - package: calogica/dbt_expectations + version: [">=0.10.0", "<0.11.0"] + - package: dbt-labs/dbt_utils + version: [">=1.3.0", "<1.4.0"] diff --git a/dbt/profiles.yml b/dbt/profiles.yml new file mode 100644 index 000000000..f9b5f0437 --- /dev/null +++ b/dbt/profiles.yml @@ -0,0 +1,17 @@ +pudl_dbt: + outputs: + # Define targets for nightly builds, and local ETL full/fast + # See models/schema.yml for further configuration + nightly: + type: duckdb + path: "{{ env_var('PUDL_OUTPUT') }}/pudl.duckdb" + filesystems: + - fs: s3 + etl-full: + type: duckdb + path: "{{ env_var('PUDL_OUTPUT') }}/pudl.duckdb" + etl-fast: + type: duckdb + path: "{{ env_var('PUDL_OUTPUT') }}/pudl.duckdb" + + target: nightly diff --git a/environments/conda-linux-64.lock.yml b/environments/conda-linux-64.lock.yml index 4819f1f74..bb897c90e 100644 --- a/environments/conda-linux-64.lock.yml +++ b/environments/conda-linux-64.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: f389729ff984d83a911b4da6146abe76273f04efea7ac6ca153c51aa55500ff9 +# input_hash: 6b839ed1d07570aec20604a73d619cef9e942a587b535590835450fe9d06db92 channels: - conda-forge @@ -8,12 +8,15 @@ dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_gnu - addfips=0.4.2=pyhd8ed1ab_1 + - agate=1.9.1=pyh707e725_1 + - aiobotocore=2.18.0=pyhd8ed1ab_0 - aiofiles=24.1.0=pyhd8ed1ab_1 - aiohappyeyeballs=2.4.4=pyhd8ed1ab_1 - aiohttp=3.11.11=py312h178313f_0 + - aioitertools=0.12.0=pyhd8ed1ab_1 - aiosignal=1.3.2=pyhd8ed1ab_0 - alabaster=1.0.0=pyhd8ed1ab_1 - - alembic=1.14.1=pyhd8ed1ab_0 + - alembic=1.14.0=pyhd8ed1ab_1 - altair=5.5.0=pyhd8ed1ab_1 - annotated-types=0.7.0=pyhd8ed1ab_1 - antlr-python-runtime=4.13.2=pyhd8ed1ab_1 @@ -59,8 +62,8 @@ dependencies: - bleach-with-css=6.2.0=hd8ed1ab_3 - blinker=1.9.0=pyhff2d567_0 - blosc=1.21.6=he440d0b_1 - - boto3=1.36.2=pyhd8ed1ab_0 - - botocore=1.36.2=pyge310_1234567_0 + - boto3=1.36.1=pyhd8ed1ab_0 + - botocore=1.36.1=pyge310_1234567_0 - bottleneck=1.4.2=py312hc0a28a1_0 - branca=0.8.1=pyhd8ed1ab_0 - brotli=1.1.0=hb9d3cd8_2 @@ -99,7 +102,9 @@ dependencies: - curl=8.11.1=h332b0f4_0 - cycler=0.12.1=pyhd8ed1ab_1 - cyrus-sasl=2.1.27=h54b06d7_7 + - daff=1.3.46=pyhd8ed1ab_1 - dagster=1.9.9=pyh56b92e0_12 + - dagster-dbt=0.25.9=pyh29332c3_0 - dagster-graphql=1.9.9=pyh56b92e0_0 - dagster-pipes=1.9.9=pyh56b92e0_0 - dagster-postgres=0.25.9=pyh29332c3_0 @@ -109,9 +114,16 @@ dependencies: - databricks-sdk=0.40.0=pyhd8ed1ab_0 - datasette=0.65.1=pyhd8ed1ab_0 - dav1d=1.2.1=hd590300_0 + - dbt-adapters=1.13.1=pyhd8ed1ab_0 + - dbt-common=1.14.0=pyhd8ed1ab_0 + - dbt-core=1.9.1=pyhd8ed1ab_0 + - dbt-duckdb=1.9.0=pyhd8ed1ab_0 + - dbt-extractor=0.5.1=py312h12e396e_2 + - dbt-semantic-interfaces=0.7.4=pyhf696b4e_0 - dbus=1.13.6=h5008d03_3 - debugpy=1.8.12=py312h2ec8cdc_0 - decorator=5.1.1=pyhd8ed1ab_1 + - deepdiff=7.0.1=pyhd8ed1ab_0 - defusedxml=0.7.1=pyhd8ed1ab_0 - deprecated=1.2.15=pyhd8ed1ab_1 - distlib=0.3.9=pyhd8ed1ab_1 @@ -149,6 +161,7 @@ dependencies: - frozenlist=1.5.0=py312h66e93f0_0 - fsspec=2024.12.0=pyhd8ed1ab_0 - furo=2024.8.6=pyhd8ed1ab_2 + - future=1.0.0=pyhd8ed1ab_1 - gcsfs=2024.12.0=pyhd8ed1ab_0 - gdal=3.10.1=py312hc55c449_1 - gdk-pixbuf=2.42.12=hb9ae30d_0 @@ -202,13 +215,13 @@ dependencies: - identify=2.6.5=pyhd8ed1ab_0 - idna=3.10=pyhd8ed1ab_1 - imagesize=1.4.1=pyhd8ed1ab_0 - - importlib-metadata=8.5.0=pyha770c72_1 + - importlib-metadata=6.10.0=pyha770c72_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.0.0=pyhd8ed1ab_1 - ipykernel=6.29.5=pyh3099207_0 - ipython=8.31.0=pyh707e725_0 - ipywidgets=8.1.5=pyhd8ed1ab_1 - - isodate=0.7.2=pyhd8ed1ab_1 + - isodate=0.6.1=pyhd8ed1ab_0 - isoduration=20.11.0=pyhd8ed1ab_1 - itsdangerous=2.2.0=pyhd8ed1ab_1 - janus=2.0.0=pyhd8ed1ab_0 @@ -248,6 +261,7 @@ dependencies: - latexcodec=2.0.1=pyh9f0ad1d_0 - lcms2=2.16=hb7c19ff_0 - ld_impl_linux-64=2.43=h712a8e2_2 + - leather=0.4.0=pyhd8ed1ab_0 - lerc=4.0.0=h27087fc_0 - libabseil=20240722.0=cxx17_hbbce691_4 - libarchive=3.7.7=h4585015_3 @@ -328,6 +342,7 @@ dependencies: - markdown-it-py=3.0.0=pyhd8ed1ab_1 - marko=2.1.2=pyhd8ed1ab_1 - markupsafe=3.0.2=py312h178313f_1 + - mashumaro=3.14=pyhd8ed1ab_0 - matplotlib-base=3.10.0=py312hd3ec401_0 - matplotlib-inline=0.1.7=pyhd8ed1ab_1 - mdurl=0.1.2=pyhd8ed1ab_1 @@ -368,6 +383,8 @@ dependencies: - opentelemetry-sdk=1.29.0=pyhd8ed1ab_0 - opentelemetry-semantic-conventions=0.50b0=pyh3cfb1c2_0 - orc=2.0.3=h12ee42a_2 + - ordered-set=4.1.0=pyhd8ed1ab_1 + - orjson=3.10.15=py312h12e396e_0 - overrides=7.7.0=pyhd8ed1ab_1 - packaging=24.2=pyhd8ed1ab_2 - pandas=2.2.3=py312hf9745cd_1 @@ -376,9 +393,11 @@ dependencies: - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.0=h861ebed_0 - paramiko=3.5.0=pyhd8ed1ab_1 + - parsedatetime=2.4=py_1 - parso=0.8.4=pyhd8ed1ab_1 - partd=1.4.2=pyhd8ed1ab_0 - pastel=0.2.1=pyhd8ed1ab_0 + - pathspec=0.12.1=pyhd8ed1ab_1 - pbr=6.1.0=pyhd8ed1ab_1 - pcre2=10.44=hba22ea6_2 - petl=1.7.15=pyhd8ed1ab_0 @@ -420,6 +439,7 @@ dependencies: - pygls=1.3.1=pyhd8ed1ab_1 - pygments=2.19.1=pyhd8ed1ab_0 - pygraphviz=1.14=py312h011e53f_0 + - pyicu=2.14=py312hdab4cef_0 - pyjwt=2.10.1=pyhd8ed1ab_0 - pylev=1.4.0=pyhd8ed1ab_0 - pynacl=1.5.0=py312h66e93f0_4 @@ -446,6 +466,7 @@ dependencies: - python-slugify=8.0.4=pyhd8ed1ab_1 - python-tzdata=2024.2=pyhd8ed1ab_1 - python_abi=3.12=5_cp312 + - pytimeparse=1.1.8=py_0 - pytz=2024.1=pyhd8ed1ab_0 - pyu2f=0.1.5=pyhd8ed1ab_1 - pywin32-on-windows=0.1.0=pyh1179c8e_3 @@ -475,6 +496,7 @@ dependencies: - ruff=0.9.1=py312h2156523_0 - ruff-lsp=0.0.60=pyhd8ed1ab_0 - s2n=1.5.11=h072c03f_0 + - s3fs=2024.12.0=pyhd8ed1ab_0 - s3transfer=0.11.1=pyhd8ed1ab_0 - scikit-learn=1.6.1=py312h7a48858_0 - scipy=1.15.1=py312h180e4f1_0 @@ -489,6 +511,7 @@ dependencies: - snappy=1.2.1=h8bd8927_1 - sniffio=1.3.1=pyhd8ed1ab_1 - snowballstemmer=2.2.0=pyhd8ed1ab_0 + - snowplow-tracker=1.0.4=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.5=pyhd8ed1ab_1 - sphinx=8.1.3=pyhd8ed1ab_1 @@ -507,6 +530,8 @@ dependencies: - splink=4.0.6=pyhd8ed1ab_0 - sqlalchemy=2.0.37=py312h66e93f0_0 - sqlglot=26.0.1=pyhd8ed1ab_0 + - sqlglot-rs=26.0.1=hd8ed1ab_0 + - sqlglotrs=0.3.0=py312h12e396e_0 - sqlite=3.48.0=h9eae976_0 - sqlparse=0.5.3=pyhd8ed1ab_0 - stack_data=0.6.3=pyhd8ed1ab_1 @@ -538,6 +563,8 @@ dependencies: - typer-slim-standard=0.15.1=hd8ed1ab_0 - types-python-dateutil=2.9.0.20241206=pyhd8ed1ab_0 - types-pyyaml=6.0.12.20241230=pyhd8ed1ab_0 + - types-requests=2.31.0.6=pyhd8ed1ab_0 + - types-urllib3=1.26.25.14=pyhd8ed1ab_1 - typing-extensions=4.12.2=hd8ed1ab_1 - typing_extensions=4.12.2=pyha770c72_1 - typing_inspect=0.9.0=pyhd8ed1ab_1 diff --git a/environments/conda-lock.yml b/environments/conda-lock.yml index 50e438970..b50eb83b5 100644 --- a/environments/conda-lock.yml +++ b/environments/conda-lock.yml @@ -15,9 +15,9 @@ version: 1 metadata: content_hash: - linux-64: f389729ff984d83a911b4da6146abe76273f04efea7ac6ca153c51aa55500ff9 - osx-64: bed0db5d7382563120fa2dcaf2e6ff28bc05cb2375decf695693321f67f8529e - osx-arm64: 6753dd40a718353b16982a4232a185eec37bd55c0267668f043a65311cf22d97 + linux-64: 6b839ed1d07570aec20604a73d619cef9e942a587b535590835450fe9d06db92 + osx-64: c3cf71d1cced706784cbe75e151787e89b1c331cb82dd65ebdbd542636e98901 + osx-arm64: dc80b2ea52b86787c8ac82dda5d296db5ac5b5848c84a06ef1df54f61674a71f channels: - url: conda-forge used_env_vars: [] @@ -91,6 +91,132 @@ package: sha256: f18e57e83c187632880fe1d95dbeb035dae175d0f8df632b0f971685197d96b2 category: main optional: false + - name: agate + version: 1.9.1 + manager: conda + platform: linux-64 + dependencies: + __unix: "" + babel: ">=2.0" + future: "" + isodate: ">=0.5.4" + leather: ">=0.3.2" + parsedatetime: "!=2.5,!=2.6,>=2.1" + pyicu: "" + python: ">=3.8" + python-slugify: ">=1.2.1" + pytimeparse: ">=1.1.5" + six: ">=1.9.0" + url: https://conda.anaconda.org/conda-forge/noarch/agate-1.9.1-pyh707e725_1.conda + hash: + md5: 653cd4e10695afac6b561c50a7eafa20 + sha256: dac8242c1cbfb004e24fb2acb32edfcb52ea7ee73bd761e0cde01b6164ca534f + category: main + optional: false + - name: agate + version: 1.9.1 + manager: conda + platform: osx-64 + dependencies: + __unix: "" + future: "" + pyicu: "" + python: ">=3.8" + six: ">=1.9.0" + isodate: ">=0.5.4" + babel: ">=2.0" + leather: ">=0.3.2" + python-slugify: ">=1.2.1" + pytimeparse: ">=1.1.5" + parsedatetime: "!=2.5,!=2.6,>=2.1" + url: https://conda.anaconda.org/conda-forge/noarch/agate-1.9.1-pyh707e725_1.conda + hash: + md5: 653cd4e10695afac6b561c50a7eafa20 + sha256: dac8242c1cbfb004e24fb2acb32edfcb52ea7ee73bd761e0cde01b6164ca534f + category: main + optional: false + - name: agate + version: 1.9.1 + manager: conda + platform: osx-arm64 + dependencies: + __unix: "" + future: "" + pyicu: "" + python: ">=3.8" + six: ">=1.9.0" + isodate: ">=0.5.4" + babel: ">=2.0" + leather: ">=0.3.2" + python-slugify: ">=1.2.1" + pytimeparse: ">=1.1.5" + parsedatetime: "!=2.5,!=2.6,>=2.1" + url: https://conda.anaconda.org/conda-forge/noarch/agate-1.9.1-pyh707e725_1.conda + hash: + md5: 653cd4e10695afac6b561c50a7eafa20 + sha256: dac8242c1cbfb004e24fb2acb32edfcb52ea7ee73bd761e0cde01b6164ca534f + category: main + optional: false + - name: aiobotocore + version: 2.18.0 + manager: conda + platform: linux-64 + dependencies: + aiohttp: ">=3.9.2,<4.0.0" + aioitertools: ">=0.5.1,<1.0.0" + botocore: ">=1.36.0,<1.36.2" + jmespath: ">=0.7.1,<2.0.0" + multidict: ">=6.0.0,<7.0.0" + python: ">=3.9" + python-dateutil: ">=2.1,<3.0.0" + urllib3: ">=1.25.4,<1.27" + wrapt: ">=1.10.10,<2.0.0" + url: https://conda.anaconda.org/conda-forge/noarch/aiobotocore-2.18.0-pyhd8ed1ab_0.conda + hash: + md5: 6fee4b76792b913ba69c62e4899ea130 + sha256: a0a0f1cfcbddc84959173ca28e6a14ac664b2f5b36e345e721e0428a3dbadbe3 + category: main + optional: false + - name: aiobotocore + version: 2.18.0 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + python-dateutil: ">=2.1,<3.0.0" + jmespath: ">=0.7.1,<2.0.0" + urllib3: ">=1.25.4,<1.27" + wrapt: ">=1.10.10,<2.0.0" + aioitertools: ">=0.5.1,<1.0.0" + aiohttp: ">=3.9.2,<4.0.0" + botocore: ">=1.36.0,<1.36.2" + multidict: ">=6.0.0,<7.0.0" + url: https://conda.anaconda.org/conda-forge/noarch/aiobotocore-2.18.0-pyhd8ed1ab_0.conda + hash: + md5: 6fee4b76792b913ba69c62e4899ea130 + sha256: a0a0f1cfcbddc84959173ca28e6a14ac664b2f5b36e345e721e0428a3dbadbe3 + category: main + optional: false + - name: aiobotocore + version: 2.18.0 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + python-dateutil: ">=2.1,<3.0.0" + jmespath: ">=0.7.1,<2.0.0" + urllib3: ">=1.25.4,<1.27" + wrapt: ">=1.10.10,<2.0.0" + aioitertools: ">=0.5.1,<1.0.0" + aiohttp: ">=3.9.2,<4.0.0" + botocore: ">=1.36.0,<1.36.2" + multidict: ">=6.0.0,<7.0.0" + url: https://conda.anaconda.org/conda-forge/noarch/aiobotocore-2.18.0-pyhd8ed1ab_0.conda + hash: + md5: 6fee4b76792b913ba69c62e4899ea130 + sha256: a0a0f1cfcbddc84959173ca28e6a14ac664b2f5b36e345e721e0428a3dbadbe3 + category: main + optional: false - name: aiofiles version: 24.1.0 manager: conda @@ -227,6 +353,45 @@ package: sha256: 446f078e7a7b892894d7f4851a278b7834ffb4f5632313646a55c3abe13690d4 category: main optional: false + - name: aioitertools + version: 0.12.0 + manager: conda + platform: linux-64 + dependencies: + python: ">=3.9" + typing_extensions: ">=4.0" + url: https://conda.anaconda.org/conda-forge/noarch/aioitertools-0.12.0-pyhd8ed1ab_1.conda + hash: + md5: 3eb47adbffac44483f59e580f8600a1e + sha256: 7d56e547a819a03c058dd8793ca9df6ff9825812da52c214192edb61a7de1c95 + category: main + optional: false + - name: aioitertools + version: 0.12.0 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + typing_extensions: ">=4.0" + url: https://conda.anaconda.org/conda-forge/noarch/aioitertools-0.12.0-pyhd8ed1ab_1.conda + hash: + md5: 3eb47adbffac44483f59e580f8600a1e + sha256: 7d56e547a819a03c058dd8793ca9df6ff9825812da52c214192edb61a7de1c95 + category: main + optional: false + - name: aioitertools + version: 0.12.0 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + typing_extensions: ">=4.0" + url: https://conda.anaconda.org/conda-forge/noarch/aioitertools-0.12.0-pyhd8ed1ab_1.conda + hash: + md5: 3eb47adbffac44483f59e580f8600a1e + sha256: 7d56e547a819a03c058dd8793ca9df6ff9825812da52c214192edb61a7de1c95 + category: main + optional: false - name: aiosignal version: 1.3.2 manager: conda @@ -303,48 +468,54 @@ package: category: main optional: false - name: alembic - version: 1.14.1 + version: 1.14.0 manager: conda platform: linux-64 dependencies: + importlib-metadata: "" + importlib_resources: "" mako: "" python: ">=3.9" sqlalchemy: ">=1.3.0" typing_extensions: ">=4" - url: https://conda.anaconda.org/conda-forge/noarch/alembic-1.14.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/alembic-1.14.0-pyhd8ed1ab_1.conda hash: - md5: 0b211ee9f81a025906738697c0ecce55 - sha256: 84c13760a97810a2331662c20a0b5bd8cdb6af3179cecae8156e04eae776750b + md5: b54392a3894585367c9c87ea804e2fd1 + sha256: 732dbbcbb01b9049d7625d3adb989437700544bb883223fb0853cdf3a52f5bac category: main optional: false - name: alembic - version: 1.14.1 + version: 1.14.0 manager: conda platform: osx-64 dependencies: + importlib-metadata: "" + importlib_resources: "" mako: "" python: ">=3.9" typing_extensions: ">=4" sqlalchemy: ">=1.3.0" - url: https://conda.anaconda.org/conda-forge/noarch/alembic-1.14.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/alembic-1.14.0-pyhd8ed1ab_1.conda hash: - md5: 0b211ee9f81a025906738697c0ecce55 - sha256: 84c13760a97810a2331662c20a0b5bd8cdb6af3179cecae8156e04eae776750b + md5: b54392a3894585367c9c87ea804e2fd1 + sha256: 732dbbcbb01b9049d7625d3adb989437700544bb883223fb0853cdf3a52f5bac category: main optional: false - name: alembic - version: 1.14.1 + version: 1.14.0 manager: conda platform: osx-arm64 dependencies: + importlib-metadata: "" + importlib_resources: "" mako: "" python: ">=3.9" typing_extensions: ">=4" sqlalchemy: ">=1.3.0" - url: https://conda.anaconda.org/conda-forge/noarch/alembic-1.14.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/alembic-1.14.0-pyhd8ed1ab_1.conda hash: - md5: 0b211ee9f81a025906738697c0ecce55 - sha256: 84c13760a97810a2331662c20a0b5bd8cdb6af3179cecae8156e04eae776750b + md5: b54392a3894585367c9c87ea804e2fd1 + sha256: 732dbbcbb01b9049d7625d3adb989437700544bb883223fb0853cdf3a52f5bac category: main optional: false - name: altair @@ -2353,52 +2524,52 @@ package: category: main optional: false - name: boto3 - version: 1.36.2 + version: 1.36.1 manager: conda platform: linux-64 dependencies: - botocore: ">=1.36.2,<1.37.0" + botocore: ">=1.36.1,<1.37.0" jmespath: ">=0.7.1,<2.0.0" python: ">=3.9" s3transfer: ">=0.11.0,<0.12.0" - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.36.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.36.1-pyhd8ed1ab_0.conda hash: - md5: 423f8441deb3b39da844e11ed9d13a21 - sha256: cbaca87207d9db43a7f680e6ed28b02e6378fe3a65ad8789ef6c6e945ba4cf65 + md5: 5c93e40feecdff5020a668c118cdcbd6 + sha256: d4683edae9c9d2a00a74a5cdd87cf6adfbccd7426fd2adb09e5f4030dc14608d category: main optional: false - name: boto3 - version: 1.36.2 + version: 1.36.1 manager: conda platform: osx-64 dependencies: python: ">=3.9" jmespath: ">=0.7.1,<2.0.0" s3transfer: ">=0.11.0,<0.12.0" - botocore: ">=1.36.2,<1.37.0" - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.36.2-pyhd8ed1ab_0.conda + botocore: ">=1.36.1,<1.37.0" + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.36.1-pyhd8ed1ab_0.conda hash: - md5: 423f8441deb3b39da844e11ed9d13a21 - sha256: cbaca87207d9db43a7f680e6ed28b02e6378fe3a65ad8789ef6c6e945ba4cf65 + md5: 5c93e40feecdff5020a668c118cdcbd6 + sha256: d4683edae9c9d2a00a74a5cdd87cf6adfbccd7426fd2adb09e5f4030dc14608d category: main optional: false - name: boto3 - version: 1.36.2 + version: 1.36.1 manager: conda platform: osx-arm64 dependencies: python: ">=3.9" jmespath: ">=0.7.1,<2.0.0" s3transfer: ">=0.11.0,<0.12.0" - botocore: ">=1.36.2,<1.37.0" - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.36.2-pyhd8ed1ab_0.conda + botocore: ">=1.36.1,<1.37.0" + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.36.1-pyhd8ed1ab_0.conda hash: - md5: 423f8441deb3b39da844e11ed9d13a21 - sha256: cbaca87207d9db43a7f680e6ed28b02e6378fe3a65ad8789ef6c6e945ba4cf65 + md5: 5c93e40feecdff5020a668c118cdcbd6 + sha256: d4683edae9c9d2a00a74a5cdd87cf6adfbccd7426fd2adb09e5f4030dc14608d category: main optional: false - name: botocore - version: 1.36.2 + version: 1.36.1 manager: conda platform: linux-64 dependencies: @@ -2406,14 +2577,14 @@ package: python: ">=3.10" python-dateutil: ">=2.1,<3.0.0" urllib3: ">=1.25.4,!=2.2.0,<3" - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.36.2-pyge310_1234567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.36.1-pyge310_1234567_0.conda hash: - md5: 403b23f0d7fe0e85eb74a977e755af6b - sha256: b356557324d3f8751ed6f9a30da69e87f21eefe60245cb314a4dafc762028bd3 + md5: 8be0efb498e635e845c2239437c7eaf3 + sha256: 13f9452f3d75e8693730f542857e15391e5d7beb2724375a661dd8ea77d409a9 category: main optional: false - name: botocore - version: 1.36.2 + version: 1.36.1 manager: conda platform: osx-64 dependencies: @@ -2421,14 +2592,14 @@ package: python-dateutil: ">=2.1,<3.0.0" jmespath: ">=0.7.1,<2.0.0" urllib3: ">=1.25.4,!=2.2.0,<3" - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.36.2-pyge310_1234567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.36.1-pyge310_1234567_0.conda hash: - md5: 403b23f0d7fe0e85eb74a977e755af6b - sha256: b356557324d3f8751ed6f9a30da69e87f21eefe60245cb314a4dafc762028bd3 + md5: 8be0efb498e635e845c2239437c7eaf3 + sha256: 13f9452f3d75e8693730f542857e15391e5d7beb2724375a661dd8ea77d409a9 category: main optional: false - name: botocore - version: 1.36.2 + version: 1.36.1 manager: conda platform: osx-arm64 dependencies: @@ -2436,10 +2607,10 @@ package: python-dateutil: ">=2.1,<3.0.0" jmespath: ">=0.7.1,<2.0.0" urllib3: ">=1.25.4,!=2.2.0,<3" - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.36.2-pyge310_1234567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.36.1-pyge310_1234567_0.conda hash: - md5: 403b23f0d7fe0e85eb74a977e755af6b - sha256: b356557324d3f8751ed6f9a30da69e87f21eefe60245cb314a4dafc762028bd3 + md5: 8be0efb498e635e845c2239437c7eaf3 + sha256: 13f9452f3d75e8693730f542857e15391e5d7beb2724375a661dd8ea77d409a9 category: main optional: false - name: bottleneck @@ -4108,6 +4279,42 @@ package: sha256: befd4d6e8b542d0c30aff47b098d43bbbe1bbf743ba6cd87a100d8a8731a6e03 category: main optional: false + - name: daff + version: 1.3.46 + manager: conda + platform: linux-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/daff-1.3.46-pyhd8ed1ab_1.conda + hash: + md5: 236edcf54ca8ecc40c603cab27217afa + sha256: 803a08b182396492da45c7f9bb810800d9fde230bea0ddceb2e1025f1465c12c + category: main + optional: false + - name: daff + version: 1.3.46 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/daff-1.3.46-pyhd8ed1ab_1.conda + hash: + md5: 236edcf54ca8ecc40c603cab27217afa + sha256: 803a08b182396492da45c7f9bb810800d9fde230bea0ddceb2e1025f1465c12c + category: main + optional: false + - name: daff + version: 1.3.46 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/daff-1.3.46-pyhd8ed1ab_1.conda + hash: + md5: 236edcf54ca8ecc40c603cab27217afa + sha256: 803a08b182396492da45c7f9bb810800d9fde230bea0ddceb2e1025f1465c12c + category: main + optional: false - name: dagster version: 1.9.9 manager: conda @@ -4240,6 +4447,72 @@ package: sha256: a72fcc55662a1cae101895e5e87a0af66adbb6d7dcf47921ea19bb10a7c7954b category: main optional: false + - name: dagster-dbt + version: 0.25.9 + manager: conda + platform: linux-64 + dependencies: + dagster: 1.9.9 + dbt-core: ">=1.7,<1.10" + python: "" + jinja2: "" + networkx: "" + orjson: "" + packaging: "" + requests: "" + rich: "" + sqlglot-rs: "" + typer: ">=0.9.0" + url: https://conda.anaconda.org/conda-forge/noarch/dagster-dbt-0.25.9-pyh29332c3_0.conda + hash: + md5: 1029010f619b6733cae5c7f63d774b82 + sha256: 2afd845e1f64a66957c3892ed0f726a47039e3f315d93ebc55aef60620b84afb + category: main + optional: false + - name: dagster-dbt + version: 0.25.9 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9,<3.13" + requests: "" + packaging: "" + jinja2: "" + networkx: "" + rich: "" + orjson: "" + sqlglot-rs: "" + typer: ">=0.9.0" + dagster: 1.9.9 + dbt-core: ">=1.7,<1.10" + url: https://conda.anaconda.org/conda-forge/noarch/dagster-dbt-0.25.9-pyh29332c3_0.conda + hash: + md5: 1029010f619b6733cae5c7f63d774b82 + sha256: 2afd845e1f64a66957c3892ed0f726a47039e3f315d93ebc55aef60620b84afb + category: main + optional: false + - name: dagster-dbt + version: 0.25.9 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9,<3.13" + requests: "" + packaging: "" + jinja2: "" + networkx: "" + rich: "" + orjson: "" + sqlglot-rs: "" + typer: ">=0.9.0" + dagster: 1.9.9 + dbt-core: ">=1.7,<1.10" + url: https://conda.anaconda.org/conda-forge/noarch/dagster-dbt-0.25.9-pyh29332c3_0.conda + hash: + md5: 1029010f619b6733cae5c7f63d774b82 + sha256: 2afd845e1f64a66957c3892ed0f726a47039e3f315d93ebc55aef60620b84afb + category: main + optional: false - name: dagster-graphql version: 1.9.9 manager: conda @@ -4697,6 +4970,388 @@ package: sha256: 93e077b880a85baec8227e8c72199220c7f87849ad32d02c14fb3807368260b8 category: main optional: false + - name: dbt-adapters + version: 1.13.1 + manager: conda + platform: linux-64 + dependencies: + agate: ">=1.0,<2.0" + dbt-common: ">=1.13,<2.0" + mashumaro: ">=3.9,<3.15" + msgpack-python: ">=0.5.6" + protobuf: ">=5.0,<6.0" + python: ">=3.9" + pytz: ">=2015.7" + typing_extensions: ">=4.0,<5.0" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-adapters-1.13.1-pyhd8ed1ab_0.conda + hash: + md5: f2c5ebac39a393e76e9f0b13f29cf9fd + sha256: edfdac0add5dde47731b8d18168440d1930744cbeece343c228e6a02524f5007 + category: main + optional: false + - name: dbt-adapters + version: 1.13.1 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + msgpack-python: ">=0.5.6" + pytz: ">=2015.7" + agate: ">=1.0,<2.0" + protobuf: ">=5.0,<6.0" + typing_extensions: ">=4.0,<5.0" + dbt-common: ">=1.13,<2.0" + mashumaro: ">=3.9,<3.15" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-adapters-1.13.1-pyhd8ed1ab_0.conda + hash: + md5: f2c5ebac39a393e76e9f0b13f29cf9fd + sha256: edfdac0add5dde47731b8d18168440d1930744cbeece343c228e6a02524f5007 + category: main + optional: false + - name: dbt-adapters + version: 1.13.1 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + msgpack-python: ">=0.5.6" + pytz: ">=2015.7" + agate: ">=1.0,<2.0" + protobuf: ">=5.0,<6.0" + typing_extensions: ">=4.0,<5.0" + dbt-common: ">=1.13,<2.0" + mashumaro: ">=3.9,<3.15" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-adapters-1.13.1-pyhd8ed1ab_0.conda + hash: + md5: f2c5ebac39a393e76e9f0b13f29cf9fd + sha256: edfdac0add5dde47731b8d18168440d1930744cbeece343c228e6a02524f5007 + category: main + optional: false + - name: dbt-common + version: 1.14.0 + manager: conda + platform: linux-64 + dependencies: + agate: ">=1.7.0,<1.10" + colorama: ">=0.3.9,<0.5" + deepdiff: ">=7.0,<8.0" + isodate: ">=0.6,<0.7" + jinja2: ">=3.1.3,<4" + jsonschema: ">=4.0,<5.0" + mashumaro: ">=3.9,<4.0" + pathspec: ">=0.9,<0.13" + protobuf: ">=5.0,<6.0" + python: ">=3.9" + python-dateutil: ">=2.0,<3.0" + requests: <3.0.0 + typing_extensions: ">=4.4,<5.0" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-common-1.14.0-pyhd8ed1ab_0.conda + hash: + md5: c3494a8bcf1de525c5d729ef4f1c556f + sha256: 27df5eaea2c368a3113a0aae5c821d7363eda8d06f2fbd7740746838ef3b2084 + category: main + optional: false + - name: dbt-common + version: 1.14.0 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + requests: <3.0.0 + isodate: ">=0.6,<0.7" + jinja2: ">=3.1.3,<4" + pathspec: ">=0.9,<0.13" + colorama: ">=0.3.9,<0.5" + agate: ">=1.7.0,<1.10" + mashumaro: ">=3.9,<4.0" + python-dateutil: ">=2.0,<3.0" + jsonschema: ">=4.0,<5.0" + deepdiff: ">=7.0,<8.0" + protobuf: ">=5.0,<6.0" + typing_extensions: ">=4.4,<5.0" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-common-1.14.0-pyhd8ed1ab_0.conda + hash: + md5: c3494a8bcf1de525c5d729ef4f1c556f + sha256: 27df5eaea2c368a3113a0aae5c821d7363eda8d06f2fbd7740746838ef3b2084 + category: main + optional: false + - name: dbt-common + version: 1.14.0 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + requests: <3.0.0 + isodate: ">=0.6,<0.7" + jinja2: ">=3.1.3,<4" + pathspec: ">=0.9,<0.13" + colorama: ">=0.3.9,<0.5" + agate: ">=1.7.0,<1.10" + mashumaro: ">=3.9,<4.0" + python-dateutil: ">=2.0,<3.0" + jsonschema: ">=4.0,<5.0" + deepdiff: ">=7.0,<8.0" + protobuf: ">=5.0,<6.0" + typing_extensions: ">=4.4,<5.0" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-common-1.14.0-pyhd8ed1ab_0.conda + hash: + md5: c3494a8bcf1de525c5d729ef4f1c556f + sha256: 27df5eaea2c368a3113a0aae5c821d7363eda8d06f2fbd7740746838ef3b2084 + category: main + optional: false + - name: dbt-core + version: 1.9.1 + manager: conda + platform: linux-64 + dependencies: + agate: ">=1.7.0,<1.10" + click: ">=8.0.2,<9.0" + daff: ">=1.3.46" + dbt-adapters: ">=1.10.1,<2.0" + dbt-common: ">=1.13.0,<2.0" + dbt-extractor: ">=0.5.0,<=0.6" + dbt-semantic-interfaces: ">=0.7.4,<0.8" + jinja2: ">=3.1.3,<4" + mashumaro: ">=3.9,<3.15" + msgpack-python: ">=0.5.6" + networkx: ">=2.3,<4.0" + packaging: ">20.9" + pathspec: ">=0.9,<0.13" + protobuf: ">=5.0,<6.0" + python: ">=3.9" + pytz: ">=2015.7" + pyyaml: ">=6.0" + requests: <3.0.0 + snowplow-tracker: ">=1.0.2,<2.0" + sqlparse: ">=0.5.0,<0.6.0" + typing_extensions: ">=4.4" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-core-1.9.1-pyhd8ed1ab_0.conda + hash: + md5: a65d7070bfa8ed9592a06e9488285c1b + sha256: 5dca7b6f6cb64691efa1d7fe8924809f3ceefdd6764f6cecdd760c18238eb347 + category: main + optional: false + - name: dbt-core + version: 1.9.1 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + pyyaml: ">=6.0" + msgpack-python: ">=0.5.6" + pytz: ">=2015.7" + requests: <3.0.0 + jinja2: ">=3.1.3,<4" + pathspec: ">=0.9,<0.13" + packaging: ">20.9" + agate: ">=1.7.0,<1.10" + sqlparse: ">=0.5.0,<0.6.0" + click: ">=8.0.2,<9.0" + daff: ">=1.3.46" + dbt-extractor: ">=0.5.0,<=0.6" + networkx: ">=2.3,<4.0" + protobuf: ">=5.0,<6.0" + typing_extensions: ">=4.4" + mashumaro: ">=3.9,<3.15" + dbt-adapters: ">=1.10.1,<2.0" + dbt-common: ">=1.13.0,<2.0" + dbt-semantic-interfaces: ">=0.7.4,<0.8" + snowplow-tracker: ">=1.0.2,<2.0" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-core-1.9.1-pyhd8ed1ab_0.conda + hash: + md5: a65d7070bfa8ed9592a06e9488285c1b + sha256: 5dca7b6f6cb64691efa1d7fe8924809f3ceefdd6764f6cecdd760c18238eb347 + category: main + optional: false + - name: dbt-core + version: 1.9.1 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + pyyaml: ">=6.0" + msgpack-python: ">=0.5.6" + pytz: ">=2015.7" + requests: <3.0.0 + jinja2: ">=3.1.3,<4" + pathspec: ">=0.9,<0.13" + packaging: ">20.9" + agate: ">=1.7.0,<1.10" + sqlparse: ">=0.5.0,<0.6.0" + click: ">=8.0.2,<9.0" + daff: ">=1.3.46" + dbt-extractor: ">=0.5.0,<=0.6" + networkx: ">=2.3,<4.0" + protobuf: ">=5.0,<6.0" + typing_extensions: ">=4.4" + mashumaro: ">=3.9,<3.15" + dbt-adapters: ">=1.10.1,<2.0" + dbt-common: ">=1.13.0,<2.0" + dbt-semantic-interfaces: ">=0.7.4,<0.8" + snowplow-tracker: ">=1.0.2,<2.0" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-core-1.9.1-pyhd8ed1ab_0.conda + hash: + md5: a65d7070bfa8ed9592a06e9488285c1b + sha256: 5dca7b6f6cb64691efa1d7fe8924809f3ceefdd6764f6cecdd760c18238eb347 + category: main + optional: false + - name: dbt-duckdb + version: 1.9.0 + manager: conda + platform: linux-64 + dependencies: + dbt-adapters: ">=1,<2" + dbt-common: ">=1,<2" + dbt-core: ">=1.8.0" + python: ">=3.8" + python-duckdb: ">=0.9.0" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-duckdb-1.9.0-pyhd8ed1ab_0.conda + hash: + md5: 1f28bb077b435f5c244d0a3155475954 + sha256: f9bd5eea585479121d77f3f41ad7c4ff01a1caebf6b507812db363bb22011aef + category: main + optional: false + - name: dbt-duckdb + version: 1.9.0 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.8" + dbt-core: ">=1.8.0" + python-duckdb: ">=0.9.0" + dbt-adapters: ">=1,<2" + dbt-common: ">=1,<2" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-duckdb-1.9.0-pyhd8ed1ab_0.conda + hash: + md5: 1f28bb077b435f5c244d0a3155475954 + sha256: f9bd5eea585479121d77f3f41ad7c4ff01a1caebf6b507812db363bb22011aef + category: main + optional: false + - name: dbt-duckdb + version: 1.9.0 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.8" + dbt-core: ">=1.8.0" + python-duckdb: ">=0.9.0" + dbt-adapters: ">=1,<2" + dbt-common: ">=1,<2" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-duckdb-1.9.0-pyhd8ed1ab_0.conda + hash: + md5: 1f28bb077b435f5c244d0a3155475954 + sha256: f9bd5eea585479121d77f3f41ad7c4ff01a1caebf6b507812db363bb22011aef + category: main + optional: false + - name: dbt-extractor + version: 0.5.1 + manager: conda + platform: linux-64 + dependencies: + __glibc: ">=2.17,<3.0.a0" + libgcc: ">=13" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/linux-64/dbt-extractor-0.5.1-py312h12e396e_2.conda + hash: + md5: 980fe075bf0e0d58de368e3aca8d9e39 + sha256: a909dc4e508d910a384fc0a0385c82b6677ccde213642190b37a4de760de46eb + category: main + optional: false + - name: dbt-extractor + version: 0.5.1 + manager: conda + platform: osx-64 + dependencies: + __osx: ">=10.13" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/osx-64/dbt-extractor-0.5.1-py312h669792a_2.conda + hash: + md5: d3a52d8c0246635304a9461694b638f4 + sha256: 0d3efe6c2531bc3a6c7790655de550590fe61f1d333de84e7531c3efb9b6dc7f + category: main + optional: false + - name: dbt-extractor + version: 0.5.1 + manager: conda + platform: osx-arm64 + dependencies: + __osx: ">=11.0" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/osx-arm64/dbt-extractor-0.5.1-py312he431725_2.conda + hash: + md5: ebf0fc553c36415fd0b607ad1290f75c + sha256: 9bd255fd208a89eb1bc11b0751d9080579441f120dc025748e3be114820b7d39 + category: main + optional: false + - name: dbt-semantic-interfaces + version: 0.7.4 + manager: conda + platform: linux-64 + dependencies: + click: ">=7.0,<9.0" + importlib-metadata: <7,>=6.0 + jinja2: ">=3.1.3,<4" + jsonschema: ">=4.0,<5" + more-itertools: ">=8.0,<11.0" + pydantic: ">=1.10,<3" + python: ">=3.8" + python-dateutil: ">=2.0,<3" + pyyaml: ">=6.0,<7" + typing-extensions: ">=4.4,<5" + typing_extensions: ">=4.4,<5" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-semantic-interfaces-0.7.4-pyhf696b4e_0.conda + hash: + md5: 9727e54ab528851ebcd98958b9076643 + sha256: 931c1e6bcdb1762109648629204de6d253d0d33a09e323088a362b92e60b987b + category: main + optional: false + - name: dbt-semantic-interfaces + version: 0.7.4 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.8" + click: ">=7.0,<9.0" + pydantic: ">=1.10,<3" + jinja2: ">=3.1.3,<4" + pyyaml: ">=6.0,<7" + more-itertools: ">=8.0,<11.0" + importlib-metadata: <7,>=6.0 + jsonschema: ">=4.0,<5" + python-dateutil: ">=2.0,<3" + typing-extensions: ">=4.4,<5" + typing_extensions: ">=4.4,<5" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-semantic-interfaces-0.7.4-pyhf696b4e_0.conda + hash: + md5: 9727e54ab528851ebcd98958b9076643 + sha256: 931c1e6bcdb1762109648629204de6d253d0d33a09e323088a362b92e60b987b + category: main + optional: false + - name: dbt-semantic-interfaces + version: 0.7.4 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.8" + click: ">=7.0,<9.0" + pydantic: ">=1.10,<3" + jinja2: ">=3.1.3,<4" + pyyaml: ">=6.0,<7" + more-itertools: ">=8.0,<11.0" + importlib-metadata: <7,>=6.0 + jsonschema: ">=4.0,<5" + python-dateutil: ">=2.0,<3" + typing-extensions: ">=4.4,<5" + typing_extensions: ">=4.4,<5" + url: https://conda.anaconda.org/conda-forge/noarch/dbt-semantic-interfaces-0.7.4-pyhf696b4e_0.conda + hash: + md5: 9727e54ab528851ebcd98958b9076643 + sha256: 931c1e6bcdb1762109648629204de6d253d0d33a09e323088a362b92e60b987b + category: main + optional: false - name: dbus version: 1.13.6 manager: conda @@ -4793,6 +5448,48 @@ package: sha256: 84e5120c97502a3785e8c3241c3bf51f64b4d445f13b4d2445db00d9816fe479 category: main optional: false + - name: deepdiff + version: 7.0.1 + manager: conda + platform: linux-64 + dependencies: + ordered-set: ">=4.1.0,<4.2.0" + orjson: "" + python: ">=3.8" + url: https://conda.anaconda.org/conda-forge/noarch/deepdiff-7.0.1-pyhd8ed1ab_0.conda + hash: + md5: 3135304fe21f0244ed79f4094387f80d + sha256: 90b377f43227dae2024b6c4481f18254cd06241d929bec278a55af3d91978cc4 + category: main + optional: false + - name: deepdiff + version: 7.0.1 + manager: conda + platform: osx-64 + dependencies: + orjson: "" + python: ">=3.8" + ordered-set: ">=4.1.0,<4.2.0" + url: https://conda.anaconda.org/conda-forge/noarch/deepdiff-7.0.1-pyhd8ed1ab_0.conda + hash: + md5: 3135304fe21f0244ed79f4094387f80d + sha256: 90b377f43227dae2024b6c4481f18254cd06241d929bec278a55af3d91978cc4 + category: main + optional: false + - name: deepdiff + version: 7.0.1 + manager: conda + platform: osx-arm64 + dependencies: + orjson: "" + python: ">=3.8" + ordered-set: ">=4.1.0,<4.2.0" + url: https://conda.anaconda.org/conda-forge/noarch/deepdiff-7.0.1-pyhd8ed1ab_0.conda + hash: + md5: 3135304fe21f0244ed79f4094387f80d + sha256: 90b377f43227dae2024b6c4481f18254cd06241d929bec278a55af3d91978cc4 + category: main + optional: false - name: defusedxml version: 0.7.1 manager: conda @@ -6320,6 +7017,42 @@ package: sha256: 3d6e42c5c22ea3c3b8d35b6582f544bc5fc08df37c394f5a30d6644b626a7be6 category: main optional: false + - name: future + version: 1.0.0 + manager: conda + platform: linux-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/future-1.0.0-pyhd8ed1ab_1.conda + hash: + md5: e75df25fe5ddec19b2f6ac8dfd33b838 + sha256: 8af9609ae02895c7550965eee8d3f0e3a0dd2882397693bc6f0798f37e4c9333 + category: main + optional: false + - name: future + version: 1.0.0 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/future-1.0.0-pyhd8ed1ab_1.conda + hash: + md5: e75df25fe5ddec19b2f6ac8dfd33b838 + sha256: 8af9609ae02895c7550965eee8d3f0e3a0dd2882397693bc6f0798f37e4c9333 + category: main + optional: false + - name: future + version: 1.0.0 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/future-1.0.0-pyhd8ed1ab_1.conda + hash: + md5: e75df25fe5ddec19b2f6ac8dfd33b838 + sha256: 8af9609ae02895c7550965eee8d3f0e3a0dd2882397693bc6f0798f37e4c9333 + category: main + optional: false - name: gcsfs version: 2024.12.0 manager: conda @@ -8737,42 +9470,42 @@ package: category: main optional: false - name: importlib-metadata - version: 8.5.0 + version: 6.10.0 manager: conda platform: linux-64 dependencies: - python: ">=3.9" + python: ">=3.8" zipp: ">=0.5" - url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_1.conda + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.10.0-pyha770c72_0.conda hash: - md5: 315607a3030ad5d5227e76e0733798ff - sha256: 13766b88fc5b23581530d3a0287c0c58ad82f60401afefab283bf158d2be55a9 + md5: ae2ad334f34040e147cc5824b450463b + sha256: 4b823af311e7f5093fca41ec0142d0e1ec9b3d1ee91924dc63133611bdfcaee5 category: main optional: false - name: importlib-metadata - version: 8.5.0 + version: 6.10.0 manager: conda platform: osx-64 dependencies: - python: ">=3.9" + python: ">=3.8" zipp: ">=0.5" - url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_1.conda + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.10.0-pyha770c72_0.conda hash: - md5: 315607a3030ad5d5227e76e0733798ff - sha256: 13766b88fc5b23581530d3a0287c0c58ad82f60401afefab283bf158d2be55a9 + md5: ae2ad334f34040e147cc5824b450463b + sha256: 4b823af311e7f5093fca41ec0142d0e1ec9b3d1ee91924dc63133611bdfcaee5 category: main optional: false - name: importlib-metadata - version: 8.5.0 + version: 6.10.0 manager: conda platform: osx-arm64 dependencies: - python: ">=3.9" + python: ">=3.8" zipp: ">=0.5" - url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_1.conda + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.10.0-pyha770c72_0.conda hash: - md5: 315607a3030ad5d5227e76e0733798ff - sha256: 13766b88fc5b23581530d3a0287c0c58ad82f60401afefab283bf158d2be55a9 + md5: ae2ad334f34040e147cc5824b450463b + sha256: 4b823af311e7f5093fca41ec0142d0e1ec9b3d1ee91924dc63133611bdfcaee5 category: main optional: false - name: importlib_resources @@ -9051,39 +9784,42 @@ package: category: main optional: false - name: isodate - version: 0.7.2 + version: 0.6.1 manager: conda platform: linux-64 dependencies: - python: ">=3.9" - url: https://conda.anaconda.org/conda-forge/noarch/isodate-0.7.2-pyhd8ed1ab_1.conda + python: ">=3.6" + six: "" + url: https://conda.anaconda.org/conda-forge/noarch/isodate-0.6.1-pyhd8ed1ab_0.tar.bz2 hash: - md5: 14c42a6334f38c412449f5a5e4043a5a - sha256: 845fc87dfaf3f96245ad6ad69c5e5b31b084979f64f9e32157888ee0a08f39ba + md5: 4a62c93c1b5c0b920508ae3fd285eaf5 + sha256: af8f801e093da52a50ca0ea0510dfaf6898fea37e66d08d335e370235dede9fc category: main optional: false - name: isodate - version: 0.7.2 + version: 0.6.1 manager: conda platform: osx-64 dependencies: - python: ">=3.9" - url: https://conda.anaconda.org/conda-forge/noarch/isodate-0.7.2-pyhd8ed1ab_1.conda + six: "" + python: ">=3.6" + url: https://conda.anaconda.org/conda-forge/noarch/isodate-0.6.1-pyhd8ed1ab_0.tar.bz2 hash: - md5: 14c42a6334f38c412449f5a5e4043a5a - sha256: 845fc87dfaf3f96245ad6ad69c5e5b31b084979f64f9e32157888ee0a08f39ba + md5: 4a62c93c1b5c0b920508ae3fd285eaf5 + sha256: af8f801e093da52a50ca0ea0510dfaf6898fea37e66d08d335e370235dede9fc category: main optional: false - name: isodate - version: 0.7.2 + version: 0.6.1 manager: conda platform: osx-arm64 dependencies: - python: ">=3.9" - url: https://conda.anaconda.org/conda-forge/noarch/isodate-0.7.2-pyhd8ed1ab_1.conda + six: "" + python: ">=3.6" + url: https://conda.anaconda.org/conda-forge/noarch/isodate-0.6.1-pyhd8ed1ab_0.tar.bz2 hash: - md5: 14c42a6334f38c412449f5a5e4043a5a - sha256: 845fc87dfaf3f96245ad6ad69c5e5b31b084979f64f9e32157888ee0a08f39ba + md5: 4a62c93c1b5c0b920508ae3fd285eaf5 + sha256: af8f801e093da52a50ca0ea0510dfaf6898fea37e66d08d335e370235dede9fc category: main optional: false - name: isoduration @@ -10785,6 +11521,45 @@ package: sha256: 7c91cea91b13f4314d125d1bedb9d03a29ebbd5080ccdea70260363424646dbe category: main optional: false + - name: leather + version: 0.4.0 + manager: conda + platform: linux-64 + dependencies: + python: ">=3.9" + six: ">=1.6.1" + url: https://conda.anaconda.org/conda-forge/noarch/leather-0.4.0-pyhd8ed1ab_0.conda + hash: + md5: f36daf85d7ca0807f9d7e39cb905b803 + sha256: c5217f46ebda51df99caa40e5908d81338b6e4d3d0d74be27c723bc760a4dfe9 + category: main + optional: false + - name: leather + version: 0.4.0 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + six: ">=1.6.1" + url: https://conda.anaconda.org/conda-forge/noarch/leather-0.4.0-pyhd8ed1ab_0.conda + hash: + md5: f36daf85d7ca0807f9d7e39cb905b803 + sha256: c5217f46ebda51df99caa40e5908d81338b6e4d3d0d74be27c723bc760a4dfe9 + category: main + optional: false + - name: leather + version: 0.4.0 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + six: ">=1.6.1" + url: https://conda.anaconda.org/conda-forge/noarch/leather-0.4.0-pyhd8ed1ab_0.conda + hash: + md5: f36daf85d7ca0807f9d7e39cb905b803 + sha256: c5217f46ebda51df99caa40e5908d81338b6e4d3d0d74be27c723bc760a4dfe9 + category: main + optional: false - name: lerc version: 4.0.0 manager: conda @@ -14251,6 +15026,45 @@ package: sha256: 4aa997b244014d3707eeef54ab0ee497d12c0d0d184018960cce096169758283 category: main optional: false + - name: mashumaro + version: "3.14" + manager: conda + platform: linux-64 + dependencies: + python: ">=3.8" + typing_extensions: ">=4.1.0" + url: https://conda.anaconda.org/conda-forge/noarch/mashumaro-3.14-pyhd8ed1ab_0.conda + hash: + md5: 5693c50446050456fca1e960182ad531 + sha256: 25831c3b7a48fde53726980300101214d6a0384dc894ca21c3f855b248036ca9 + category: main + optional: false + - name: mashumaro + version: "3.14" + manager: conda + platform: osx-64 + dependencies: + python: ">=3.8" + typing_extensions: ">=4.1.0" + url: https://conda.anaconda.org/conda-forge/noarch/mashumaro-3.14-pyhd8ed1ab_0.conda + hash: + md5: 5693c50446050456fca1e960182ad531 + sha256: 25831c3b7a48fde53726980300101214d6a0384dc894ca21c3f855b248036ca9 + category: main + optional: false + - name: mashumaro + version: "3.14" + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.8" + typing_extensions: ">=4.1.0" + url: https://conda.anaconda.org/conda-forge/noarch/mashumaro-3.14-pyhd8ed1ab_0.conda + hash: + md5: 5693c50446050456fca1e960182ad531 + sha256: 25831c3b7a48fde53726980300101214d6a0384dc894ca21c3f855b248036ca9 + category: main + optional: false - name: matplotlib-base version: 3.10.0 manager: conda @@ -16131,8 +16945,87 @@ package: zstd: ">=1.5.6,<1.6.0a0" url: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.0.3-h0ff2369_2.conda hash: - md5: 24b1897c0d24afbb70704ba998793b78 - sha256: cca330695f3bdb8c0e46350c29cd4af3345865544e36f1d7c9ba9190ad22f5f4 + md5: 24b1897c0d24afbb70704ba998793b78 + sha256: cca330695f3bdb8c0e46350c29cd4af3345865544e36f1d7c9ba9190ad22f5f4 + category: main + optional: false + - name: ordered-set + version: 4.1.0 + manager: conda + platform: linux-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/ordered-set-4.1.0-pyhd8ed1ab_1.conda + hash: + md5: a130daf1699f927040956d3378baf0f2 + sha256: 5c0afaab3e9746753b34b676b5c639ae323075427068366f7cae5bd7931df67b + category: main + optional: false + - name: ordered-set + version: 4.1.0 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/ordered-set-4.1.0-pyhd8ed1ab_1.conda + hash: + md5: a130daf1699f927040956d3378baf0f2 + sha256: 5c0afaab3e9746753b34b676b5c639ae323075427068366f7cae5bd7931df67b + category: main + optional: false + - name: ordered-set + version: 4.1.0 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/ordered-set-4.1.0-pyhd8ed1ab_1.conda + hash: + md5: a130daf1699f927040956d3378baf0f2 + sha256: 5c0afaab3e9746753b34b676b5c639ae323075427068366f7cae5bd7931df67b + category: main + optional: false + - name: orjson + version: 3.10.15 + manager: conda + platform: linux-64 + dependencies: + __glibc: ">=2.17,<3.0.a0" + libgcc: ">=13" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/linux-64/orjson-3.10.15-py312h12e396e_0.conda + hash: + md5: 543c7130b6949b6df40e378f9d1db91e + sha256: a28431bfb90c99d577bfcd848e05d819e7efe36c50f0b45ed0545f606eb3ee7d + category: main + optional: false + - name: orjson + version: 3.10.15 + manager: conda + platform: osx-64 + dependencies: + __osx: ">=10.13" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/osx-64/orjson-3.10.15-py312h0d0de52_0.conda + hash: + md5: 22fe1989eec6c4789a17645526cf7962 + sha256: 634fc5e3a1fe3199712fcc3685542a75df59281260a5136384f3a49abe14c951 + category: main + optional: false + - name: orjson + version: 3.10.15 + manager: conda + platform: osx-arm64 + dependencies: + __osx: ">=11.0" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/osx-arm64/orjson-3.10.15-py312hcd83bfe_0.conda + hash: + md5: f64b699ed3eefbd9f05e2f16e74d4e56 + sha256: f2276ecf6d06004629c6eaefb2f43ee6fbaa5900071ceadfda46d4b651fa122d category: main optional: false - name: overrides @@ -16506,6 +17399,42 @@ package: sha256: b5c2c348ec7ae4ac57422d3499fe611c05b63311d396713ba9125820bf305163 category: main optional: false + - name: parsedatetime + version: "2.4" + manager: conda + platform: linux-64 + dependencies: + python: "" + url: https://conda.anaconda.org/conda-forge/noarch/parsedatetime-2.4-py_1.tar.bz2 + hash: + md5: 8df309082467d805d4468d303d9bb530 + sha256: 34f7fc300871d199c6b0d95b412e664e92b08fcffca460f7b9b8828e9322a9d1 + category: main + optional: false + - name: parsedatetime + version: "2.4" + manager: conda + platform: osx-64 + dependencies: + python: "" + url: https://conda.anaconda.org/conda-forge/noarch/parsedatetime-2.4-py_1.tar.bz2 + hash: + md5: 8df309082467d805d4468d303d9bb530 + sha256: 34f7fc300871d199c6b0d95b412e664e92b08fcffca460f7b9b8828e9322a9d1 + category: main + optional: false + - name: parsedatetime + version: "2.4" + manager: conda + platform: osx-arm64 + dependencies: + python: "" + url: https://conda.anaconda.org/conda-forge/noarch/parsedatetime-2.4-py_1.tar.bz2 + hash: + md5: 8df309082467d805d4468d303d9bb530 + sha256: 34f7fc300871d199c6b0d95b412e664e92b08fcffca460f7b9b8828e9322a9d1 + category: main + optional: false - name: parso version: 0.8.4 manager: conda @@ -16620,6 +17549,42 @@ package: sha256: 9153f0f38c76a09da7688a61fdbf8f3d7504e2326bef53e4ec20d994311b15bd category: main optional: false + - name: pathspec + version: 0.12.1 + manager: conda + platform: linux-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + hash: + md5: 617f15191456cc6a13db418a275435e5 + sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee + category: main + optional: false + - name: pathspec + version: 0.12.1 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + hash: + md5: 617f15191456cc6a13db418a275435e5 + sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee + category: main + optional: false + - name: pathspec + version: 0.12.1 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + hash: + md5: 617f15191456cc6a13db418a275435e5 + sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee + category: main + optional: false - name: pbr version: 6.1.0 manager: conda @@ -18341,6 +19306,55 @@ package: sha256: 49496bce9ff96adfad0395f84f8f03ccc9906c8e811b126af93549d44493b454 category: dev optional: true + - name: pyicu + version: "2.14" + manager: conda + platform: linux-64 + dependencies: + __glibc: ">=2.17,<3.0.a0" + icu: ">=75.1,<76.0a0" + libgcc: ">=13" + libstdcxx: ">=13" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/linux-64/pyicu-2.14-py312hdab4cef_0.conda + hash: + md5: ffbae45418ed61a80bbbfb0f140ee386 + sha256: 17e64626f2a0df425e01c7698f07f15432fb64eb6e5f8ffc47e0604e10f09863 + category: main + optional: false + - name: pyicu + version: "2.14" + manager: conda + platform: osx-64 + dependencies: + __osx: ">=10.13" + icu: ">=75.1,<76.0a0" + libcxx: ">=17" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/osx-64/pyicu-2.14-py312h19e56fc_0.conda + hash: + md5: f5e31abad3ab6fd51bdd9a736768b0cf + sha256: 14ba2817811d90365e656ff5c09e0005101533ded7a67de04a9555cf42674b11 + category: main + optional: false + - name: pyicu + version: "2.14" + manager: conda + platform: osx-arm64 + dependencies: + __osx: ">=11.0" + icu: ">=75.1,<76.0a0" + libcxx: ">=17" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyicu-2.14-py312h5f599d0_0.conda + hash: + md5: 4be39df2d35353b036cda4c24b7ee73a + sha256: cb9f5b6875b0f9e97b9492326442370f3242059bcd2f54e3338c1d5d6c59d3db + category: main + optional: false - name: pyjwt version: 2.10.1 manager: conda @@ -19522,6 +20536,42 @@ package: sha256: 49d624e4b809c799d2bf257b22c23cf3fc4460f5570d9a58e7ad86350aeaa1f4 category: main optional: false + - name: pytimeparse + version: 1.1.8 + manager: conda + platform: linux-64 + dependencies: + python: "" + url: https://conda.anaconda.org/conda-forge/noarch/pytimeparse-1.1.8-py_0.tar.bz2 + hash: + md5: edde7e7260599f9860002187486b3e01 + sha256: 313cbde8ded706790d4fb8ea114ba1d706ff5be0780f63c01de81f569e593a03 + category: main + optional: false + - name: pytimeparse + version: 1.1.8 + manager: conda + platform: osx-64 + dependencies: + python: "" + url: https://conda.anaconda.org/conda-forge/noarch/pytimeparse-1.1.8-py_0.tar.bz2 + hash: + md5: edde7e7260599f9860002187486b3e01 + sha256: 313cbde8ded706790d4fb8ea114ba1d706ff5be0780f63c01de81f569e593a03 + category: main + optional: false + - name: pytimeparse + version: 1.1.8 + manager: conda + platform: osx-arm64 + dependencies: + python: "" + url: https://conda.anaconda.org/conda-forge/noarch/pytimeparse-1.1.8-py_0.tar.bz2 + hash: + md5: edde7e7260599f9860002187486b3e01 + sha256: 313cbde8ded706790d4fb8ea114ba1d706ff5be0780f63c01de81f569e593a03 + category: main + optional: false - name: pytz version: "2024.1" manager: conda @@ -20713,6 +21763,51 @@ package: sha256: cfdd98c8f9a1e5b6f9abce5dac6d590cc9fe541a08466c9e4a26f90e00b569e3 category: main optional: false + - name: s3fs + version: 2024.12.0 + manager: conda + platform: linux-64 + dependencies: + aiobotocore: ">=2.5.4,<3.0.0" + aiohttp: "" + fsspec: 2024.12.0 + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/s3fs-2024.12.0-pyhd8ed1ab_0.conda + hash: + md5: d91e140ebbb494372695d7b5ac829c09 + sha256: e231ad3a9172af66c3ff984e7dd06e9fde4c898f2930f2c8043e5d7b641485a2 + category: main + optional: false + - name: s3fs + version: 2024.12.0 + manager: conda + platform: osx-64 + dependencies: + aiohttp: "" + python: ">=3.9" + aiobotocore: ">=2.5.4,<3.0.0" + fsspec: 2024.12.0 + url: https://conda.anaconda.org/conda-forge/noarch/s3fs-2024.12.0-pyhd8ed1ab_0.conda + hash: + md5: d91e140ebbb494372695d7b5ac829c09 + sha256: e231ad3a9172af66c3ff984e7dd06e9fde4c898f2930f2c8043e5d7b641485a2 + category: main + optional: false + - name: s3fs + version: 2024.12.0 + manager: conda + platform: osx-arm64 + dependencies: + aiohttp: "" + python: ">=3.9" + aiobotocore: ">=2.5.4,<3.0.0" + fsspec: 2024.12.0 + url: https://conda.anaconda.org/conda-forge/noarch/s3fs-2024.12.0-pyhd8ed1ab_0.conda + hash: + md5: d91e140ebbb494372695d7b5ac829c09 + sha256: e231ad3a9172af66c3ff984e7dd06e9fde4c898f2930f2c8043e5d7b641485a2 + category: main + optional: false - name: s3transfer version: 0.11.1 manager: conda @@ -21275,6 +22370,51 @@ package: sha256: a0fd916633252d99efb6223b1050202841fa8d2d53dacca564b0ed77249d3228 category: main optional: false + - name: snowplow-tracker + version: 1.0.4 + manager: conda + platform: linux-64 + dependencies: + python: ">=3.9" + requests: ">=2.25.1,<3.0" + types-requests: ">=2.25.1,<3.0" + typing_extensions: ">=3.7.4" + url: https://conda.anaconda.org/conda-forge/noarch/snowplow-tracker-1.0.4-pyhd8ed1ab_0.conda + hash: + md5: ebbffaea874df8107f1fd5f6d9061eef + sha256: 15ab475a40b4201406dde3c021e87a448050c052b3ed455b24025d85df8a1a21 + category: main + optional: false + - name: snowplow-tracker + version: 1.0.4 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + typing_extensions: ">=3.7.4" + requests: ">=2.25.1,<3.0" + types-requests: ">=2.25.1,<3.0" + url: https://conda.anaconda.org/conda-forge/noarch/snowplow-tracker-1.0.4-pyhd8ed1ab_0.conda + hash: + md5: ebbffaea874df8107f1fd5f6d9061eef + sha256: 15ab475a40b4201406dde3c021e87a448050c052b3ed455b24025d85df8a1a21 + category: main + optional: false + - name: snowplow-tracker + version: 1.0.4 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + typing_extensions: ">=3.7.4" + requests: ">=2.25.1,<3.0" + types-requests: ">=2.25.1,<3.0" + url: https://conda.anaconda.org/conda-forge/noarch/snowplow-tracker-1.0.4-pyhd8ed1ab_0.conda + hash: + md5: ebbffaea874df8107f1fd5f6d9061eef + sha256: 15ab475a40b4201406dde3c021e87a448050c052b3ed455b24025d85df8a1a21 + category: main + optional: false - name: sortedcontainers version: 2.4.0 manager: conda @@ -22062,6 +23202,88 @@ package: sha256: 0e00ea67f2fd452700e19baa413afeab5632f214bb8b1c2b3a3f301a1baedaef category: main optional: false + - name: sqlglot-rs + version: 26.0.1 + manager: conda + platform: linux-64 + dependencies: + sqlglot: 26.0.1 + sqlglotrs: "" + url: https://conda.anaconda.org/conda-forge/noarch/sqlglot-rs-26.0.1-hd8ed1ab_0.conda + hash: + md5: ac4314a389d920ec4164bcbe71447353 + sha256: 01dcc73f66fa4541fcddd6a93edfe9e256435ad5980f05041917c42adc5f499a + category: main + optional: false + - name: sqlglot-rs + version: 26.0.1 + manager: conda + platform: osx-64 + dependencies: + sqlglotrs: "" + sqlglot: 26.0.1 + url: https://conda.anaconda.org/conda-forge/noarch/sqlglot-rs-26.0.1-hd8ed1ab_0.conda + hash: + md5: ac4314a389d920ec4164bcbe71447353 + sha256: 01dcc73f66fa4541fcddd6a93edfe9e256435ad5980f05041917c42adc5f499a + category: main + optional: false + - name: sqlglot-rs + version: 26.0.1 + manager: conda + platform: osx-arm64 + dependencies: + sqlglotrs: "" + sqlglot: 26.0.1 + url: https://conda.anaconda.org/conda-forge/noarch/sqlglot-rs-26.0.1-hd8ed1ab_0.conda + hash: + md5: ac4314a389d920ec4164bcbe71447353 + sha256: 01dcc73f66fa4541fcddd6a93edfe9e256435ad5980f05041917c42adc5f499a + category: main + optional: false + - name: sqlglotrs + version: 0.3.0 + manager: conda + platform: linux-64 + dependencies: + __glibc: ">=2.17,<3.0.a0" + libgcc: ">=13" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/linux-64/sqlglotrs-0.3.0-py312h12e396e_0.conda + hash: + md5: 886801a632b3ffadb19c11ede4816613 + sha256: 304b07254281f060a8375e68a120078f771773fccbed34fa04df7d8b79b94bb9 + category: main + optional: false + - name: sqlglotrs + version: 0.3.0 + manager: conda + platform: osx-64 + dependencies: + __osx: ">=10.13" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/osx-64/sqlglotrs-0.3.0-py312h0d0de52_0.conda + hash: + md5: 420d2287c6ff16b09967474974361b72 + sha256: 46908359382e939d8699073ee23cb3be76cb83b84771619040b13d6677af230a + category: main + optional: false + - name: sqlglotrs + version: 0.3.0 + manager: conda + platform: osx-arm64 + dependencies: + __osx: ">=11.0" + python: ">=3.12,<3.13.0a0" + python_abi: 3.12.* + url: https://conda.anaconda.org/conda-forge/osx-arm64/sqlglotrs-0.3.0-py312hcd83bfe_0.conda + hash: + md5: b12edf04dd9b282003288c06ca3fdd96 + sha256: 490a43b52d16bfc6186ab994d489c45198561cfcce2f58320f42f5212bbb71aa + category: main + optional: false - name: sqlite version: 3.48.0 manager: conda @@ -23276,6 +24498,81 @@ package: sha256: 523022421f5b4a6695ab65f0cf038ea27a5705d83d06abeb9bd910a02fdbf0c6 category: main optional: false + - name: types-requests + version: 2.31.0.6 + manager: conda + platform: linux-64 + dependencies: + python: ">=3.6" + types-urllib3: <1.27 + url: https://conda.anaconda.org/conda-forge/noarch/types-requests-2.31.0.6-pyhd8ed1ab_0.conda + hash: + md5: 69d8b100b4a9e557e33c06b0d3ba4772 + sha256: 2ec1bfb9ffbcdd880f60139d46df88e60cd8d0a404f4e0e498500671b34c1d5b + category: main + optional: false + - name: types-requests + version: 2.31.0.6 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.6" + types-urllib3: <1.27 + url: https://conda.anaconda.org/conda-forge/noarch/types-requests-2.31.0.6-pyhd8ed1ab_0.conda + hash: + md5: 69d8b100b4a9e557e33c06b0d3ba4772 + sha256: 2ec1bfb9ffbcdd880f60139d46df88e60cd8d0a404f4e0e498500671b34c1d5b + category: main + optional: false + - name: types-requests + version: 2.31.0.6 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.6" + types-urllib3: <1.27 + url: https://conda.anaconda.org/conda-forge/noarch/types-requests-2.31.0.6-pyhd8ed1ab_0.conda + hash: + md5: 69d8b100b4a9e557e33c06b0d3ba4772 + sha256: 2ec1bfb9ffbcdd880f60139d46df88e60cd8d0a404f4e0e498500671b34c1d5b + category: main + optional: false + - name: types-urllib3 + version: 1.26.25.14 + manager: conda + platform: linux-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/types-urllib3-1.26.25.14-pyhd8ed1ab_1.conda + hash: + md5: 71064752383d8b42a1e1208064fe5960 + sha256: e6378ff2de225a0f0f9b1bc884c3f05193a28d6ab13ca5ea20ce6a2fa5e0cff9 + category: main + optional: false + - name: types-urllib3 + version: 1.26.25.14 + manager: conda + platform: osx-64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/types-urllib3-1.26.25.14-pyhd8ed1ab_1.conda + hash: + md5: 71064752383d8b42a1e1208064fe5960 + sha256: e6378ff2de225a0f0f9b1bc884c3f05193a28d6ab13ca5ea20ce6a2fa5e0cff9 + category: main + optional: false + - name: types-urllib3 + version: 1.26.25.14 + manager: conda + platform: osx-arm64 + dependencies: + python: ">=3.9" + url: https://conda.anaconda.org/conda-forge/noarch/types-urllib3-1.26.25.14-pyhd8ed1ab_1.conda + hash: + md5: 71064752383d8b42a1e1208064fe5960 + sha256: e6378ff2de225a0f0f9b1bc884c3f05193a28d6ab13ca5ea20ce6a2fa5e0cff9 + category: main + optional: false - name: typing-extensions version: 4.12.2 manager: conda diff --git a/environments/conda-osx-64.lock.yml b/environments/conda-osx-64.lock.yml index 09b0eeb79..573ca03c9 100644 --- a/environments/conda-osx-64.lock.yml +++ b/environments/conda-osx-64.lock.yml @@ -1,17 +1,20 @@ # Generated by conda-lock. # platform: osx-64 -# input_hash: bed0db5d7382563120fa2dcaf2e6ff28bc05cb2375decf695693321f67f8529e +# input_hash: c3cf71d1cced706784cbe75e151787e89b1c331cb82dd65ebdbd542636e98901 channels: - conda-forge dependencies: - addfips=0.4.2=pyhd8ed1ab_1 + - agate=1.9.1=pyh707e725_1 + - aiobotocore=2.18.0=pyhd8ed1ab_0 - aiofiles=24.1.0=pyhd8ed1ab_1 - aiohappyeyeballs=2.4.4=pyhd8ed1ab_1 - aiohttp=3.11.11=py312h3520af0_0 + - aioitertools=0.12.0=pyhd8ed1ab_1 - aiosignal=1.3.2=pyhd8ed1ab_0 - alabaster=1.0.0=pyhd8ed1ab_1 - - alembic=1.14.1=pyhd8ed1ab_0 + - alembic=1.14.0=pyhd8ed1ab_1 - altair=5.5.0=pyhd8ed1ab_1 - annotated-types=0.7.0=pyhd8ed1ab_1 - antlr-python-runtime=4.13.2=pyhd8ed1ab_1 @@ -58,8 +61,8 @@ dependencies: - bleach-with-css=6.2.0=hd8ed1ab_3 - blinker=1.9.0=pyhff2d567_0 - blosc=1.21.6=hd145fbb_1 - - boto3=1.36.2=pyhd8ed1ab_0 - - botocore=1.36.2=pyge310_1234567_0 + - boto3=1.36.1=pyhd8ed1ab_0 + - botocore=1.36.1=pyge310_1234567_0 - bottleneck=1.4.2=py312h59f7578_0 - branca=0.8.1=pyhd8ed1ab_0 - brotli=1.1.0=h00291cd_2 @@ -98,7 +101,9 @@ dependencies: - curl=8.11.1=h5dec5d8_0 - cycler=0.12.1=pyhd8ed1ab_1 - cyrus-sasl=2.1.27=hf9bab2b_7 + - daff=1.3.46=pyhd8ed1ab_1 - dagster=1.9.9=pyh56b92e0_12 + - dagster-dbt=0.25.9=pyh29332c3_0 - dagster-graphql=1.9.9=pyh56b92e0_0 - dagster-pipes=1.9.9=pyh56b92e0_0 - dagster-postgres=0.25.9=pyh29332c3_0 @@ -108,8 +113,15 @@ dependencies: - databricks-sdk=0.40.0=pyhd8ed1ab_0 - datasette=0.65.1=pyhd8ed1ab_0 - dav1d=1.2.1=h0dc2134_0 + - dbt-adapters=1.13.1=pyhd8ed1ab_0 + - dbt-common=1.14.0=pyhd8ed1ab_0 + - dbt-core=1.9.1=pyhd8ed1ab_0 + - dbt-duckdb=1.9.0=pyhd8ed1ab_0 + - dbt-extractor=0.5.1=py312h669792a_2 + - dbt-semantic-interfaces=0.7.4=pyhf696b4e_0 - debugpy=1.8.12=py312haafddd8_0 - decorator=5.1.1=pyhd8ed1ab_1 + - deepdiff=7.0.1=pyhd8ed1ab_0 - defusedxml=0.7.1=pyhd8ed1ab_0 - deprecated=1.2.15=pyhd8ed1ab_1 - distlib=0.3.9=pyhd8ed1ab_1 @@ -146,6 +158,7 @@ dependencies: - frozenlist=1.5.0=py312h3d0f464_0 - fsspec=2024.12.0=pyhd8ed1ab_0 - furo=2024.8.6=pyhd8ed1ab_2 + - future=1.0.0=pyhd8ed1ab_1 - gcsfs=2024.12.0=pyhd8ed1ab_0 - gdal=3.10.1=py312hd828770_1 - gdk-pixbuf=2.42.12=ha587570_0 @@ -199,13 +212,13 @@ dependencies: - identify=2.6.5=pyhd8ed1ab_0 - idna=3.10=pyhd8ed1ab_1 - imagesize=1.4.1=pyhd8ed1ab_0 - - importlib-metadata=8.5.0=pyha770c72_1 + - importlib-metadata=6.10.0=pyha770c72_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.0.0=pyhd8ed1ab_1 - ipykernel=6.29.5=pyh57ce528_0 - ipython=8.31.0=pyh707e725_0 - ipywidgets=8.1.5=pyhd8ed1ab_1 - - isodate=0.7.2=pyhd8ed1ab_1 + - isodate=0.6.1=pyhd8ed1ab_0 - isoduration=20.11.0=pyhd8ed1ab_1 - itsdangerous=2.2.0=pyhd8ed1ab_1 - janus=2.0.0=pyhd8ed1ab_0 @@ -242,6 +255,7 @@ dependencies: - krb5=1.21.3=h37d8d59_0 - latexcodec=2.0.1=pyh9f0ad1d_0 - lcms2=2.16=ha2f27b4_0 + - leather=0.4.0=pyhd8ed1ab_0 - lerc=4.0.0=hb486fe8_0 - libabseil=20240722.0=cxx17_h0e468a2_4 - libarchive=3.7.7=h1a33361_3 @@ -317,6 +331,7 @@ dependencies: - markdown-it-py=3.0.0=pyhd8ed1ab_1 - marko=2.1.2=pyhd8ed1ab_1 - markupsafe=3.0.2=py312h3520af0_1 + - mashumaro=3.14=pyhd8ed1ab_0 - matplotlib-base=3.10.0=py312h535dea3_0 - matplotlib-inline=0.1.7=pyhd8ed1ab_1 - mdurl=0.1.2=pyhd8ed1ab_1 @@ -356,6 +371,8 @@ dependencies: - opentelemetry-sdk=1.29.0=pyhd8ed1ab_0 - opentelemetry-semantic-conventions=0.50b0=pyh3cfb1c2_0 - orc=2.0.3=h85ea3fe_2 + - ordered-set=4.1.0=pyhd8ed1ab_1 + - orjson=3.10.15=py312h0d0de52_0 - overrides=7.7.0=pyhd8ed1ab_1 - packaging=24.2=pyhd8ed1ab_2 - pandas=2.2.3=py312h98e817e_1 @@ -364,9 +381,11 @@ dependencies: - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.0=hf94f63b_0 - paramiko=3.5.0=pyhd8ed1ab_1 + - parsedatetime=2.4=py_1 - parso=0.8.4=pyhd8ed1ab_1 - partd=1.4.2=pyhd8ed1ab_0 - pastel=0.2.1=pyhd8ed1ab_0 + - pathspec=0.12.1=pyhd8ed1ab_1 - pbr=6.1.0=pyhd8ed1ab_1 - pcre2=10.44=h7634a1b_2 - petl=1.7.15=pyhd8ed1ab_0 @@ -408,6 +427,7 @@ dependencies: - pygls=1.3.1=pyhd8ed1ab_1 - pygments=2.19.1=pyhd8ed1ab_0 - pygraphviz=1.14=py312hc79309e_0 + - pyicu=2.14=py312h19e56fc_0 - pyjwt=2.10.1=pyhd8ed1ab_0 - pylev=1.4.0=pyhd8ed1ab_0 - pynacl=1.5.0=py312hb553811_4 @@ -436,6 +456,7 @@ dependencies: - python-slugify=8.0.4=pyhd8ed1ab_1 - python-tzdata=2024.2=pyhd8ed1ab_1 - python_abi=3.12=5_cp312 + - pytimeparse=1.1.8=py_0 - pytz=2024.1=pyhd8ed1ab_0 - pyu2f=0.1.5=pyhd8ed1ab_1 - pywin32-on-windows=0.1.0=pyh1179c8e_3 @@ -464,6 +485,7 @@ dependencies: - ruamel.yaml.clib=0.2.8=py312h3d0f464_1 - ruff=0.9.1=py312h07459cc_0 - ruff-lsp=0.0.60=pyhd8ed1ab_0 + - s3fs=2024.12.0=pyhd8ed1ab_0 - s3transfer=0.11.1=pyhd8ed1ab_0 - scikit-learn=1.6.1=py312he1a5313_0 - scipy=1.15.1=py312hb4e66ee_0 @@ -477,6 +499,7 @@ dependencies: - snappy=1.2.1=haf3c120_1 - sniffio=1.3.1=pyhd8ed1ab_1 - snowballstemmer=2.2.0=pyhd8ed1ab_0 + - snowplow-tracker=1.0.4=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.5=pyhd8ed1ab_1 - sphinx=8.1.3=pyhd8ed1ab_1 @@ -495,6 +518,8 @@ dependencies: - splink=4.0.6=pyhd8ed1ab_0 - sqlalchemy=2.0.37=py312h01d7ebd_0 - sqlglot=26.0.1=pyhd8ed1ab_0 + - sqlglot-rs=26.0.1=hd8ed1ab_0 + - sqlglotrs=0.3.0=py312h0d0de52_0 - sqlite=3.48.0=h2e4c9dc_0 - sqlparse=0.5.3=pyhd8ed1ab_0 - stack_data=0.6.3=pyhd8ed1ab_1 @@ -526,6 +551,8 @@ dependencies: - typer-slim-standard=0.15.1=hd8ed1ab_0 - types-python-dateutil=2.9.0.20241206=pyhd8ed1ab_0 - types-pyyaml=6.0.12.20241230=pyhd8ed1ab_0 + - types-requests=2.31.0.6=pyhd8ed1ab_0 + - types-urllib3=1.26.25.14=pyhd8ed1ab_1 - typing-extensions=4.12.2=hd8ed1ab_1 - typing_extensions=4.12.2=pyha770c72_1 - typing_inspect=0.9.0=pyhd8ed1ab_1 diff --git a/environments/conda-osx-arm64.lock.yml b/environments/conda-osx-arm64.lock.yml index ff295e8bd..93b82b933 100644 --- a/environments/conda-osx-arm64.lock.yml +++ b/environments/conda-osx-arm64.lock.yml @@ -1,17 +1,20 @@ # Generated by conda-lock. # platform: osx-arm64 -# input_hash: 6753dd40a718353b16982a4232a185eec37bd55c0267668f043a65311cf22d97 +# input_hash: dc80b2ea52b86787c8ac82dda5d296db5ac5b5848c84a06ef1df54f61674a71f channels: - conda-forge dependencies: - addfips=0.4.2=pyhd8ed1ab_1 + - agate=1.9.1=pyh707e725_1 + - aiobotocore=2.18.0=pyhd8ed1ab_0 - aiofiles=24.1.0=pyhd8ed1ab_1 - aiohappyeyeballs=2.4.4=pyhd8ed1ab_1 - aiohttp=3.11.11=py312h998013c_0 + - aioitertools=0.12.0=pyhd8ed1ab_1 - aiosignal=1.3.2=pyhd8ed1ab_0 - alabaster=1.0.0=pyhd8ed1ab_1 - - alembic=1.14.1=pyhd8ed1ab_0 + - alembic=1.14.0=pyhd8ed1ab_1 - altair=5.5.0=pyhd8ed1ab_1 - annotated-types=0.7.0=pyhd8ed1ab_1 - antlr-python-runtime=4.13.2=pyhd8ed1ab_1 @@ -58,8 +61,8 @@ dependencies: - bleach-with-css=6.2.0=hd8ed1ab_3 - blinker=1.9.0=pyhff2d567_0 - blosc=1.21.6=h7dd00d9_1 - - boto3=1.36.2=pyhd8ed1ab_0 - - botocore=1.36.2=pyge310_1234567_0 + - boto3=1.36.1=pyhd8ed1ab_0 + - botocore=1.36.1=pyge310_1234567_0 - bottleneck=1.4.2=py312h147345f_0 - branca=0.8.1=pyhd8ed1ab_0 - brotli=1.1.0=hd74edd7_2 @@ -98,7 +101,9 @@ dependencies: - curl=8.11.1=h73640d1_0 - cycler=0.12.1=pyhd8ed1ab_1 - cyrus-sasl=2.1.27=h60b93bd_7 + - daff=1.3.46=pyhd8ed1ab_1 - dagster=1.9.9=pyh56b92e0_12 + - dagster-dbt=0.25.9=pyh29332c3_0 - dagster-graphql=1.9.9=pyh56b92e0_0 - dagster-pipes=1.9.9=pyh56b92e0_0 - dagster-postgres=0.25.9=pyh29332c3_0 @@ -108,8 +113,15 @@ dependencies: - databricks-sdk=0.40.0=pyhd8ed1ab_0 - datasette=0.65.1=pyhd8ed1ab_0 - dav1d=1.2.1=hb547adb_0 + - dbt-adapters=1.13.1=pyhd8ed1ab_0 + - dbt-common=1.14.0=pyhd8ed1ab_0 + - dbt-core=1.9.1=pyhd8ed1ab_0 + - dbt-duckdb=1.9.0=pyhd8ed1ab_0 + - dbt-extractor=0.5.1=py312he431725_2 + - dbt-semantic-interfaces=0.7.4=pyhf696b4e_0 - debugpy=1.8.12=py312hd8f9ff3_0 - decorator=5.1.1=pyhd8ed1ab_1 + - deepdiff=7.0.1=pyhd8ed1ab_0 - defusedxml=0.7.1=pyhd8ed1ab_0 - deprecated=1.2.15=pyhd8ed1ab_1 - distlib=0.3.9=pyhd8ed1ab_1 @@ -146,6 +158,7 @@ dependencies: - frozenlist=1.5.0=py312h0bf5046_0 - fsspec=2024.12.0=pyhd8ed1ab_0 - furo=2024.8.6=pyhd8ed1ab_2 + - future=1.0.0=pyhd8ed1ab_1 - gcsfs=2024.12.0=pyhd8ed1ab_0 - gdal=3.10.1=py312h1afea5f_1 - gdk-pixbuf=2.42.12=h7ddc832_0 @@ -199,13 +212,13 @@ dependencies: - identify=2.6.5=pyhd8ed1ab_0 - idna=3.10=pyhd8ed1ab_1 - imagesize=1.4.1=pyhd8ed1ab_0 - - importlib-metadata=8.5.0=pyha770c72_1 + - importlib-metadata=6.10.0=pyha770c72_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.0.0=pyhd8ed1ab_1 - ipykernel=6.29.5=pyh57ce528_0 - ipython=8.31.0=pyh707e725_0 - ipywidgets=8.1.5=pyhd8ed1ab_1 - - isodate=0.7.2=pyhd8ed1ab_1 + - isodate=0.6.1=pyhd8ed1ab_0 - isoduration=20.11.0=pyhd8ed1ab_1 - itsdangerous=2.2.0=pyhd8ed1ab_1 - janus=2.0.0=pyhd8ed1ab_0 @@ -242,6 +255,7 @@ dependencies: - krb5=1.21.3=h237132a_0 - latexcodec=2.0.1=pyh9f0ad1d_0 - lcms2=2.16=ha0e7c42_0 + - leather=0.4.0=pyhd8ed1ab_0 - lerc=4.0.0=h9a09cb3_0 - libabseil=20240722.0=cxx17_h07bc746_4 - libarchive=3.7.7=h3b16cec_3 @@ -317,6 +331,7 @@ dependencies: - markdown-it-py=3.0.0=pyhd8ed1ab_1 - marko=2.1.2=pyhd8ed1ab_1 - markupsafe=3.0.2=py312h998013c_1 + - mashumaro=3.14=pyhd8ed1ab_0 - matplotlib-base=3.10.0=py312hdbc7e53_0 - matplotlib-inline=0.1.7=pyhd8ed1ab_1 - mdurl=0.1.2=pyhd8ed1ab_1 @@ -356,6 +371,8 @@ dependencies: - opentelemetry-sdk=1.29.0=pyhd8ed1ab_0 - opentelemetry-semantic-conventions=0.50b0=pyh3cfb1c2_0 - orc=2.0.3=h0ff2369_2 + - ordered-set=4.1.0=pyhd8ed1ab_1 + - orjson=3.10.15=py312hcd83bfe_0 - overrides=7.7.0=pyhd8ed1ab_1 - packaging=24.2=pyhd8ed1ab_2 - pandas=2.2.3=py312hcd31e36_1 @@ -364,9 +381,11 @@ dependencies: - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.0=h73f1e88_0 - paramiko=3.5.0=pyhd8ed1ab_1 + - parsedatetime=2.4=py_1 - parso=0.8.4=pyhd8ed1ab_1 - partd=1.4.2=pyhd8ed1ab_0 - pastel=0.2.1=pyhd8ed1ab_0 + - pathspec=0.12.1=pyhd8ed1ab_1 - pbr=6.1.0=pyhd8ed1ab_1 - pcre2=10.44=h297a79d_2 - petl=1.7.15=pyhd8ed1ab_0 @@ -408,6 +427,7 @@ dependencies: - pygls=1.3.1=pyhd8ed1ab_1 - pygments=2.19.1=pyhd8ed1ab_0 - pygraphviz=1.14=py312h1fbede1_0 + - pyicu=2.14=py312h5f599d0_0 - pyjwt=2.10.1=pyhd8ed1ab_0 - pylev=1.4.0=pyhd8ed1ab_0 - pynacl=1.5.0=py312h024a12e_4 @@ -436,6 +456,7 @@ dependencies: - python-slugify=8.0.4=pyhd8ed1ab_1 - python-tzdata=2024.2=pyhd8ed1ab_1 - python_abi=3.12=5_cp312 + - pytimeparse=1.1.8=py_0 - pytz=2024.1=pyhd8ed1ab_0 - pyu2f=0.1.5=pyhd8ed1ab_1 - pywin32-on-windows=0.1.0=pyh1179c8e_3 @@ -464,6 +485,7 @@ dependencies: - ruamel.yaml.clib=0.2.8=py312h0bf5046_1 - ruff=0.9.1=py312h5d18b81_0 - ruff-lsp=0.0.60=pyhd8ed1ab_0 + - s3fs=2024.12.0=pyhd8ed1ab_0 - s3transfer=0.11.1=pyhd8ed1ab_0 - scikit-learn=1.6.1=py312h39203ce_0 - scipy=1.15.1=py312hb7ffdcd_0 @@ -477,6 +499,7 @@ dependencies: - snappy=1.2.1=h98b9ce2_1 - sniffio=1.3.1=pyhd8ed1ab_1 - snowballstemmer=2.2.0=pyhd8ed1ab_0 + - snowplow-tracker=1.0.4=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.5=pyhd8ed1ab_1 - sphinx=8.1.3=pyhd8ed1ab_1 @@ -495,6 +518,8 @@ dependencies: - splink=4.0.6=pyhd8ed1ab_0 - sqlalchemy=2.0.37=py312hea69d52_0 - sqlglot=26.0.1=pyhd8ed1ab_0 + - sqlglot-rs=26.0.1=hd8ed1ab_0 + - sqlglotrs=0.3.0=py312hcd83bfe_0 - sqlite=3.48.0=hd7222ec_0 - sqlparse=0.5.3=pyhd8ed1ab_0 - stack_data=0.6.3=pyhd8ed1ab_1 @@ -526,6 +551,8 @@ dependencies: - typer-slim-standard=0.15.1=hd8ed1ab_0 - types-python-dateutil=2.9.0.20241206=pyhd8ed1ab_0 - types-pyyaml=6.0.12.20241230=pyhd8ed1ab_0 + - types-requests=2.31.0.6=pyhd8ed1ab_0 + - types-urllib3=1.26.25.14=pyhd8ed1ab_1 - typing-extensions=4.12.2=hd8ed1ab_1 - typing_extensions=4.12.2=pyha770c72_1 - typing_inspect=0.9.0=pyhd8ed1ab_1 diff --git a/pyproject.toml b/pyproject.toml index 3e40a19e1..2603330d1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ name = "catalystcoop.pudl" description = "An open data processing pipeline for US energy data" readme = { file = "README.rst", content-type = "text/x-rst" } authors = [{ name = "Catalyst Cooperative", email = "pudl@catalyst.coop" }] -requires-python = ">=3.12,<3.13" +requires-python = ">=3.12,<3.13.0a0" dynamic = ["version"] license = { file = "LICENSE.txt" } dependencies = [ @@ -23,10 +23,12 @@ dependencies = [ "conda-lock>=2.5.7", "coverage>=7.6", "dagster>=1.9.9", + "dagster-dbt>=0.25.9,<1", "dagster-postgres>=0.25.9,<1", # Update when dagster-postgres graduates to 1.x "dask>=2024", "dask-expr>=1.1", # Required for dask[dataframe] "datasette>=0.65", + "dbt-duckdb", "doc8>=1.1", "duckdb>=1.1.3", "email-validator>=1.0.3", # pydantic[email] @@ -83,6 +85,7 @@ dependencies = [ "sphinxcontrib_googleanalytics>=0.4", "sqlalchemy>=2", "sqlglot>=25", + "s3fs>=2024", "timezonefinder>=6.2", "universal_pathlib>=0.2", "urllib3>=1.26.18", @@ -343,7 +346,7 @@ nodejs = ">=20" pandoc = ">=2" pip = ">=24" prettier = ">=3.0" -python = ">=3.12,<3.13" +python = ">=3.12,<3.13.0a0" sqlite = ">=3.47" zip = ">=3.0"