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
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.10.tar.gz
(8.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dagster_hex-0.1.10.tar.gz.
File metadata
- Download URL: dagster_hex-0.1.10.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe7f33f5339ceecb7a3fb88f1bbc35ece3181a4740f625a83f3ee6624aa7727d
|
|
| MD5 |
18a844e1f77ac283f7a57ed5f9dc2ecb
|
|
| BLAKE2b-256 |
e08ff82eb7456fb25eb278036d7e6cded8496d394edcaeb789c7cf685010c079
|
File details
Details for the file dagster_hex-0.1.10-py3-none-any.whl.
File metadata
- Download URL: dagster_hex-0.1.10-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78ae8b2eae1926b9483e21c65a8af0a5f666080cc80629dd067bf988d4786b2d
|
|
| MD5 |
bc58e20cae90b3672f8c3114340ec2f7
|
|
| BLAKE2b-256 |
dfed76ab17eb3f3ca923e34970dbb8e4211cef9abb02684764f9594a20ee51da
|