Skip to main content

Dagster integration with Hex

Project description

Dagster Hex Integration

Installation

To install the library, use pip alongside your existing Dagster environment.

pip install dagster-hex

Usage

Create a HexResource specifying the api_key, then, use that resource in our assets.

import os
import dagster as dg

from dagster_hex.resources import HexResource


@dg.asset
def custom_hex_asset(
    context: dg.AssetExecutionContext,
    hex: HexResource
) -> dg.MaterializeResult:
    project_id = "abcdefgh-1234-abcd-1234-abcdefghijkl"
    context.log.info(f"Running Hex project {project_id}")
    response = hex.run_project(
        project_id,
        inputs={
            "message": "Hello, World!"
        }
    )
    return dg.MaterializeResult(
        metadata={
            "data": response.get("data")
        }
    )


defs = Definitions(
    assets=[custom_hex_asset],
    resources={
        "hex": HexResource(
            api_key=dg.EnvVar("HEX_API_KEY")
        )
    }
)

Legacy

Ops

The hex_project_op will call the Hex API to run a project until it completes.

import os
import dagster as dg

from dagster_hex.ops import hex_project_op
from dagster_hex.resources import hex_resource


hex_resource = HexResource(
    api_key=dg.EnvVar("HEX_API_KEY")
)

run_hex_op = hex_project_op.configured({
    "name": "run_hex_project_op",
    "project_id": "abcdefgh-1234-abcd-1234-abcdefghijkl"
})

@job(resource_defs={"hex": my_resource})
def hex_job():
    run_hex_op()
Asset Materializations

Ops will return an AssetMaterialization with the following keys:

run_url
run_status_url
trace_id
run_id
elapsed_time
notifications

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

dagster_hex-0.1.6.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dagster_hex-0.1.6-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file dagster_hex-0.1.6.tar.gz.

File metadata

  • Download URL: dagster_hex-0.1.6.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.3

File hashes

Hashes for dagster_hex-0.1.6.tar.gz
Algorithm Hash digest
SHA256 5b762da3b1427948286ca45278c15edf83f026b2fb287f3e8dfc5cfb3279c408
MD5 02388d7708961f4abe51f680c0fe92ec
BLAKE2b-256 8a6f2f224cc5dee42bd7603b0a3b67319deffdd725df4a35356d0d7863a59513

See more details on using hashes here.

File details

Details for the file dagster_hex-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for dagster_hex-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2d68cb722546e8cfba155fdba26a1fd93433d2a243e07db1a81f082bc32c9263
MD5 34f6dd4e00f7258858f3f47a88a0dcf3
BLAKE2b-256 bd015c6eeaa3e3840074e6d86d8f58d2c9b15ad6c96af49e0a06d6eb455b6cfd

See more details on using hashes here.

Supported by

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