dbt-core-experimental-parser 2.0.0a5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,97 @@
1
+ Metadata-Version: 2.1
2
+ Name: dbt-core-experimental-parser
3
+ Version: 2.0.0a5
4
+ Summary: Build analytics the way engineers build applications
5
+ Requires-Python: >=3.9
6
+ License: Apache-2.0
7
+ Classifier: Programming Language :: Rust
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Operating System :: Microsoft :: Windows
10
+ Classifier: Operating System :: MacOS :: MacOS X
11
+ Classifier: Operating System :: POSIX :: Linux
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Topic :: Software Development :: Build Tools
14
+ Project-URL: Homepage, https://getdbt.com
15
+ Project-URL: Repository, https://github.com/dbt-labs/dbt-core
16
+ Project-URL: Issues, https://github.com/dbt-labs/dbt-core/issues
17
+ Project-URL: Documentation, https://docs.getdbt.com
18
+ Author-email: dbt Labs <info@dbtlabs.com>
19
+ Description-Content-Type: text/markdown
20
+
21
+ <p align="center">
22
+ <img src="https://raw.githubusercontent.com/dbt-labs/dbt-core/fa1ea14ddfb1d5ae319d5141844910dd53ab2834/etc/dbt-core.svg" alt="dbt logo" width="750"/>
23
+ </p>
24
+
25
+ > [!WARNING]
26
+ > **dbt Core v1 development has moved to the [`1.latest`](https://github.com/dbt-labs/dbt-core/tree/1.latest) branch.**
27
+ > The `main` branch now hosts dbt Core v2.0 (alpha) — a ground-up rewrite in Rust that is the foundation of the Fusion engine. If you're looking for the Python implementation of dbt Core, switch to [`1.latest`](https://github.com/dbt-labs/dbt-core/tree/1.latest).
28
+
29
+ **[dbt](https://www.getdbt.com/)** enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.
30
+
31
+ ![architecture](https://raw.githubusercontent.com/dbt-labs/dbt-core/202cb7e51e218c7b29eb3b11ad058bd56b7739de/etc/dbt-transform.png)
32
+
33
+ ## About dbt Core v2.0
34
+
35
+ > 🚧 dbt Core v2.0 is in alpha. Behavior, APIs, and on-disk formats may change before the stable release.
36
+
37
+ dbt Core v2.0 is engineered for performance at scale — parsing, compiling, and running projects in a fraction of the time compared to v1. It's released under the Apache 2.0 license and is the foundation of the [Fusion engine](https://docs.getdbt.com/docs/fusion/about-fusion).
38
+
39
+ The big shifts from v1:
40
+
41
+ - **Faster** — parse and compile times are dramatically improved, especially on the largest dbt projects.
42
+ - **Stricter** — a tightly-defined language specification enforces correctness at parse time.
43
+ - **More scalable artifacts** — v2.0 produces Parquet artifacts that can be easily queried, joined, and analyzed to understand your dbt project. The artifacts encompass everything in the JSON artifacts (e.g. `manifest.json`), which continue to be produced for backwards compatibility.
44
+ - **Easier to install** — distributed as a single self-contained binary, with no Python runtime or dependency management required.
45
+ - **A completely revamped local documentation experience** — dbt docs is now powered by those new artifacts and capable of scaling to large projects.
46
+
47
+ ### Supported operating systems and architectures
48
+
49
+ dbt Core v2.0 and its drivers are compiled per operating system and architecture.
50
+
51
+ Legend:
52
+ * 🟢 — Supported today
53
+ * 🟡 — Not yet supported
54
+
55
+ | Operating system | x86-64 | ARM |
56
+ |---|---|---|
57
+ | macOS | 🟢 | 🟢 |
58
+ | Linux | 🟢 | 🟢 |
59
+ | Windows | 🟢 | 🟡 |
60
+
61
+ ## Understanding dbt
62
+
63
+ Analysts using dbt can transform their data by simply writing select statements, while dbt handles turning these statements into tables and views in a data warehouse.
64
+
65
+ These select statements, or "models", form a dbt project. Models frequently build on top of one another – dbt makes it easy to [manage relationships](https://docs.getdbt.com/docs/ref) between models, and [visualize these relationships](https://docs.getdbt.com/docs/documentation), as well as assure the quality of your transformations through [testing](https://docs.getdbt.com/docs/testing).
66
+
67
+ ![dbt dag](https://raw.githubusercontent.com/dbt-labs/dbt-core/6c6649f9129d5d108aa3b0526f634cd8f3a9d1ed/etc/dbt-dag.png)
68
+
69
+ ## Getting started
70
+
71
+ Start by choosing a distribution. dbt Core is the baseline distribution of dbt. Fusion extends dbt Core with additional SQL comprehension abilities. Both distributions are free to install and can run locally.
72
+
73
+ - **If you need an Apache 2.0 licensed tool** and the ability to review every line of code inside of it, [install dbt Core](https://docs.getdbt.com/docs/local/install-dbt#dbt-core).
74
+ - **If you need a free CLI you can use locally**, [install Fusion](https://docs.getdbt.com/docs/local/install-dbt#dbt-fusion-engine-recommended). It can do more than dbt Core out of the box and you can seamlessly enable other advanced features over time if you choose to.
75
+
76
+ Regardless of the distribution you choose, each is part of a single framework with a single language specification, meaning your business logic is portable in both directions.
77
+
78
+ Explore the [dbt platform](https://docs.getdbt.com/docs/cloud/about-cloud/dbt-cloud-features) for an enhanced collaboration experience.
79
+ Read the [introduction](https://docs.getdbt.com/docs/introduction/) and [viewpoint](https://docs.getdbt.com/docs/about/viewpoint/)
80
+
81
+ ## Join the dbt Community
82
+
83
+ - Be part of the conversation in the [dbt Community Slack](http://community.getdbt.com/)
84
+ - Read more on the [dbt Community Discourse](https://discourse.getdbt.com)
85
+
86
+ ## Reporting bugs and contributing code
87
+
88
+ - Want to report a bug or request a feature? Let us know and open [an issue](https://github.com/dbt-labs/dbt-core/issues/new/choose)
89
+ - Want to help us build dbt? Check out the [Contributing Guide](https://github.com/dbt-labs/dbt-core/blob/HEAD/CONTRIBUTING.md)
90
+
91
+ ## Code of Conduct
92
+
93
+ Everyone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [dbt Code of Conduct](https://docs.getdbt.com/community/resources/code-of-conduct).
94
+
95
+ ## License
96
+
97
+ dbt Core is licensed under the [Apache License 2.0](LICENSE).
@@ -0,0 +1,87 @@
1
+ """PEP 517 build backend for the dbt download-at-install sdist.
2
+
3
+ When pip builds from this sdist, ``build_wheel`` downloads the prebuilt wheel
4
+ for the user's platform from the release's asset store, verifies its sha256
5
+ against the embedded ``assets.json``, and hands it back — nothing is compiled.
6
+ Uses only the stdlib plus ``packaging`` (declared in pyproject build-requires).
7
+ """
8
+
9
+ import hashlib
10
+ import json
11
+ import time
12
+ import urllib.error
13
+ import urllib.request
14
+ from pathlib import Path
15
+
16
+ from packaging.tags import sys_tags
17
+
18
+ _HERE = Path(__file__).resolve().parent
19
+ _MANIFEST = json.loads((_HERE / "assets.json").read_text(encoding="utf-8"))
20
+
21
+ _RETRIES = 4
22
+ _TIMEOUT = 60
23
+
24
+
25
+ def _select_wheel():
26
+ """Pick the manifest wheel for the first platform tag this machine accepts.
27
+
28
+ ``sys_tags()`` is pip's ordered list of compatible tags, so the most specific
29
+ build wins.
30
+ """
31
+ wheels = _MANIFEST["wheels"]
32
+ for tag in sys_tags():
33
+ entry = wheels.get(tag.platform)
34
+ if entry is not None:
35
+ return entry
36
+ raise RuntimeError(
37
+ "no prebuilt {name} {ver} wheel for this platform; "
38
+ "available platforms: {plats}".format(
39
+ name=_MANIFEST["name"],
40
+ ver=_MANIFEST["version"],
41
+ plats=", ".join(sorted(wheels)),
42
+ )
43
+ )
44
+
45
+
46
+ def _fetch(url):
47
+ last = None
48
+ for attempt in range(1, _RETRIES + 1):
49
+ try:
50
+ req = urllib.request.Request(
51
+ url, headers={"User-Agent": "{}-sdist".format(_MANIFEST["name"])}
52
+ )
53
+ with urllib.request.urlopen(req, timeout=_TIMEOUT) as resp:
54
+ return resp.read()
55
+ except (urllib.error.URLError, TimeoutError, OSError) as exc:
56
+ last = exc
57
+ if attempt < _RETRIES:
58
+ time.sleep(2 ** (attempt - 1))
59
+ raise RuntimeError(f"failed to download {url}: {last}")
60
+
61
+
62
+ def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
63
+ entry = _select_wheel()
64
+ filename = entry["filename"]
65
+ url = "{base}/{file}".format(base=_MANIFEST["base_url"].rstrip("/"), file=filename)
66
+ data = _fetch(url)
67
+
68
+ digest = hashlib.sha256(data).hexdigest()
69
+ if digest != entry["sha256"]:
70
+ raise RuntimeError(
71
+ f"sha256 mismatch for {filename}: expected {entry['sha256']}, got {digest}"
72
+ )
73
+
74
+ out = Path(wheel_directory) / filename
75
+ out.write_bytes(data)
76
+ return filename
77
+
78
+
79
+ def get_requires_for_build_wheel(config_settings=None):
80
+ return []
81
+
82
+
83
+ def build_sdist(sdist_directory, config_settings=None):
84
+ # The sdist is produced by `dbt-ci pypi pack --sdist`, not by this backend.
85
+ raise RuntimeError(
86
+ "this backend does not build sdists; use `dbt-ci pypi pack --sdist`"
87
+ )
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "dbt-core-experimental-parser",
3
+ "version": "2.0.0a5",
4
+ "base_url": "https://github.com/dbt-labs/dbt-core/releases/download/v2.0.0-alpha.5",
5
+ "wheels": {
6
+ "macosx_10_12_x86_64": {
7
+ "filename": "dbt_core_experimental_parser-2.0.0a5-py3-none-macosx_10_12_x86_64.whl",
8
+ "sha256": "58ec2859ac7176cd4813804754287eaf5aacdec690d25b8c3af2d266060d83fa"
9
+ },
10
+ "macosx_11_0_arm64": {
11
+ "filename": "dbt_core_experimental_parser-2.0.0a5-py3-none-macosx_11_0_arm64.whl",
12
+ "sha256": "2a7bc429f4e62b56c545ab02fee81b1a3b2f8ae5d2908ea5738b2cc10e86ad7c"
13
+ },
14
+ "manylinux_2_28_aarch64": {
15
+ "filename": "dbt_core_experimental_parser-2.0.0a5-py3-none-manylinux_2_28_aarch64.whl",
16
+ "sha256": "64d5ebe68d14f19e05060caebefcdafc9e3ab1860ec1d8dcc61f9097b272b65e"
17
+ },
18
+ "manylinux_2_28_x86_64": {
19
+ "filename": "dbt_core_experimental_parser-2.0.0a5-py3-none-manylinux_2_28_x86_64.whl",
20
+ "sha256": "ba7f18983c821c7da8aff9afb3610132813f01b188e281d3ef42bc1429c3cfcf"
21
+ },
22
+ "win_amd64": {
23
+ "filename": "dbt_core_experimental_parser-2.0.0a5-py3-none-win_amd64.whl",
24
+ "sha256": "c614fca08988ec0645576fba98287b312a6ddc961eb6340555b4fcfdbeda3fce"
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,9 @@
1
+ [build-system]
2
+ requires = ["packaging>=24"]
3
+ build-backend = "_dbt_sa_build"
4
+ backend-path = ["."]
5
+
6
+ [project]
7
+ name = "dbt-core-experimental-parser"
8
+ version = "2.0.0a5"
9
+ requires-python = ">=3.9"