|
1 | 1 | #!/usr/bin/env python |
2 | | -import os |
3 | | -import sys |
4 | | - |
5 | | -if sys.version_info < (3, 10): |
6 | | - print("Error: dbt does not support this version of Python.") |
7 | | - print("Please upgrade to Python 3.10 or higher.") |
8 | | - sys.exit(1) |
9 | 2 |
|
| 3 | +"""Legacy setuptools shim retained for compatibility with existing workflows. Will be removed in a future version.""" |
10 | 4 |
|
11 | 5 | from setuptools import setup |
12 | 6 |
|
13 | | -try: |
14 | | - from setuptools import find_namespace_packages |
15 | | -except ImportError: |
16 | | - # the user has a downlevel version of setuptools. |
17 | | - print("Error: dbt requires setuptools v40.1.0 or higher.") |
18 | | - print('Please upgrade setuptools with "pip install --upgrade setuptools" ' "and try again") |
19 | | - sys.exit(1) |
20 | | - |
21 | | - |
22 | | -this_directory = os.path.abspath(os.path.dirname(__file__)) |
23 | | -with open(os.path.join(this_directory, "README.md")) as f: |
24 | | - long_description = f.read() |
25 | | - |
26 | | - |
27 | | -package_name = "dbt-core" |
28 | | -package_version = "1.11.0b4" |
29 | | -description = """With dbt, data analysts and engineers can build analytics \ |
30 | | -the way engineers build applications.""" |
31 | | - |
32 | | - |
33 | | -setup( |
34 | | - name=package_name, |
35 | | - version=package_version, |
36 | | - description=description, |
37 | | - long_description=long_description, |
38 | | - long_description_content_type="text/markdown", |
39 | | - author="dbt Labs", |
40 | | - |
41 | | - url="https://github.com/dbt-labs/dbt-core", |
42 | | - packages=find_namespace_packages(include=["dbt", "dbt.*"]), |
43 | | - include_package_data=True, |
44 | | - test_suite="test", |
45 | | - entry_points={ |
46 | | - "console_scripts": ["dbt = dbt.cli.main:cli"], |
47 | | - }, |
48 | | - install_requires=[ |
49 | | - # ---- |
50 | | - # 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). |
51 | | - # Pin to the patch or minor version, and bump in each new minor version of dbt-core. |
52 | | - "agate>=1.7.0,<1.10", |
53 | | - "Jinja2>=3.1.3,<4", |
54 | | - "mashumaro[msgpack]>=3.9,<3.15", |
55 | | - # ---- |
56 | | - # dbt-core uses these packages in standard ways. Pin to the major version, and check compatibility |
57 | | - # with major versions in each new minor version of dbt-core. |
58 | | - "click>=8.0.2,<9.0", |
59 | | - "jsonschema>=4.19.1,<5.0", |
60 | | - "networkx>=2.3,<4.0", |
61 | | - "protobuf>=6.0,<7.0", |
62 | | - "requests<3.0.0", # should match dbt-common |
63 | | - "snowplow-tracker>=1.0.2,<2.0", |
64 | | - # ---- |
65 | | - # These packages are major-version-0. Keep upper bounds on upcoming minor versions (which could have breaking changes) |
66 | | - # and check compatibility / bump in each new minor version of dbt-core. |
67 | | - "pathspec>=0.9,<0.13", |
68 | | - "sqlparse>=0.5.0,<0.6.0", |
69 | | - # ---- |
70 | | - # These are major-version-0 packages also maintained by dbt-labs. |
71 | | - # Accept patches but avoid automatically updating past a set minor version range. |
72 | | - "dbt-extractor>=0.5.0,<=0.6", |
73 | | - "dbt-semantic-interfaces>=0.9.0,<0.10", |
74 | | - # Minor versions for these are expected to be backwards-compatible |
75 | | - "dbt-common>=1.27.0,<2.0", |
76 | | - "dbt-adapters>=1.15.5,<2.0", |
77 | | - "dbt-protos>=1.0.375,<2.0", |
78 | | - "pydantic<3", |
79 | | - # ---- |
80 | | - # Expect compatibility with all new versions of these packages, so lower bounds only. |
81 | | - "packaging>20.9", |
82 | | - "pytz>=2015.7", |
83 | | - "pyyaml>=6.0", |
84 | | - "daff>=1.3.46", |
85 | | - "typing-extensions>=4.4", |
86 | | - # ---- |
87 | | - ], |
88 | | - zip_safe=False, |
89 | | - classifiers=[ |
90 | | - "Development Status :: 5 - Production/Stable", |
91 | | - "License :: OSI Approved :: Apache Software License", |
92 | | - "Operating System :: Microsoft :: Windows", |
93 | | - "Operating System :: MacOS :: MacOS X", |
94 | | - "Operating System :: POSIX :: Linux", |
95 | | - "Programming Language :: Python :: 3.10", |
96 | | - "Programming Language :: Python :: 3.11", |
97 | | - "Programming Language :: Python :: 3.12", |
98 | | - "Programming Language :: Python :: 3.13", |
99 | | - ], |
100 | | - python_requires=">=3.10", |
101 | | -) |
| 7 | +# the user has a downlevel version of setuptools. |
| 8 | +# ---- |
| 9 | +# 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). |
| 10 | +# Pin to the patch or minor version, and bump in each new minor version of dbt-core. |
| 11 | +# ---- |
| 12 | +# dbt-core uses these packages in standard ways. Pin to the major version, and check compatibility |
| 13 | +# with major versions in each new minor version of dbt-core. |
| 14 | +# ---- |
| 15 | +# These packages are major-version-0. Keep upper bounds on upcoming minor versions (which could have breaking changes) |
| 16 | +# and check compatibility / bump in each new minor version of dbt-core. |
| 17 | +# ---- |
| 18 | +# These are major-version-0 packages also maintained by dbt-labs. |
| 19 | +# Accept patches but avoid automatically updating past a set minor version range. |
| 20 | +# Minor versions for these are expected to be backwards-compatible |
| 21 | +# ---- |
| 22 | +# Expect compatibility with all new versions of these packages, so lower bounds only. |
| 23 | +# ---- |
| 24 | + |
| 25 | +if __name__ == "__main__": |
| 26 | + setup() |
0 commit comments