Skip to main content

Dagster integration with Anthropic

Project description

dagster-anthropic

A dagster module that provides integration with Anthropic.

Installation

The dagster_anthropic module is available as a PyPI package - install with your preferred python environment manager (We recommend uv).

source .venv/bin/activate
uv pip install dagster-anthropic

Example Usage

In addition to wrapping the Anthropic client (get_client/get_client_for_asset methods), this resource logs the usage of the Anthropic API to to the asset metadata (both number of calls, and tokens). This is achieved by wrapping the Anthropic.messages.create method.

Note that the usage will only be logged to the asset metadata from an Asset context - not from an Op context. Also note that only the synchronous API usage metadata will be automatically logged - not the streaming or batching API.

from dagster import AssetExecutionContext, Definitions, EnvVar, asset, define_asset_job
from dagster_anthropic import AnthropicResource


@asset(compute_kind="anthropic")
def anthropic_asset(context: AssetExecutionContext, anthropic: AnthropicResource):
    with anthropic.get_client(context) as client:
        response = client.messages.create(
            model="claude-3-5-sonnet-20241022",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": "Say this is a test"}
            ]
        )

defs = Definitions(
    assets=[anthropic_asset],
    resources={
        "anthropic": AnthropicResource(api_key=EnvVar("ANTHROPIC_API_KEY")),
    },
)

Development

The Makefile provides the tools required to test and lint your local installation

make test
make ruff
make check

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_anthropic-0.0.6.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

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

dagster_anthropic-0.0.6-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file dagster_anthropic-0.0.6.tar.gz.

File metadata

  • Download URL: dagster_anthropic-0.0.6.tar.gz
  • Upload date:
  • Size: 4.5 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

Hashes for dagster_anthropic-0.0.6.tar.gz
Algorithm Hash digest
SHA256 5c09aa362bac1620682c679f998bd4f1eb64733fee585df27c981dfbfcd24e89
MD5 313a2df28f54143efbe99287b0268b91
BLAKE2b-256 582e0654960fc99144b87d1c5e459cf521747987d3aa4010c30ce5096ddc79af

See more details on using hashes here.

File details

Details for the file dagster_anthropic-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: dagster_anthropic-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 5.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

Hashes for dagster_anthropic-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 39dfb225015647e7e36d48339969e7d1d3d321fc7794ddc5f531f446f269df65
MD5 e99b665b51731bf0571d0b4b048b3eef
BLAKE2b-256 24479d8d0a090a0c7833fae44c42fd16a7a20e726e5d644026e75990e904865d

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