Files
dbt-core/core/pyproject.toml
Emily Rockman 97df9278c0 Move to hatch for build tooling (#12192)
* initial hatch implmentation

* cleanup docs

* replacing makefile

* cleanup hatch commands to match adapters

reorganize more to match adapters setup

script comment

dont pip install

fix test commands

* changelog

improve changelog

* CI fix

* fix for env

* use a standard version file

* remove odd license logic

* fix bumpversion

* remove sha input

* more cleanup

* fix legacy build path

* define version for pyproject.toml

* use hatch hook for license

* remove tox

* ensure tests are split

* remove temp file for testing

* explicitly match old verion in pyproject.toml

* fix up testing

* get rid of bumpversion

* put dev_dependencies.txtin hatch

* setup.py is now dead

* set python version for local dev

* local dev fixes

* temp script to compare wheels

* parity with existing wheel builds

* Revert "temp script to compare wheels"

This reverts commit c31417a092.

* fix docker test file
2025-12-05 21:59:44 -05:00

86 lines
3.0 KiB
TOML

[project]
name = "dbt-core"
dynamic = ["version"]
description = "With dbt, data analysts and engineers can build analytics the way engineers build applications."
readme = "README.md"
requires-python = ">=3.10"
license = "Apache-2.0"
license-files = { globs = ["LICENSE"] }
keywords = []
authors = [
{ name = "dbt Labs", email = "info@dbtlabs.com" },
]
maintainers = [
{ name = "dbt Labs", email = "info@dbtlabs.com" },
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Operating System :: Microsoft :: Windows",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dependencies = [
# ----
# dbt-core uses these packages deeply, throughout the codebase, and there have been breaking changes in past patch releases (even though these are major-version-one).
# Pin to the patch or minor version, and bump in each new minor version of dbt-core.
"agate>=1.7.0,<1.10",
"Jinja2>=3.1.3,<4",
"mashumaro[msgpack]>=3.9,<3.15",
# ----
# dbt-core uses these packages in standard ways. Pin to the major version, and check compatibility
# with major versions in each new minor version of dbt-core.
"click>=8.0.2,<9.0",
"jsonschema>=4.19.1,<5.0",
"networkx>=2.3,<4.0",
"protobuf>=6.0,<7.0",
"requests<3.0.0", # should match dbt-common
"snowplow-tracker>=1.0.2,<2.0",
# ----
# These packages are major-version-0. Keep upper bounds on upcoming minor versions (which could have breaking changes)
# and check compatibility / bump in each new minor version of dbt-core.
"pathspec>=0.9,<0.13",
"sqlparse>=0.5.0,<0.6.0",
# ----
# These are major-version-0 packages also maintained by dbt-labs.
# Accept patches but avoid automatically updating past a set minor version range.
"dbt-extractor>=0.5.0,<=0.6",
"dbt-semantic-interfaces>=0.9.0,<0.10",
# Minor versions for these are expected to be backwards-compatible
"dbt-common>=1.27.0,<2.0",
"dbt-adapters>=1.15.5,<2.0",
"dbt-protos>=1.0.397,<2.0",
"pydantic<3",
# ----
# Expect compatibility with all new versions of these packages, so lower bounds only.
"packaging>20.9",
"pytz>=2015.7",
"pyyaml>=6.0",
"daff>=1.3.46",
"typing-extensions>=4.4",
]
[project.urls]
Homepage = "https://github.com/dbt-labs/dbt-core"
Repository = "https://github.com/dbt-labs/dbt-core.git"
Issues = "https://github.com/dbt-labs/dbt-core/issues"
Changelog = "https://github.com/dbt-labs/dbt-core/blob/main/CHANGELOG.md"
[project.scripts]
dbt = "dbt.cli.main:cli"
[tool.hatch.version]
path = "dbt/__version__.py"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"