{"id":14609,"library":"great-expectations-experimental","title":"Great Expectations Experimental Builds","description":"`great-expectations-experimental` is a daily build of the Great Expectations library, a robust tool for data quality, validation, and documentation. Unlike the stable `great_expectations` package, this package provides access to the latest, potentially unstable, features and bug fixes directly from the main development branch. Its versioning is date-based, reflecting its continuous integration nature, and it is primarily intended for early testing and development, not for production environments.","status":"active","version":"0.1.20240917055","language":"en","source_language":"en","source_url":"https://github.com/great-expectations/great_expectations","tags":["data quality","data validation","experimental","daily build"],"install":[{"cmd":"pip install great-expectations-experimental","lang":"bash","label":"Install latest experimental build"}],"dependencies":[],"imports":[{"symbol":"great_expectations","correct":"import great_expectations as gx"},{"note":"The experimental package exposes its modules under the main 'great_expectations' namespace.","wrong":"from great_expectations_experimental.data_context import DataContext","symbol":"DataContext","correct":"from great_expectations.data_context import DataContext"}],"quickstart":{"code":"import great_expectations as gx\nimport pandas as pd\nimport os\n\n# Create a sample DataFrame\ndf = pd.DataFrame({\n    \"col1\": [1, 2, 3, 4, 5],\n    \"col2\": [\"A\", \"B\", \"C\", \"D\", \"E\"]\n})\n\n# Initialize an ephemeral DataContext\n# This creates a temporary context in memory without modifying the filesystem.\ncontext = gx.get_context(cloud_mode=False)\n\n# Add an In-Memory Data Asset\n# The name 'my_experimental_dataframe' is used to refer to this data within GX.\nmy_asset = context.add_pandas_dataframe_asset(\n    dataframe=df, name=\"my_experimental_dataframe\"\n)\n\n# Build a batch request for validation\nbatch_request = my_asset.build_batch_request()\n\n# Get a Validator for the specified batch\nvalidator = context.get_validator(batch_request=batch_request)\n\n# Add an expectation: expect values in 'col1' to be between 1 and 5 (inclusive)\nvalidator.expect_column_values_to_be_between(column=\"col1\", min_value=1, max_value=5)\n\n# Add another expectation: expect 'col2' to contain distinct values from a set\nvalidator.expect_column_distinct_values_to_contain_set(column=\"col2\", value_set=[\"A\", \"C\", \"E\"])\n\n# Validate the data against the defined expectations\nresults = validator.validate()\n\nprint(\"\\nValidation Results:\")\nprint(f\"Overall Validation Success: {results.success}\")\n\n# You can inspect individual expectation results\nfor result in results.results:\n    print(f\"  Expectation: {result.expectation_config.expectation_type}, Success: {result.success}\")\n","lang":"python","description":"This quickstart demonstrates how to set up an ephemeral Great Expectations DataContext using the `great-expectations-experimental` package, define a Pandas DataFrame as a data asset, and then apply and validate a couple of basic expectations. An ephemeral context is ideal for testing with this experimental package as it doesn't create persistent files."},"warnings":[{"fix":"Avoid using this package for stable development or production environments. Always pin specific versions if testing and be prepared for frequent breaking changes.","message":"APIs and internal implementations within `great-expectations-experimental` can change daily without notice. It is built directly from the `great_expectations` main branch.","severity":"breaking","affected_versions":"All versions (0.1.YYYYMMDDHHMMSS)"},{"fix":"For production or stable development, use the main `great_expectations` package (`pip install great-expectations`) which follows semantic versioning and has stable releases.","message":"This package is explicitly for development and testing new features; it is not intended for production use. It may contain incomplete features, unannounced bugs, or performance issues.","severity":"gotcha","affected_versions":"All versions (0.1.YYYYMMDDHHMMSS)"},{"fix":"When testing, always use explicit version pinning (`pip install great-expectations-experimental==0.1.20240917055`) rather than relying on `pip install --upgrade` or flexible version specifiers.","message":"Version numbers are date-based (e.g., `0.1.20240917055`) and do not follow standard semantic versioning (MAJOR.MINOR.PATCH). This means that a 'newer' version number might not directly imply compatibility with an older one.","severity":"gotcha","affected_versions":"All versions (0.1.YYYYMMDDHHMMSS)"},{"fix":"Always use `import great_expectations as gx` or `from great_expectations.<module> import <Symbol>` even when installing the experimental package.","message":"While the package name is `great-expectations-experimental`, its Python modules are exposed under the `great_expectations` namespace (e.g., `import great_expectations as gx`). This can be confusing for new users.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-14T00:00:00.000Z","next_check":"2026-07-13T00:00:00.000Z","problems":[],"ecosystem":"pypi"}