Skip to main content

Common utilities and objects for building Dagster pipelines

Project description

Dagster Utils

A collection of common utilities used by the Monster team to develop Dagster pipelines. Each subsection has its own readme explaining its contents.

How to use this library

This library is hosted on PyPI and will work with most Python package managers out of the box. You can reference this package as broad_dagster_utils, e.g. for Poetry:

# pyproject.toml
[tool.poetry.dependencies]
broad_dagster_utils = "^0.1.0"

Note that, despite this name, you'll need to import the package as dagster_utils, e.g.:

from dagster_utils.typing import DagsterConfigDict

Local Testing

For development against a local checkout in another project (i.e., a project with a dependency on dagster_utils), make the following adjustment to the project's pyproject.toml:

broad-dagster-utils = {path = "<relative path to your dagster_utils checkout>", develop = true}

Versioning

This library is versioned semantically.

  • Major versions (e.g. 1.4.6 -> 2.0.0) represent significant shifts in functionality and may alter the call signatures of core features of the library. You may need to follow a migration plan to upgrade to a new major version.
  • Minor versions (e.g. 1.4.6 -> 1.5.0) represent the removal or alteration of specific library features. They will not change core functionality, but the changelog should be reviewed before upgrading to avoid unexpected feature removals.
  • Patch versions (e.g. 1.4.6 -> 1.4.7) represent internal improvements or new features that do not alter existing functionality or call signatures. They may introduce deprecations, but they will never remove deprecated functions. You can always safely upgrade to a new patch version.
  • Prerelease versions (e.g. 1.4.6 -> 1.4.7-alpha.1) represent changes that have not yet been made part of an official release. See "Releasing a new version" below for more info.

Describing changes

When describing changes made in a commit message, we want to be more thorough than usual, since bugs in dependencies are harder to diagnose. Break down the changes into these categories (omitting any categories that don't apply):

  • New features are changes that add functionality, such as new optional arguments for existing functions or entire new classes/functions. These changes should never require that existing code be changed.
  • Bugfixes are fairly self-explanatory - bugs that were identified and addressed. If fixing a bug required removing or altering existing features, make sure to list those under "breaking changes" as well.
  • Deprecations are features that are still usable, but have been marked as deprecated (and thus trigger a warning when used). They are planned to be removed in a future version. Always try to deprecate functionality before it's removed.
  • Breaking changes are changes that may break existing code using this library, such as renaming, removing, or reordering arguments to a function, deleting functionality (including deprecated functionality), or otherwise altering the library in ways that users will need to account for. Users should be able to use this section as a complete guide to upgrading their applications to be compatible with the new version.

Releasing a new version

To release a new version, determine what type of version increase your changes constitute (see the above guide) and update the version listed in pyproject.toml accordingly. Poetry has several version bump commands to help with this. You can update the version in a dedicated PR or as part of another change. When a PR that updates the version number lands on master, an action will run to create a new tag for that version number, followed by cutting a Git release and publishing the new version to PyPI.

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

broad_dagster_utils-0.6.7.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

broad_dagster_utils-0.6.7-py3-none-any.whl (37.2 kB view details)

Uploaded Python 3

File details

Details for the file broad_dagster_utils-0.6.7.tar.gz.

File metadata

  • Download URL: broad_dagster_utils-0.6.7.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.9.7 Linux/5.8.0-1042-azure

File hashes

Hashes for broad_dagster_utils-0.6.7.tar.gz
Algorithm Hash digest
SHA256 fa751863ad9f835a5d88c98afd901f56b173df092c09ab4c47dc2fabfe1c99db
MD5 d02f36232947a3d773df453abd9bf102
BLAKE2b-256 02723dc5b21bc1cedecb6f37c2192486b4cacfd956c5bdb19bc355caec319745

See more details on using hashes here.

File details

Details for the file broad_dagster_utils-0.6.7-py3-none-any.whl.

File metadata

File hashes

Hashes for broad_dagster_utils-0.6.7-py3-none-any.whl
Algorithm Hash digest
SHA256 9833f27811e317d38eac90b6b59c7ac92f1147eaa52e8139aa45002d3493e276
MD5 ec8d4dfa18508e2a2a51b88b0e9bf419
BLAKE2b-256 89d7ee1381b3aa89bf2e90a1562dd86f3c1033196bb0e868fa8738545af59932

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