Enhancements ✨
- 68 - Added new api methods for listing a dbt project's snapshots and operators.
- 33 - Added parameters to api methods to enable returning only resources from a specific dbt package. This makes it easier to filter out resources from installed packages like `dbt_utils`.
- 38 - Added links to the reference documentation in the error reporting when trying to reference an invalid attribute of a resource.
- 61 - Added a new attribute `resources` and method `iter_resource_type` to the `Manifest` object. These methods make selecting different types of resources within a dbt project much simpler.
- 57 - Added badges to the README showing the supported versions of `artefacts` various dependencies (dbt-core & Python).
- 43 - Improved the display of models when printing them interactively from the Python console.
- 17 - Added various deserializers that had previously been left as simple Python dictionaries.
Bugfixes 🐛
- 53 - Fixed `artefacts.__version__` not working correctly (🤞 , We'll have to confirm this is working once the package is deployed to PyPI).
- 10 - Fixed the `dbt-starter-project` test project using the wrong version of dbt-core.
- 23 - Fixed pylance not working with Poetry inside the dev environment.
- 71 - Fixed the README to now display all supported Python versions.
- 73 - Fixed some resources not correctly referencing data across all available artifacts that reference that resource.
Under the hood 🚧
- 75 - Added black, flake8, and mypy tools to the dev environment. We will incrementally fix the issues discovered by these tools over future releases.
- 19 - Added functionality to enable referencing the artifacts created by the [poffertjes_shop](https://github.com/tjwaterman99/poffertjes_shop) project in the doctests. This functionality will enable us to add better usage examples in the documentation.
- 65 - Added test coverage reports via [coveralls](https://coveralls.io/). We can now monitor changes in test coverage, as well as fail PRs that decrease test coverage.
- 56, 64 - Added tests to ensure every deserializer model is included in the reference documentation and is tested at least once.
- 55 - Split the `core` module into `deserializers`, `mixins`, and `loaders`. This refactor will make it easier to added new types of loaders, eg for pulling artifacts from dbt cloud.