vmware/versatile-data-kit

⛔ [ARCHIVING ON 2026-11-01] One framework to develop, deploy and operate data workflows with Python and SQL.

489

stars

2,020

commits

Python

primary language

Sep 1, 2026

updated

analytics
data
database
data-engineer
data-engineering
data-engineering-pipeline
data-lineage
dataops
data-pipelines
data-science
data-structures
data-warehouse
elt
etl
pipeline
python
snowflake
sql
trino
warehouse

README

[!WARNING] Notice: This repository is scheduled to be archived and set to read-only on 2026.11.01. New features, issues, and pull requests are not accepted.

Versatile Data Kit Versatile Data Kit

Last Activity monthly download count for vdk-core license pre-commit build status twitter YouTube Channel Subscribers


One framework to🧑‍💻 Develop ▶️ Deploy and 📊 Operate
data workflows with Python and SQL


🎯 Write shorter, more readable code.
🔄 Ready-to-use data ETL/ELT patterns.
🧩 Lego-like extensibility.

🚀 Single click deployment.
🛠 Operate and monitor. ️

Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Introduction to the VDK SDK

  • Framework to simplify data ingestion and data processing.
  • Write any code using Python or SQL.
  • A toolset enabling you to run data jobs.

Get started with VDK SDK:

Install Quickstart VDK. Only requirement is Python 3.7+.
pip install quickstart-vdk
vdk --help
➡ Develop your First Data Job if you are impatient to start quickly.



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Data Ingestion

  • Extract data from various sources (HTTP APIs, Databases, CSV, etc.).
  • Ensure data fidelity with minimal transformations.
  • Load data to your preferred destination (database, cloud storage).

Ingestion examples:

Ingesting data from REST API into Database
Ingesting data from DB into Database
Ingesting local CSV file into Database
Incremental ingestion using Job Properties



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Data Transformation

  • SQL and Python parameterized transformations.
  • Extensible templates for data modeling.
  • Creates a dataset or table as a product.

Get started with transforming data:

Data Modeling: Treating Data as a Product
Processing data using SQL and local database
Processing data using Kimball warehousing templates



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Data Job Deployment (build, deploy, release)

VDK Control Service provides REST API for users to create, deploy, manage, and execute data jobs in a Kubernetes runtime environment.
  • Scheduling, packaging, dependencies management, deployment.
  • Execution management and monitoring.
  • Source code versioning and tracking. Fast rollback.
  • Manage state and credentials using Properties and Secrets.

Get started with deploying jobs in control service:

Install Local Control Service with vdk server --install
Scheduling a Data Job for automatic execution
Using VDK DAGs to orchestrate Data Jobs



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Operations and Monitoring

  • Use Operations UI to monitor, troubleshoot data workloads in production.
  • Notifications for errors during Data Job deployment or execution.
  • Route errors to correct people by classifying them into User or Platform errors.

Get started with operating and monitoring data jobs:

Versatile Data Kit UI - Installation and Getting Started
VDK Operations User Interface - Versatile Data Kit



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Lego like extensibility

  • Modular: use only what you need. Extensible: build what you miss.
  • Easy to install any plugins as python packages using pip.
  • Used in enhancing data processing, ingestion, job execution, command-line lifecycle

Get started with using some VDK plugins:

Browse available plugins
➡ Interesting plugins to check out:
       Track Lineage of your jobs using vdk-lineage
       Import/Ingest or Export CSV files using vdk-csv
Write your own plugin



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Support and Contributing

For Support, you can join our Slack channel, create an issue or pull request on GitHub to submit suggestions or changes.
If you are interested in contributing as a developer, visit the contributing page.

Contacts

Code of Conduct

Everyone involved in working on the project's source code, or engaging in any issue trackers, Slack channels, and mailing lists is expected to be familiar with and follow the Code of Conduct.

Contributors

(top 30 of 37)

antoniivanov

466 commits

dependabot[bot]

349 commits

gabrielgeorgiev1

161 commits

murphp15

153 commits

vmware/versatile-data-kit

⛔ [ARCHIVING ON 2026-11-01] One framework to develop, deploy and operate data workflows with Python and SQL.

