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