Skip to content

Installation

This guide explains how to install Dift across different operating systems and environments.


Requirements

Dift requires:

  • Python 3.10+
  • pip
  • terminal or shell access

Verify your Python version:

python --version

or

python3 --version

Install Dift

Standard Installation

pip install dift-cli

Upgrade Dift

Upgrade to the latest version:

pip install --upgrade dift-cli

Verify Installation

Run:

dift --help

or:

python -m dift.cli --help

You should see the Dift CLI help output.


Virtual Environment Setup

Using a virtual environment is strongly recommended.


Windows (Git Bash)

python -m venv .venv
source .venv/Scripts/activate
pip install dift-cli

Windows (PowerShell)

python -m venv .venv
.venv\Scripts\Activate.ps1
pip install dift-cli

Linux / macOS

python3 -m venv .venv
source .venv/bin/activate
pip install dift-cli

pipx Installation (Recommended)

For isolated CLI environments:

pipx install dift-cli

Upgrade later:

pipx upgrade dift-cli

Install From Source

Clone the repository:

git clone https://github.com/ReginaldErzoah/Dift.git

Enter the project directory:

cd Dift

Create a virtual environment:

python -m venv .venv

Activate it.

Windows (Git Bash)

source .venv/Scripts/activate

Linux / macOS

source .venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Install Dift in editable mode:

pip install -e .

Optional Connector Dependencies

Some connectors require additional packages.


PostgreSQL

pip install psycopg2-binary

or:

pip install psycopg

MySQL

pip install pymysql

Redshift

pip install sqlalchemy-redshift redshift-connector

Snowflake

pip install snowflake-sqlalchemy

BigQuery

pip install google-cloud-bigquery db-dtypes

DuckDB

pip install duckdb

Install SQL Support

Core SQL support requires SQLAlchemy:

pip install sqlalchemy

Development Installation

Install development tools:

pip install -r requirements-dev.txt

Typical development tooling includes:

  • pytest
  • ruff
  • mypy

Verify Development Environment

Run tests:

pytest

Run linting:

ruff check .

Run type checking:

mypy dift

Common Installation Issues

Python Version Too Old

Error example:

Python 3.9 is not supported

Solution:

Install Python 3.10 or newer.


Command Not Found

Error example:

dift: command not found

Possible fixes:

Reinstall

pip install dift-cli

Use Python Module Execution

python -m dift.cli --help

Verify PATH

Ensure your Python scripts directory is available in your system PATH.


Missing Connector Drivers

Error example:

PostgreSQL support requires psycopg2

Install the required driver:

pip install psycopg2-binary

Next Steps

After installation:

  • Continue to the Quick Start guide
  • Learn dataset comparison workflows
  • Explore reports and automation features
  • Configure connectors and warehouses

Quick Start

Basic comparison:

dift examples/old.csv examples/new.csv --key customer_id

Generate an HTML report:

dift examples/old.csv examples/new.csv \
  --key customer_id \
  --report html \
  --output report.html