For the complete documentation index, see llms.txt. This page is also available as Markdown.

Soda Python Libraries

This page describes how to install the Soda Python packages, which are required for running Soda scans via the CLI or Python API.

Installation

Requirements

To use Soda, you must have installed the following on your system.

  • Python 3.10, 3.11, or 3.12. To check your existing version, use the CLI command: python --version or python3 --version. If you have not already installed Python, consider using pyenv to manage multiple versions of Python in your environment.

While Python 3.12 is the highest officially supported version, there are no known constraints preventing use of Python 3.13+.

  • Pip 21.0 or greater. To check your existing version, use the CLI command: pip --version

  • A Soda Cloud account; see how to sign up.

Best practice dictates that you install the Soda CLI using a virtual environment. If you haven't yet, in your command-line interface tool, create a virtual environment in the .venv directory using the commands below.

Soda recommends using uv:

uv venv .venv
source .venv/bin/activate

If you prefer the standard Python tooling (not using uv), depending on your version of Python, you may need to replace python with python3 in the first command (or with the Python version you want your virtual environment to run, e.g. py -3.11):

python -m venv .venv
source .venv/bin/activate

Choose an installation flow

Before you install the Soda CLI, decide which installation flow applies to your environment and license type. The two flows available serve different purposes:

Different installations will support different packages. Learn more about which packages are supported in public and private PyPI.


Public PyPI installation flow

To use the open source Soda Core python packages, you must install them from the public Soda PyPi registry: https://pypi.cloud.soda.io/simple .

  1. Install the Soda Core package for your data source. This gives you access to all the basic CLI functionality for working with contracts.

Replace soda-postgres with the appropriate package for your data source. See the Data source reference for Soda Core for supported packages and configurations.

Now you can connect to Soda Cloud.

Supported packages

  • soda-core: "umbrella" package (does not include Diagnostics Warehouse)

  • Data-source-specific packages: naming pattern is soda-<datasource> (e.g. soda-postgres, soda-bigquery, soda-sparkdf, etc.)


Private PyPI installation flow

If you wish to use commercial extensions to the Soda Core python package, you must install them from one of the private Soda PyPi registries. The private PyPI installation process adds an authentication layer and region-based repositories for license-based access control of Team and Enterprise customers.

To get access to the private PyPi registries, Soda Cloud, Diagnostics Warehouse, and more Soda licensed features, contact us at support@soda.io.

Available extensions

The extensions you need to install depend on the features you want to use and your Soda subscription plan. The table below lists the supported features, the required extension for each one, and which plans include access.


You are not logged in to Soda and are viewing the default public documentation. Learn more about Documentation access & licensing.

Last updated

Was this helpful?