dbtective 0.1.27__py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

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.
Binary file
@@ -0,0 +1,190 @@
1
+ Metadata-Version: 2.4
2
+ Name: dbtective
3
+ Version: 0.1.27
4
+ Classifier: Development Status :: 2 - Pre-Alpha
5
+ Classifier: Environment :: Console
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: Operating System :: OS Independent
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Programming Language :: Rust
10
+ Classifier: Topic :: Software Development :: Quality Assurance
11
+ License-File: LICENSE
12
+ Summary: dbtective is a Rust-powered 'detective' for `dbt metadata` best practices.
13
+ Keywords: dbt,linter,data,metadata,analytics,cli
14
+ Home-Page: https://github.com/feliblo/dbtective
15
+ Author-email: feliblo <hi@feliblo.dev>
16
+ Requires-Python: >=3.8
17
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
18
+ Project-URL: Repository, https://github.com/feliblo/dbtective
19
+ Project-URL: Changelog, https://github.com/feliblo/dbtective/blob/master/CHANGELOG.md
20
+ Project-URL: Releases, https://github.com/feliblo/dbtective/releases
21
+ Project-URL: Homepage, https://feliblo.github.io/dbtective/
22
+
23
+ # 🕵️ dbtective
24
+
25
+ dbtective is a Rust-powered 'detective' for `dbt metadata` best practices. As your dbt project grows, keeping metadata consistent and high-quality can become a real challenge.
26
+
27
+
28
+ ![CLI demo](/docs/static/demo.gif)
29
+
30
+
31
+ Explore the [full documentation](https://feliblo.github.io/dbtective/docs) or the [possible checks](https://feliblo.github.io/dbtective/docs/checks).
32
+
33
+ > [!WARNING]
34
+ > dbtective is currently in very early stages.
35
+ > Issues and commits are welcome, but don't rely on us yet!
36
+
37
+ **dbtective** makes it easy to spot and fix common issues, examples:
38
+
39
+ - **Missing descriptions:** Does every model and seed have a description?
40
+ - **Column types:** Are all columns explicitly typed?
41
+ - **Ownership:** Do all sources have an owner?
42
+ - **Naming conventions:** Are all marts following your team's naming standards?
43
+
44
+ We detect and enforce these rules in your `cli`, `prek`/`pre-commit` and `CI/CD` pipeline, so fast you will barely notice🕵️.
45
+
46
+ ## Installation
47
+
48
+ <details>
49
+ <summary>Pip (pypi)</summary>
50
+
51
+ ```bash
52
+ pip install dbtective
53
+ ```
54
+
55
+ </details>
56
+
57
+ <details>
58
+ <summary> uv </summary>
59
+
60
+ Install as a dev dependency:
61
+
62
+ ```bash
63
+ uv add dbtective --dev
64
+ ```
65
+
66
+ </details>
67
+
68
+ <details>
69
+ <summary>Homebrew</summary>
70
+
71
+ ```bash
72
+ brew install feliblo/tap/dbtective
73
+ ```
74
+
75
+ </details>
76
+
77
+ <details>
78
+ <summary>GitHub Actions</summary>
79
+
80
+ Run dbtective as part of your CI/CD pipeline. See the [GitHub Actions documentation](https://feliblo.github.io/dbtective/docs/github-actions) for more details.
81
+
82
+ ```yaml
83
+ - uses: feliblo/dbtective@v0.1.27
84
+ with:
85
+ config-file: "dbtective.yml"
86
+ entry-point: "."
87
+ only-manifest: "true"
88
+ verbose: "false"
89
+ ```
90
+
91
+ </details>
92
+
93
+ <details>
94
+ <summary>prek/pre-commit</summary>
95
+
96
+ Prerequisite: `dbtective` is installed via one of the methods above.
97
+
98
+ We (currently) recommend using the `--only-manifest` flag with prek/pre-commit to avoid issues caused by `catalog.json` mismatches. For more details, see the explanation in the [checks documentation](https://feliblo.github.io/dbtective/docs/).
99
+
100
+ Add the following to your `.pre-commit-config.yaml`.
101
+
102
+ ```yaml
103
+ repos:
104
+ - repo: https://github.com/feliblo/dbtective
105
+ rev: v0.1.27
106
+ hooks:
107
+ - id: dbtective-run
108
+ args: [--only-manifest]
109
+ ```
110
+
111
+ And run
112
+
113
+ ```bash
114
+ prek install
115
+ prek run --all-files
116
+ # or with pre-commit
117
+ pre-commit install
118
+ pre-commit run --all-files
119
+
120
+ ```
121
+
122
+ </details>
123
+
124
+ <details>
125
+ <summary>Shell installer (macOS/Linux)</summary>
126
+
127
+ ```bash
128
+ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/feliblo/dbtective/releases/latest/download/dbtective-installer.sh | sh
129
+ ```
130
+
131
+ </details>
132
+
133
+ <details>
134
+ <summary>PowerShell installer (Windows)</summary>
135
+
136
+ ```powershell
137
+ irm https://github.com/feliblo/dbtective/releases/latest/download/dbtective-installer.ps1 | iex
138
+ ```
139
+
140
+ </details>
141
+
142
+ <details>
143
+ <summary>Binary download</summary>
144
+
145
+ Pre-built binaries for Linux, macOS, and Windows are available on the [releases page](https://github.com/feliblo/dbtective/releases).
146
+ </details>
147
+
148
+ ## Quickstart
149
+
150
+ All possible checks can be found in the [checks documentation](https://feliblo.github.io/dbtective/docs/). Information about customizing `dbtective` is shown at the [config documentation](https://feliblo.github.io/dbtective/docs/config)
151
+
152
+ 1. Create a `dbtective.yml` config file in the root of your dbt project by running:
153
+
154
+ More about the `init` (it also supports `pyproject.toml` or `dbtective.toml`) command is available in the [init documentation](https://feliblo.github.io/dbtective/docs/cli#dbtective-init).
155
+
156
+ ```bash
157
+ dbtective init
158
+ ```
159
+
160
+ Inspect the contents of the generated `dbtective.yml` file and modify it to fit your project's needs.
161
+
162
+ 2. (Optional) Generate the dbt manifest and catalog files if you haven't done so already. Most dbt commands automatically generate the `manifest.json`, but if you want to ensure both files are up to date, run:
163
+
164
+ ```bash
165
+ dbt compile
166
+ dbt docs generate
167
+ ```
168
+
169
+ 3. Run `dbtective` in the root of your current directory or specify an entry point if your dbt_project is not located in the root/current drectory.
170
+
171
+ ```bash
172
+ dbtective run
173
+ dbtective run --entry-point "my_dbt_project"
174
+ ```
175
+
176
+ 4. Review the output and fix any issues found.
177
+
178
+ 5. (Optional) Integrate `dbtective` into your CI/CD pipeline or pre-commit hooks to automate checks on every commit and/or pull request.
179
+
180
+ ## Contributing
181
+
182
+ We welcome contributions! Whether you're fixing bugs, adding features, or improving documentation, your help makes dbtective better for everyone.
183
+
184
+ For detailed contributing guidelines, development setup, and coding standards, please see the [contributing documentation](https://feliblo.github.io/dbtective/docs/).
185
+
186
+
187
+ # Acknowledgements
188
+
189
+ This project is heavily inspired dbt [dbt-bouncer](https://github.com/godatadriven/dbt-bouncer). It tries to improve certain aspects of the amazing work by [pgoslatara](https://github.com/pgoslatara), while giving me an opportunity to improve my Rust. More about the aspects we try to improve is available in our [FAQ](https://feliblo.github.io/dbtective/docs/faq).
190
+
@@ -0,0 +1,5 @@
1
+ dbtective-0.1.27.data/scripts/dbtective,sha256=u6LDgQ-ZoEaardvTCYRCOW7CGd2yKPUuYENxL9xHBLg,5907216
2
+ dbtective-0.1.27.dist-info/METADATA,sha256=t28rpHrkm61HUUyxQ_tWbMl86YCdTUg1nqusv9UaTxo,5988
3
+ dbtective-0.1.27.dist-info/WHEEL,sha256=ZyS98E7f-ucQDEf8830Uq5iHuzCPZGT5WSnZP3ULCfU,143
4
+ dbtective-0.1.27.dist-info/licenses/LICENSE,sha256=O7dTnnwWFrBYNrXOHBb5r35k5FuFVKVjbpk_Pm3lncg,1067
5
+ dbtective-0.1.27.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: maturin (1.10.2)
3
+ Root-Is-Purelib: false
4
+ Tag: py3-none-manylinux_2_17_aarch64
5
+ Tag: py3-none-manylinux2014_aarch64
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Felix Blom
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.