An open API service indexing awesome lists of open source software.

https://github.com/dribia/dbt2pdf

Generate a PDF document from your DBT project's documentation.
https://github.com/dribia/dbt2pdf

cli-tool dbt docs documentation pdf-generation

Last synced: 3 months ago
JSON representation

Generate a PDF document from your DBT project's documentation.

Awesome Lists containing this project

README

          

Dbt2PDF
==========================






dbt2pdf


| | |
|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| CI/CD | [![Lint](https://github.com/dribia/dbt2pdf/actions/workflows/lint.yml/badge.svg)](https://github.com/dribia/dbt2pdf/actions/workflows/lint.yml) [![Tests](https://github.com/dribia/dbt2pdf/actions/workflows/test.yml/badge.svg)](https://github.com/dribia/dbt2pdf/actions/workflows/test.yml) [![Coverage Status](https://img.shields.io/codecov/c/github/dribia/dbt2pdf)](https://codecov.io/gh/dribia/dbt2pdf) [![ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://docs.astral.sh/ruff/) [![ty](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json)](https://docs.astral.sh/ty/) |
| Package | [![PyPI](https://img.shields.io/pypi/v/dbt2pdf)](https://pypi.org/project/dbt2pdf/) ![PyPI - Downloads](https://img.shields.io/pypi/dm/dbt2pdf) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dbt2pdf) [![GitHub](https://img.shields.io/github/license/dribia/dbt2pdf)](LICENSE) |
---

> [!CAUTION]
> This project is in early development stages and is not yet ready for production use.
> Our priority at the moment is that it works for our use case, so we are not yet focusing on
> covering all possible use cases.

---

**Documentation**: https://dribia.github.io/dbt2pdf

**Source Code**: https://github.com/dribia/dbt2pdf

---

## Installation

This project resides in the Python Package Index (PyPI), so it can easily be installed with `pip`:

```console
pip install dbt2pdf
```

## Usage

The `dbt2pdf` package provides a command-line interface (CLI) to convert DBT models to PDF files.

To view the avilable commands and full usage documentation, run:

```shell
dbt2pdf --help
```

To view a given command usage documentation, the help flag can be used:

```shell
dbt2pdf --help
```

### Examples
```shell
dbt2pdf generate \
--manifest-path ./manifest.json \
--title "DBT Documentation" \
--add-author john@example.com \
--add-author doe@example.com \
output.pdf
```

## Contributing

[uv](https://docs.astral.sh/uv/) is the best way to interact with this project, to install it,
follow the official [uv installation guide](https://docs.astral.sh/uv/getting-started/installation/).

With `uv` installed, one can install the project dependencies with:

```shell
uv sync
```

Then, to run the project unit tests:

```shell
make test-unit
```

To run the linters (`ruff` and `mypy`):

```shell
make lint
```

To apply all code formatting:

```shell
make format
```

## License

`dbt2pdf` is distributed under the terms of the
[MIT](https://opensource.org/license/mit) license.
Check the [LICENSE](./LICENSE) file for further details.