/great_expectations

Always know what to expect from your data.

Primary LanguagePythonApache License 2.0Apache-2.0

Python Versions PyPI PyPI Downloads Build Status pre-commit.ci Status codecov DOI Twitter Follow Slack Status Contributors Ruff

About GX Core

GX Core is the engine of the GX platform. It combines the collective wisdom of thousands of community members with a proven track record in data quality deployments worldwide, wrapped into a super-simple package for data teams.

Its powerful technical tools start with Expectations: expressive and extensible unit tests for your data. Expectations foster collaboration by giving teams a common language to express data quality tests in an intuitive way. You can automatically generate documentation for each set of validation results, making it easy for everyone to stay on the same page. This not only simplifies your data quality processes, but helps preserve your organization’s institutional knowledge about its data.

Learn more about how data teams are using GX Core in our featured case studies.

Integration support policy

GX Core supports Python 3.9 through 3.12. Experimental support for Python 3.13 and later can be enabled by setting a GX_PYTHON_EXPERIMENTAL environment variable when installing great_expectations.

For data sources and other integrations that GX supports, see GX integration support policy for additional information.

Get started

GX recommends deploying GX Core within a virtual environment. For more information about getting started with GX Core, see Introduction to GX Core.

  1. Run the following command in an empty base directory inside a Python virtual environment to install GX Core:

    pip install great_expectations
  2. Run the following command to import the great_expectations module and create a Data Context:

    import great_expectations as gx
    
    context = gx.get_context()

Get support from GX and the community

They are listed in the order in which GX is prioritizing the support issues:

  1. Issues and PRs in the GX GitHub repository
  2. Questions posted to the GX Core Discourse forum
  3. Questions posted to the GX Slack community channel

Contribute

We deeply value the contributions of our community. We're now accepting PRs for bug fixes.

To ensure the long-term quality of the GX Core codebase, we're not yet ready to accept feature contributions to the parts of the codebase that don't have clear APIs for extensions. We're actively working to increase the surface area for contributions. Thank you being a crucial part of GX's data quality platform!

Levels of contribution readiness

🟢 Ready. Have a clear and public API for extensions.

🟡 Partially ready. Case-by-case.

🔴 Not ready. Will accept contributions that fix existing bugs or workflows.

GX Component Readiness Notes
CredentialStore 🟢 Ready
BatchDefinition 🟡 Partially ready Formerly known as splitters
Action 🔴 Not ready
DataSource 🔴 Not ready Includes MetricProvider and ExecutionEngine
DataContext 🔴 Not ready Also known as Configuration Stores
DataAsset 🔴 Not ready
Expectation 🔴 Not ready
ValidationDefinition 🔴 Not ready
Checkpoint 🔴 Not ready
CustomExpectations 🔴 Not ready
Data Docs 🔴 Not ready Also known as Renderers

Code of conduct

Everyone interacting in GX Core project codebases, Discourse forums, Slack channels, and email communications is expected to adhere to the GX Community Code of Conduct.