Quick Install
Install dlt using your preferred package manager:Python Version Requirements
dlt supports Python 3.9 through Python 3.14.Python 3.14 support is experimental. Some optional extras may not yet be available for this version.
- Python 3.9.2+
- Python 3.10
- Python 3.11
- Python 3.12
- Python 3.13
- Python 3.14 (experimental)
Installing with Destinations
To use dlt with specific destinations, install with the appropriate extras:All Destination Extras
Here’s the complete list of destination extras:| Extra | Description | Key Dependencies |
|---|---|---|
duckdb | DuckDB database | duckdb>=0.9 |
ducklake | DuckDB with Iceberg support | duckdb>=1.2.0, pyarrow>=16.0.0 |
postgres | PostgreSQL database | psycopg2-binary>=2.9.1 |
bigquery | Google BigQuery | google-cloud-bigquery>=2.26.0, pyarrow>=16.0.0 |
snowflake | Snowflake data warehouse | snowflake-connector-python>=3.12.0 |
redshift | Amazon Redshift | psycopg2-binary>=2.9.1 |
athena | AWS Athena | pyathena>=3.8.2, pyarrow>=16.0.0 |
databricks | Databricks | databricks-sql-connector>=3.0.0 |
mssql | Microsoft SQL Server | pyodbc>=4.0.39 |
clickhouse | ClickHouse | clickhouse-driver>=0.2.7 |
motherduck | MotherDuck (cloud DuckDB) | duckdb>=1.0.0 |
qdrant | Qdrant vector database | qdrant-client>=1.11.3 |
weaviate | Weaviate vector database | weaviate-client>=4.9.3 |
lancedb | LanceDB vector database | lancedb>=0.10.0, pyarrow>=16.0.0 |
filesystem | File system (S3, GCS, Azure) | s3fs>=2022.4.0, botocore>=1.28 |
Format and Feature Extras
Install additional features based on your data format needs:Common Feature Extras
| Extra | Description | Use Case |
|---|---|---|
parquet | Parquet file format support | Efficient columnar storage and loading |
gcp | Google Cloud Platform services | BigQuery, GCS access |
hub | dlt Hub integration | Access to 5000+ verified sources |
cli | Enhanced CLI tools | Pipeline scaffolding and management |
Complete Installation Example
For a typical production setup with PostgreSQL and Parquet support:Development Installation
To install dlt from source for development:The dlt repository uses
uv for dependency management. Check the Makefile for common development commands.Verifying Installation
Verify that dlt is installed correctly:Core Dependencies
dlt has minimal required dependencies that are always installed:Dependency Versioning
When adding dlt as a dependency to your project:Using Compatible Release Specifier
pyproject.toml
Using Poetry
pyproject.toml
- Major version changes may include breaking changes and removed deprecations
- Minor version changes add new features, sometimes with automatic migrations
- Patch version changes include bug fixes only
Platform Support
dlt works on all major platforms:- Linux (all distributions)
- macOS (macOS X)
- Windows (Windows 10+)
- WebAssembly/Pyodide (experimental)
Configuration After Installation
After installing dlt, you’ll typically need to configure credentials for your destinations.Initialize a New Project
Use the dlt CLI to scaffold a new project:my_source.py- Your source/pipeline code.dlt/config.toml- Configuration file.dlt/secrets.toml- Credentials file (gitignored)requirements.txt- Python dependencies
Manual Configuration
Create configuration files manually:.dlt/secrets.toml
.dlt/config.toml
Environment Variables
Alternatively, configure dlt using environment variables:Docker Installation
Run dlt in a Docker container:Dockerfile
requirements.txt
Troubleshooting
ImportError: No module named 'dlt'
ImportError: No module named 'dlt'
Ensure you’ve activated the correct Python environment and that dlt is installed:
Version conflicts with other packages
Version conflicts with other packages
Try installing dlt in a fresh virtual environment:
Platform-specific build errors
Platform-specific build errors
Some dependencies require compilation. Install build tools:Linux (Ubuntu/Debian):macOS:Windows:
Install Microsoft C++ Build Tools
Missing extras for Python 3.14
Missing extras for Python 3.14
Python 3.14 support is experimental. Some dependencies may not have wheels available yet. Use Python 3.11 or 3.12 for production workloads.
Upgrading dlt
Upgrade to the latest version:Next Steps
Now that dlt is installed:Quickstart
Build your first pipeline in 5 minutes
Core Concepts
Learn about sources, resources, and pipelines
Configuration
Set up credentials and configuration
Destinations
Configure your destination