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.5.tar.gz (7.8 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.5-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dagster_hex-0.1.5.tar.gz
Algorithm Hash digest
SHA256 1a41689ba37c04b5dc4fbe9fa53d866f8cfc998cdde8149ffa7d1a581c080463
MD5 01252fb0ffe564405b59745745f9e61f
BLAKE2b-256 c1c2b749679143627cb859604aedca03beb57773fcd435524769ab311aa3510d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dagster_hex-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 15f46d9cc537bff3d3a298cab5ed2fd320f769278c9d65595e23b39929b2b47e
MD5 470d2dbeabe5302bb1832e7b99dd159f
BLAKE2b-256 5ad78ab5e9a011507e3d88fe7bd5fef2e921926b1205bf4f4d7d19d92ce3bb00

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