Skip to main content
Version: 1.18.0

context_factory.py

great_expectations.data_context.data_context.context_factory.get_context

Signature

great_expectations.data_context.data_context.context_factory.get_context(
project_config: DataContextConfig | Mapping | None = None,
context_root_dir: None = None,
project_root_dir: None = None,
runtime_environment: dict | None = None,
cloud_base_url: None = None,
cloud_access_token: None = None,
cloud_organization_id: None = None,
cloud_workspace_id: None = None,
cloud_mode: Literal[False] | None = None,
user_agent_str: str | None = None,
mode: Literal['ephemeral'] = None
) → EphemeralDataContext

great_expectations.data_context.data_context.context_factory.get_context

Signature

great_expectations.data_context.data_context.context_factory.get_context(
project_config: DataContextConfig | Mapping | None = None,
context_root_dir: PathStr = None,
project_root_dir: None = None,
runtime_environment: dict | None = None,
cloud_base_url: None = None,
cloud_access_token: None = None,
cloud_organization_id: None = None,
cloud_workspace_id: None = None,
cloud_mode: Literal[False] | None = None,
user_agent_str: str | None = None
) → FileDataContext

great_expectations.data_context.data_context.context_factory.get_context

Signature

great_expectations.data_context.data_context.context_factory.get_context(
project_config: DataContextConfig | Mapping | None = None,
context_root_dir: None = None,
project_root_dir: PathStr = None,
runtime_environment: dict | None = None,
cloud_base_url: None = None,
cloud_access_token: None = None,
cloud_organization_id: None = None,
cloud_workspace_id: None = None,
cloud_mode: Literal[False] | None = None,
user_agent_str: str | None = None,
mode: Literal['file'] | None = None
) → FileDataContext

great_expectations.data_context.data_context.context_factory.get_context

Signature

great_expectations.data_context.data_context.context_factory.get_context(
project_config: DataContextConfig | Mapping | None = None,
context_root_dir: PathStr = None,
project_root_dir: None = None,
runtime_environment: dict | None = None,
cloud_base_url: None = None,
cloud_access_token: None = None,
cloud_organization_id: None = None,
cloud_workspace_id: None = None,
cloud_mode: Literal[False] | None = None,
user_agent_str: str | None = None,
mode: Literal['file'] | None = None
) → FileDataContext

great_expectations.data_context.data_context.context_factory.get_context

Signature

great_expectations.data_context.data_context.context_factory.get_context(
project_config: DataContextConfig | Mapping | None = None,
context_root_dir: None = None,
project_root_dir: None = None,
runtime_environment: dict | None = None,
cloud_base_url: str | None = None,
cloud_access_token: str | None = None,
cloud_organization_id: str | None = None,
cloud_workspace_id: str | None = None,
cloud_mode: Literal[True] = None,
user_agent_str: str | None = None,
mode: Literal['cloud'] | None = None
) → CloudDataContext

great_expectations.data_context.data_context.context_factory.get_context

Signature

great_expectations.data_context.data_context.context_factory.get_context(
project_config: DataContextConfig | Mapping | None = None,
context_root_dir: PathStr | None = None,
project_root_dir: PathStr | None = None,
runtime_environment: dict | None = None,
cloud_base_url: str | None = None,
cloud_access_token: str | None = None,
cloud_organization_id: str | None = None,
cloud_workspace_id: str | None = None,
cloud_mode: bool | None = None,
user_agent_str: str | None = None,
mode: None = None
) → EphemeralDataContext | FileDataContext | CloudDataContext

Method to return the appropriate Data Context depending on parameters and environment.

Usage:

import great_expectations as gx

my_context = gx.get_context(<insert_your_parameters>)

This method returns the appropriate Data Context based on which parameters you've passed and / or your environment configuration:

  • FileDataContext: Configuration stored in a file.

  • EphemeralDataContext: Configuration passed in at runtime.

  • CloudDataContext: Configuration stored in Great Expectations Cloud.

Read on for more details about each of the Data Context types:

FileDataContext: A Data Context configured via a yaml file. Returned by default if you have no cloud configuration set up and pass no parameters. If you pass context_root_dir, we will look for a great_expectations.yml configuration there. If not we will look at the following locations:

  • Path defined in a GX_HOME environment variable.

  • The current directory.

  • Parent directories of the current directory.

Relevant parameters

  • project_root_dir: Provide the project root where a GX project exists or will be scaffolded (contains the context root).

  • context_root_dir: Provide an alternative directory to look for GX config.

  • project_config: Optionally override the configuration on disk - only if context_root_dir is also provided.

  • runtime_environment: Optionally override specific configuration values.

EphemeralDataContext: A temporary, in-memory Data Context typically used in a pipeline. The default if you pass in only a project_config and have no cloud configuration set up.

Relevant parameters

  • project_config: Used to configure the Data Context.

  • runtime_environment: Optionally override specific configuration values.

CloudDataContext (shut down): GX Cloud has been shut down. Requesting a cloud-backed context no longer returns a CloudDataContext – it raises a GreatExpectationsError immediately. A request resolves to the (removed) cloud branch when mode="cloud" or cloud_mode=True is passed, when a complete set of cloud_* parameters is supplied, or when GX_CLOUD_* environment variables / a great_expectations.conf file provide a complete cloud configuration. The CloudDataContext class and the cloud_* parameters remain importable for source compatibility through the v1 line and are removed in great_expectations 2.0.

Parameters

NameDescription

project_config

In-memory configuration for Data Context.

context_root_dir (str or pathlib.Path)

Path to directory that contains great_expectations.yml file

project_root_dir (str or pathlib.Path)

Path to project root (contains context root with GX config)

runtime_environment

A dictionary of values can be passed to a DataContext when it is instantiated. These values will override both values from the config variables file and from environment variables.

cloud_base_url

url for GX Cloud endpoint.

cloud_access_token

access_token for GX Cloud account.

cloud_organization_id

org_id for GX Cloud account.

cloud_mode

whether GX resolves to the (shut-down) Cloud branch when mode is not specified (default None). If None, the cloud branch is resolved when a complete cloud configuration is discoverable; set to False to opt out of that auto-detection. GX Cloud is shut down, so a cloud-resolving call raises rather than building a context.

user_agent_str

Optional string, should be of format <PRODUCT> / <VERSION> <COMMENT>

mode

which mode to use. One of: ephemeral, file, cloud. mode="cloud" always resolves to the (shut-down) cloud branch and raises, regardless of cloud_mode; mode="ephemeral" and mode="file" always build that context type, even when GX_CLOUD_* configuration is present.

Returns

TypeDescription

EphemeralDataContext | FileDataContext | CloudDataContext

A Data Context. Either a FileDataContext or an EphemeralDataContext depending on environment and/or parameters.

Note: GX Cloud has been shut down. Requesting a cloud-backed context (mode="cloud", cloud_mode=True, a complete set of cloud_* parameters, or GX_CLOUD_* configuration) no longer returns a CloudDataContext; it raises immediately. The cloud branch is removed in great_expectations 2.0.

Raises

TypeDescription

GreatExpectationsError

A cloud-backed context was requested. GX Cloud is shut down, so this raises instead of building a context.