Skip to main content

Deserialization for dbt artifacts

Project description

artefacts

PyPI version badge badge

badge Coverage Status

A deserialization library for dbt artifacts.

pip install artefacts

The artefacts.api module aims to provide simple, easy to use python objects for interacting with your dbt project. Here's an example that identifies models in your project that are missing tests or descriptions.

>>> import artefacts.api
>>> for model in artefacts.api.models():
...     if model.description is None or len(model.tests) == 0:
...         print(f"Incomplete model: {model.name}")

Usage

After installing artefacts, you first need to compile your dbt project.

dbt compile

You can then start using the api.

>>> import artefacts.api

Docs

Documentation for the project is available on the Github Pages site.

https://tjwaterman99.github.io/artefacts/

All methods exposed by the api are documented with usage examples in the API section.

https://tjwaterman99.github.io/artefacts/api.html

References for the objects returned by the api are available in the References section.

https://tjwaterman99.github.io/artefacts/reference.html

Development Setup

Open this repository in a Github Codespace. (Click the green Code button in the repository's Github page and select New Codespace).

Testing

poetry run pytest

By default, pytest will test against the dbt project located at ARTEFACTS_DBT_PROJECT_DIR. To test against a different dbt project, update that environment variable and build the project.

export ARTEFACTS_DBT_PROJECT_DIR=$PWD/dbt_projects/dbt-starter-project
poetry run dbt build --project-dir $ARTEFACTS_DBT_PROJECT_DIR
poetry run pytest

To run the doctests use the --doctest-modules flag. Note that the doctests are intended to pass only when using the poffertjes_shop project.

poetry run pytest --doctest-modules

Documentation site

Use sphinx-livereload to run the docs site on port 8000.

poetry run sphinx-autobuild docs/ docs/_build --watch artefacts

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

artefacts-1.2.0.tar.gz (16.5 kB view hashes)

Uploaded Source

Built Distribution

artefacts-1.2.0-py3-none-any.whl (17.2 kB view hashes)

Uploaded Python 3

Supported by

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