GraphQL (dagster-graphql)

Python Client

class dagster_graphql.DagsterGraphQLClient(hostname, port_number=None, transport=None, use_https=False)[source]

Official Dagster Python Client for GraphQL.

Utilizes the gql library to dispatch queries over HTTP to a remote Dagster GraphQL Server

As of now, all operations on this client are synchronous.

Intended usage:

client = DagsterGraphQLClient("localhost", port_number=3000)
status = client.get_run_status(**SOME_RUN_ID**)
Parameters:
  • hostname (str) – Hostname for the Dagster GraphQL API, like localhost or dagit.dagster.YOUR_ORG_HERE.

  • port_number (Optional[int], optional) – Optional port number to connect to on the host. Defaults to None.

  • transport (Optional[Transport], optional) – A custom transport to use to connect to the GraphQL API with (e.g. for custom auth). Defaults to None.

  • use_https (bool, optional) – Whether to use https in the URL connection string for the GraphQL API. Defaults to False.

Raises:

ConnectionError – if the client cannot connect to the host.

get_run_status(run_id)[source]

Get the status of a given Pipeline Run.

Parameters:

run_id (str) – run id of the requested pipeline run.

Raises:
Returns:

returns a status Enum describing the state of the requested pipeline run

Return type:

DagsterRunStatus

reload_repository_location(repository_location_name)[source]

Reloads a Dagster Repository Location, which reloads all repositories in that repository location.

This is useful in a variety of contexts, including refreshing Dagit without restarting the server.

Parameters:

repository_location_name (str) – The name of the repository location

Returns:

Object with information about the result of the reload request

Return type:

ReloadRepositoryLocationInfo

shutdown_repository_location(repository_location_name)[source]

Shuts down the server that is serving metadata for the provided repository location.

This is primarily useful when you want the server to be restarted by the compute environment in which it is running (for example, in Kubernetes, the pod in which the server is running will automatically restart when the server is shut down, and the repository metadata will be reloaded)

Parameters:

repository_location_name (str) – The name of the repository location

Returns:

Object with information about the result of the reload request

Return type:

ShutdownRepositoryLocationInfo

submit_job_execution(job_name, repository_location_name=None, repository_name=None, run_config=None, tags=None, op_selection=None)[source]

Submits a job with attached configuration for execution.

Parameters:
  • job_name (str) – The job’s name

  • repository_location_name (Optional[str]) – The name of the repository location where the job is located. If omitted, the client will try to infer the repository location from the available options on the Dagster deployment. Defaults to None.

  • repository_name (Optional[str]) – The name of the repository where the job is located. If omitted, the client will try to infer the repository from the available options on the Dagster deployment. Defaults to None.

  • run_config (Optional[Dict[str, Any]]) – This is the run config to execute the job with. Note that runConfigData is any-typed in the GraphQL type system. This type is used when passing in an arbitrary object for run config. However, it must conform to the constraints of the config schema for this job. If it does not, the client will throw a DagsterGraphQLClientError with a message of JobConfigValidationInvalid. Defaults to None.

  • tags (Optional[Dict[str, Any]]) – A set of tags to add to the job execution.

Raises:
  • DagsterGraphQLClientError("InvalidStepError", invalid_step_key) – the job has an invalid step

  • DagsterGraphQLClientError("InvalidOutputError", body=error_object) – some solid has an invalid output within the job. The error_object is of type dagster_graphql.InvalidOutputErrorInfo.

  • DagsterGraphQLClientError("RunConflict", message) – a DagsterRunConflict occured during execution. This indicates that a conflicting job run already exists in run storage.

  • DagsterGraphQLClientError("PipelineConfigurationInvalid", invalid_step_key) – the run_config is not in the expected format for the job

  • DagsterGraphQLClientError("JobNotFoundError", message) – the requested job does not exist

  • DagsterGraphQLClientError("PythonError", message) – an internal framework error occurred

Returns:

run id of the submitted pipeline run

Return type:

str

exception dagster_graphql.DagsterGraphQLClientError(*args, body=None)[source]
class dagster_graphql.InvalidOutputErrorInfo(step_key, invalid_output_name)[source]

This class gives information about an InvalidOutputError from submitting a pipeline for execution from GraphQL.

Parameters:
  • step_key (str) – key of the step that failed

  • invalid_output_name (str) – the name of the invalid output from the given step

class dagster_graphql.ReloadRepositoryLocationInfo(status, failure_type=None, message=None)[source]

This class gives information about the result of reloading a Dagster repository location with a GraphQL mutation.

Parameters:
  • status (ReloadRepositoryLocationStatus) – The status of the reload repository location mutation

  • failure_type – (Optional[str], optional): the failure type if status == ReloadRepositoryLocationStatus.FAILURE. Can be one of ReloadNotSupported, RepositoryLocationNotFound, or RepositoryLocationLoadFailure. Defaults to None.

  • message (Optional[str], optional) – the failure message/reason if status == ReloadRepositoryLocationStatus.FAILURE. Defaults to None.

class dagster_graphql.ReloadRepositoryLocationStatus(value)[source]

This enum describes the status of a GraphQL mutation to reload a Dagster repository location.

Parameters:

Enum (str) – can be either ReloadRepositoryLocationStatus.SUCCESS or ReloadRepositoryLocationStatus.FAILURE.