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.8.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

dagster_hex-0.1.8-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dagster_hex-0.1.8.tar.gz
Algorithm Hash digest
SHA256 aec0edd7e84ba03ab325daec9f0c750c44436409383c6d1446883d166f5545ad
MD5 c87b97f2bc463c9db6027fcde3e44611
BLAKE2b-256 fb77cd6797fd1c906c1c60fd8426eb14c43480ea33a1e773904687572999d471

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dagster_hex-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 987261a41c370430b89ef815f53da0109f718122eeae2f78419a5909fa9a1e72
MD5 4dd940d67a72b1159eb51603ebfff8e0
BLAKE2b-256 f00be268d40df55761ab04be59354a01b7667a7d5f998951b0adda5bd38107a7

See more details on using hashes here.

Supported by

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