489

stars

2,020

commits

Python

primary language

Sep 1, 2026

updated

analytics
data
database
data-engineer
data-engineering
data-engineering-pipeline
data-lineage
dataops
data-pipelines
data-science
data-structures
data-warehouse
elt
etl
pipeline
python
snowflake
sql
trino
warehouse

README

[!WARNING] Notice: This repository is scheduled to be archived and set to read-only on 2026.11.01. New features, issues, and pull requests are not accepted.

Versatile Data Kit Versatile Data Kit

Last Activity monthly download count for vdk-core license pre-commit build status twitter YouTube Channel Subscribers


One framework to🧑‍💻 Develop ▶️ Deploy and 📊 Operate
data workflows with Python and SQL


🎯 Write shorter, more readable code.
🔄 Ready-to-use data ETL/ELT patterns.
🧩 Lego-like extensibility.

🚀 Single click deployment.
🛠 Operate and monitor. ️

Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Introduction to the VDK SDK

  • Framework to simplify data ingestion and data processing.
  • Write any code using Python or SQL.
  • A toolset enabling you to run data jobs.

Get started with VDK SDK:

Install Quickstart VDK. Only requirement is Python 3.7+.
pip install quickstart-vdk
vdk --help
➡ Develop your First Data Job if you are impatient to start quickly.



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Data Ingestion

  • Extract data from various sources (HTTP APIs, Databases, CSV, etc.).
  • Ensure data fidelity with minimal transformations.
  • Load data to your preferred destination (database, cloud storage).

Ingestion examples:

Ingesting data from REST API into Database
Ingesting data from DB into Database
Ingesting local CSV file into Database
Incremental ingestion using Job Properties



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Data Transformation

  • SQL and Python parameterized transformations.
  • Extensible templates for data modeling.
  • Creates a dataset or table as a product.

Get started with transforming data:

Data Modeling: Treating Data as a Product
Processing data using SQL and local database
Processing data using Kimball warehousing templates



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Data Job Deployment (build, deploy, release)

VDK Control Service provides REST API for users to create, deploy, manage, and execute data jobs in a Kubernetes runtime environment.
  • Scheduling, packaging, dependencies management, deployment.
  • Execution management and monitoring.
  • Source code versioning and tracking. Fast rollback.
  • Manage state and credentials using Properties and Secrets.

Get started with deploying jobs in control service:

Install Local Control Service with vdk server --install
Scheduling a Data Job for automatic execution
Using VDK DAGs to orchestrate Data Jobs



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Operations and Monitoring

  • Use Operations UI to monitor, troubleshoot data workloads in production.
  • Notifications for errors during Data Job deployment or execution.
  • Route errors to correct people by classifying them into User or Platform errors.

Get started with operating and monitoring data jobs:

Versatile Data Kit UI - Installation and Getting Started
VDK Operations User Interface - Versatile Data Kit



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Lego like extensibility

  • Modular: use only what you need. Extensible: build what you miss.
  • Easy to install any plugins as python packages using pip.
  • Used in enhancing data processing, ingestion, job execution, command-line lifecycle

Get started with using some VDK plugins:

Browse available plugins
➡ Interesting plugins to check out:
       Track Lineage of your jobs using vdk-lineage
       Import/Ingest or Export CSV files using vdk-csv
Write your own plugin



Intro to VDK SDK Ingestion Transformation Job Deployment Job Operations Extensibility Support and Contributing

Support and Contributing

For Support, you can join our Slack channel, create an issue or pull request on GitHub to submit suggestions or changes.
If you are interested in contributing as a developer, visit the contributing page.

Contacts

Code of Conduct

Everyone involved in working on the project's source code, or engaging in any issue trackers, Slack channels, and mailing lists is expected to be familiar with and follow the Code of Conduct.

Contributors

(top 30 of 37)

antoniivanov

466 commits

dependabot[bot]

349 commits

gabrielgeorgiev1

161 commits

murphp15

153 commits

Languages

Python

36.5%

TypeScript

27.4%

Java

23.6%

JavaScript

4.9%

HTML

3.8%

SCSS

1.4%

Jupyter Notebook

1.2%