dbtfetch
A neofetch-style system information tool for dbt projects.
.:===-.. .:===-. my_dbt_project@dbt
.========-.. .:========: ------------------
:===========-. .-============. Project: my_dbt_project
.:=============-:. .-===========. Version: 1.0.0
.:================..=========-. Profile: my_profile
.:==========================. dbt Version: 1.6.0
:=======================-
.:=====================-. Models: 45
=========. .-========. Tests: 23
.=========:..-========. Macros: 8
.:======================. Snapshots: 2
:========================. Seeds: 3
.-==========================. Packages: 5
.-=========:..================.
.-===========:. .:-=============. SQL Lines: 3,247
:===========:. ..============.
.-=======:. ..-=======. Git Branch: main
..-==.. .:=-.. Last Commit: 2 days ago
Features
- 🎨 Beautiful ASCII art display of your dbt project statistics
- 📊 Project metrics including models, tests, macros, snapshots, and seeds
- 📦 Package dependency counting
- 🔢 Total SQL lines of code
- 🌿 Git branch and last commit information
- 🎯 Automatic project detection (searches current and parent directories)
- 🛠️ Support for custom project directory paths
Installation
Using pipx (recommended)
pipx install dbtfetch
Using pip
pip install dbtfetch
Usage
Analyze current directory
dbtfetch
Analyze a specific dbt project
dbtfetch /path/to/your/dbt/project
Show help
dbtfetch --help
Example Output
.:===-.. .:===-. my_dbt_project@dbt
.========-.. .:========: ------------------
:===========-. .-============. Project: my_dbt_project
.:=============-:. .-===========. Version: 1.0.0
.:================..=========-. Profile: my_profile
.:==========================. dbt Version: 1.6.0
:=======================-
.:=====================-. Models: 45
=========. .-========. Tests: 23
.=========:..-========. Macros: 8
.:======================. Snapshots: 2
:========================. Seeds: 3
.-==========================. Packages: 5
.-=========:..================.
.-===========:. .:-=============. SQL Lines: 3,247
:===========:. ..============.
.-=======:. ..-=======. Git Branch: main
..-==.. .:=-.. Last Commit: 2 days ago
Requirements
- Python 3.8 or higher
- PyYAML
- dbt installed (optional, for version detection)
- Git (optional, for repository information)
Development
Clone the repository
git clone https://github.com/yourusername/dbtfetch.git
cd dbtfetch
Install in development mode
pip install -e .
License
MIT License - see LICENSE file for details
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Acknowledgments
Release files for dbtfetch 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dbtfetch-1.0.1.tar.gz | 7.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dbtfetch-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:15.1 kB
Release files / dbtfetch-1.0.1.tar.gz
| Download URL | dbtfetch-1.0.1.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d263dfd0e1efe92720f1a9239368196fcf811c8a127b3fd639a6a4f90583b51
|
|
BLAKE2b-256 checksum How to use checksums |
aaa89324e63d7760929c03edd7070c08bc57134ed2833729cd0530b5f6bbe786
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|
Release files / dbtfetch-1.0.1-py3-none-any.whl
| Download URL | dbtfetch-1.0.1-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f154fef351c6099786455587f185658650802e14a95d1e75811f9715e3cf44cb
|
|
BLAKE2b-256 checksum How to use checksums |
bd850589dab757701ddb2b9be4138596785ac8673e3fcff296d9883c6a0d817a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|