Ctrl K
ComunidadGuías…

pyproject.toml

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[tool.poetry]
name = "elementary-data"
version = "0.26.1"
description = "Data monitoring and lineage"
authors = ["Elementary"]
keywords = ["data", "lineage", "data lineage", "data warehouse", "DWH", "observability", "data monitoring", "data observability", "Snowflake", "BigQuery", "Redshift", "data reliability", "analytics engineering"]
license = "Apache-2.0"
readme = "README.md"
homepage = "https://www.elementary-data.com"
repository = "https://github.com/elementary-data/elementary"
documentation = "https://docs.elementary-data.com"
classifiers = [
    "Natural Language :: English",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Topic :: Software Development :: Libraries",
]

packages = [{include = "elementary"}]

[tool.poetry.dependencies]
python = ">=3.10,<3.14"
click = ">=7.0,<9.0"
requests = ">=2.28.1,<3.0.0"
urllib3 = ">=2.8.0"  # transitive dependency via requests, which caps the major itself
idna = ">=3.15"  # transitive dependency via requests, floored to address CVE-2026-45409 (GHSA-65pc-fj4g-8rjx) ReDoS in idna.encode()
pyasn1 = ">=0.6.4"  # transitive dependency via google-auth/pyasn1-modules, floored to address BER/CER/DER decoder DoS advisories
cryptography = ">=50.0.0"  # transitive dependency via google-auth/azure-storage-blob, floored to address CVE-2026-69247 (PKCS#7 Bleichenbacher oracle)
oauthlib = ">=4.0.0"  # transitive dependency via databricks-sql-connector/requests-oauthlib, floored to address GHSA-hj66-6f7g-4r5v and GHSA-xpv3-w29h-x7cv
beautifulsoup4 = "<5.0.0"
ratelimit = "*"
posthog = "<3.0.0"
boto3 = "<2.0.0"
google-cloud-storage = ">=2.4,<3.2"
"ruamel.yaml" = "<1.0.0"
alive-progress = "<=2.3.1"
slack-sdk = ">=3.20.1,<4.0.0"

lxml = ">=6.1.0"

pydantic = "<3.0"
networkx = ">=2.3,<3"
packaging = ">=20.9"
azure-storage-blob = ">=12.11.0"
pymsteams = ">=0.2.2,<1.0.0"
tabulate = ">= 0.9.0"
tenacity = ">=8.0,<10.0"
pytz = ">= 2025.1"

# There is intentionally no mandatory dbt dependency: dbt v2 ships as the `dbt` /
# `dbt-oss` packages (dbt-core stays on 1.x) and requires no extra alongside
# elementary-data, while dbt-core 1.x comes through the adapter extras below.
# dbt-core is explicitly constrained in the extras so they can never resolve a
# dbt-core 2.x release (the adapters themselves only lower-bound dbt-core).
dbt-core = {version = ">=1.8,<2.0.0", optional = true}
dbt-snowflake = {version = ">=1.8,<2.0.0", optional = true}
dbt-bigquery = {version = ">=1.8,<2.0.0", optional = true}
dbt-redshift = {version = ">=1.8,<2.0.0", optional = true}
dbt-postgres = {version = ">=1.8,<2.0.0", optional = true}
dbt-databricks = {version = ">=1.8,<2.0.0", optional = true}
dbt-spark = {version = ">=1.8,<2.0.0", optional = true}
dbt-athena-community = {version = ">=1.8,<2.0.0", optional = true}
# dbt-athena 1.10.x is incompatible with PyAthena 3.35+; remove when dbt-athena ships boto3 connection manager.
pyathena = {version = ">=2.25,<3.35", optional = true}
dbt-trino = {version = ">=1.8,<2.0.0", optional = true}
dbt-clickhouse = {version = ">=1.8,<2.0.0", optional = true}
dbt-duckdb = {version = ">=1.8,<2.0.0", optional = true}
dbt-dremio = {version = ">=1.8,<2.0.0", optional = true}
dbt-fabric = {version = ">=1.8,<2.0.0", optional = true}
# dbt-sqlserver 1.12 moved pyodbc (still its default backend) to the [pyodbc] extra.
dbt-sqlserver = {version = ">=1.8,<2.0.0", optional = true, extras = ["pyodbc"]}
[tool.poetry.extras]
# The extras install the dbt-core 1.x stack (adapter + dbt-core) for a warehouse.
# They are not needed with dbt v2 (`pip install dbt` / `dbt-oss`), which has the
# adapters built in. The dbt1-* names are the documented ones; the plain
# warehouse names are kept as aliases for backward compatibility.
dbt1-snowflake = ["dbt-core", "dbt-snowflake"]
dbt1-bigquery = ["dbt-core", "dbt-bigquery"]
dbt1-redshift = ["dbt-core", "dbt-redshift"]
dbt1-postgres = ["dbt-core", "dbt-postgres"]
dbt1-databricks = ["dbt-core", "dbt-databricks"]
dbt1-spark = ["dbt-core", "dbt-spark"]
dbt1-athena = ["dbt-core", "dbt-athena-community", "pyathena"]
dbt1-clickhouse = ["dbt-core", "dbt-clickhouse"]
dbt1-trino = ["dbt-core", "dbt-trino"]
dbt1-duckdb = ["dbt-core", "dbt-duckdb"]
dbt1-dremio = ["dbt-core", "dbt-dremio"]
dbt1-fabric = ["dbt-core", "dbt-fabric"]
dbt1-sqlserver = ["dbt-core", "dbt-sqlserver"]
snowflake = ["dbt-core", "dbt-snowflake"]
bigquery = ["dbt-core", "dbt-bigquery"]
redshift = ["dbt-core", "dbt-redshift"]
postgres = ["dbt-core", "dbt-postgres"]
databricks = ["dbt-core", "dbt-databricks"]
spark = ["dbt-core", "dbt-spark"]
athena = ["dbt-core", "dbt-athena-community", "pyathena"]
clickhouse = ["dbt-core", "dbt-clickhouse"]
trino = ["dbt-core", "dbt-trino"]
duckdb = ["dbt-core", "dbt-duckdb"]
dremio = ["dbt-core", "dbt-dremio"]
fabric = ["dbt-core", "dbt-fabric"]
sqlserver = ["dbt-core", "dbt-sqlserver"]
# dbt-fabricspark and dbt-vertica are removed from the lockfile resolution because they pin
# outdated transitive dependencies (dbt-core==1.8.5, azure-cli pre-release) that block
# security patches for deepdiff, protobuf, and pyopenssl. Users who need these adapters
# can still install them directly (e.g. pip install dbt-fabricspark dbt-vertica).
dbt1-all = ["dbt-core", "dbt-snowflake", "dbt-bigquery", "dbt-redshift", "dbt-postgres", "dbt-databricks", "dbt-spark", "dbt-athena-community", "pyathena", "dbt-trino", "dbt-clickhouse", "dbt-duckdb", "dbt-dremio", "dbt-fabric", "dbt-sqlserver"]
all = ["dbt-core", "dbt-snowflake", "dbt-bigquery", "dbt-redshift", "dbt-postgres", "dbt-databricks", "dbt-spark", "dbt-athena-community", "pyathena", "dbt-trino", "dbt-clickhouse", "dbt-duckdb", "dbt-dremio", "dbt-fabric", "dbt-sqlserver"]

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[tool.poetry.scripts]
edr = "elementary.cli.cli:cli"