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.9.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.9-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dagster_hex-0.1.9.tar.gz
Algorithm Hash digest
SHA256 3db3e0eb5b125654fb4741b2e51288ca004baa446264998e23afb5a48be92a4f
MD5 2d074a52411f415ade55ecc645d59652
BLAKE2b-256 ffce31710ee3931e323c8f722e73e1974644b500569256b5ab10b0d54909dac6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dagster_hex-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3c3df3d6b736b19322de34be222860b340a06832bc4b999fa2e68326d6e1611b
MD5 5d8d7440e8a241e82d955c4fc810af50
BLAKE2b-256 aa5cf1c44fcee129607719db0c5da63b3d145d474a67ae14e42f7b7b493729e6

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