Skip to main content

An interactive catalog for dbt_

Project description

tāngata_local

“Hutia te rito o te harakeke
Kei whea to kōmako e kō?
Ki mai ki ahau
He aha te mea nui o te Ao?
Maku e kī atu,
he tāngata, he tāngata, he tāngata..."

If the heart of the harakeke (flax plant) was removed,
where would the bellbird sing?
If I was asked what was the most important thing in the world
I would be compelled to reply,
it is people, it is people, it is people.
Ngaroto

In te ao Māori (the Māori world view), Tāngata (TAHNG-uh-tuh) describes something much larger than an addressed group of people: it describes whakapapa, the surrounding network of ancestors and descendants we are connected to.
With this work we intend to follow these principles to put our people first: not just the data & analytics engineers, but those around our workplaces that know the deep details of how our businesses actually run.
These people are the lifeblood of what we do - and to keep moving forward, we need their context far more than ever.

Current Functionality

Tāngata is an editable Data Catalog, describing a dbt_ repository.
It interfaces with dbt_ itself, git, and other sources to compile metadata in one place; and allows a non-technical user to understand what's been built, and contribute metadata to the sources & models within.
With descriptive metadata, edit history, lineage, and SQL code all available in one place, this should become the default search engine of an organisation's data users; and with specific attention applied to runtime speed will be an enjoyable place to work regardless of the technical background of any user.

The complexity of Git and engineering practise in general can be difficult to approach. With Tāngata, this sits behind the scenes - giving comfort to those who are important, while maintaining a strong, secure foundation for our most critical metadata.

Future Functionality

This project started as a graphical SQL interface - and still contains some of the pieces behind the scenes.
While the pivot to editable catalog has taken over for some time, the dream is still bigger: what if a non-technical user could design a straightforward dbt_ model using just drag and drop?
This approach may take some time, but not out of reach - SQL is structured by definition, it just takes the right interface.

Installation Instructions

pip install tangata

To Serve Tāngata:

  • Navigate to your dbt project folder
  • Run ./tangata [--skipcompile]
  • Tangata will be served at http://localhost:8080

Where's the React code?

This project was initially created as a npm-backed React app. The Javascript/React code for the front end is still in that repository as Python only needs the static output; the front end portion will be moved to a standalone repo at some point.

I have an idea!

Please log all feedback in the GitHub Issues - your feedback is crucial to make this a useful tool for the community.

#Change Log

0.2.0

  • Added config option to sort .yml files alphabetically
  • Fixed model ordering issue in db tree view

0.1.19

  • Added left click context menus to tests & promotions, with tooltips
  • Added Promoted Models to catalog landing page.

0.1.18

  • Fixed issue #45: initial run was breaking on pip upgrade, where new config options were not found in tangata_config.json
  • Resolved #49: now has config for +tags in dbt_project.yml. Behaviour respects existing tags where they exist, but all new keys will use configured choice.
  • Resolved #48: now uses preserve_quotes for all ruamel.yaml calls.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tangata-0.2.1.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tangata-0.2.1-py3-none-any.whl (17.7 MB view details)

Uploaded Python 3

File details

Details for the file tangata-0.2.1.tar.gz.

File metadata

  • Download URL: tangata-0.2.1.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.6.7

File hashes

Hashes for tangata-0.2.1.tar.gz
Algorithm Hash digest
SHA256 50e7ef0e8fad035c02fef069bf20f9b6e80b59f8e69bd1b3900c4b1dde785316
MD5 2003fa1a849151dbb13f20266f3d8de2
BLAKE2b-256 6c1d78ca548265bf1b23b92e438ae0186bdcb5e39a0b37efbe63958cea24c58f

See more details on using hashes here.

File details

Details for the file tangata-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: tangata-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 17.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.6.7

File hashes

Hashes for tangata-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 028767b56ff5add7885045780be45744a39aba79bdc25d81b129f42aba5319ae
MD5 c1b9530da2176d08381d9e47e5caee2f
BLAKE2b-256 3898bf96014c34504e6f69320e0c4f30794596305e1f7f50a138803063940a1b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page