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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file artefacts-1.2.0.tar.gz.

File metadata

  • Download URL: artefacts-1.2.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Linux/5.4.0-1067-azure

File hashes

Hashes for artefacts-1.2.0.tar.gz
Algorithm Hash digest
SHA256 21e1556b1ae9ebd82aa453976a129127123407cf04f47900e1f44d461add0462
MD5 01fd94547c8a327cc8d5e84550a2613b
BLAKE2b-256 6f7917d59eb2444ba71ba1517c1ab1e7a6f05f19fc90c584f870035cd11d9025

See more details on using hashes here.

File details

Details for the file artefacts-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: artefacts-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Linux/5.4.0-1067-azure

File hashes

Hashes for artefacts-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 31dc30a101030c6ede19cae1b330500894986bef53c6e15e87b49142b95cbc3d
MD5 0ee6518cbc04b1e5011b014e55db1b2c
BLAKE2b-256 4445d4505fd80fc613833ccd2949b3bdba55bbe5c56c91af2c1d833039fa8ed9

See more details on using hashes here.

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