Skip to main content

Databricks Workflows Migrator (wkmigrate)

PyPi package PyPi downloads

Project Description

wkmigrate is a Python library for migrating data pipelines to Databricks workflows from various frameworks. Users can programmatically create or migrate workflows with a simple set of commands.

Pipeline definitions are read from a user-specified source system, translated for compatibility with Databricks workflows, and either directly created or stored in json or yml files.

Installation

Use pip install wkmigrate to install the PyPi package.

Compatibility

wkmigrate is a standalone project. Using some features (e.g. serverless jobs compute options) may require a premium-tier Databricks workspace.

Using the Workflow Migrator

To use the wkmigrate, install the library using the %pip install wkmigrate method or install the Python wheel directly in your environment.

Once the library has been installed, create source and target definition stores for the migration.

from wkmigrate.definition_store_builder import build_definition_store

# Create the source definition store (an ADF instance):
factory_options = {
    "tenant_id": "<TENANT_ID>",
    "client_id": "<CLIENT_ID>",
    "client_secret": "<CLIENT_SECRET>",
    "subscription_id": "<SUBSCRIPTION_ID>",
    "resource_group_name": "<RESOURCE_GROUP_NAME>",
    "factory_name": "<FACTORY_NAME>"
}
factory_store = build_definition_store(
    "factory_definition_store", 
    factory_options
)

# Create the target definition store (a Databricks workspace):
workspace_options = {
    "authentication_type": "pat",
    "host_name": "<DATABRICKS_HOST_URL>",
    "pat": "<DATABRICKS_PERSONAL_ACCESS_TOKEN>",
}
workspace_store = build_definition_store(
    "workspace_definition_store", 
    workspace_options
)                        

Use the load method to get definitions from a source.

pipeline = factory_store.load(pipeline_name="<PIPELINE_NAME>")                      

Use pipeline_translator.translate() to translate definitions for compatibility with Databricks workflows.

from wkmigrate import pipeline_translator
translated_pipeline = pipeline_translator.translate(pipeline)

Use the dump method to sync workflows into a target.

workspace_store.dump(translated_pipeline)

Metadata

Release files for wkmigrate 0.0.2.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wkmigrate 0.0.2.post1
File Size Uploaded
wkmigrate-0.0.2.post1.tar.gz 43.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wkmigrate 0.0.2.post1
File Interpreter ABI Platform
wkmigrate-0.0.2.post1-py3-none-any.whl Python 3 none any Details

Total release size: 93.8 kB

Release files / wkmigrate-0.0.2.post1.tar.gz

Download URL wkmigrate-0.0.2.post1.tar.gz
Size 43.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0e347ac171a63d55e063ec269c1b6b8b3a2c9ec919b09198a0e46b3fef01b061
BLAKE2b-256 checksum
How to use checksums
0323e7434a76d28c8500702af0a8eda3bca6dc4495697bebb34402d4aa4e80e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Darwin/24.6.0

Release files / wkmigrate-0.0.2.post1-py3-none-any.whl

Download URL wkmigrate-0.0.2.post1-py3-none-any.whl
Size 50.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
31881e1180347e41be1313af21d249c6fe3feac1e0dfcdcb60351e5ea0389d83
BLAKE2b-256 checksum
How to use checksums
f86207f171963f7de385a61c754d37978a1ae456c33b38647e2cc820ef13350c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Darwin/24.6.0

Release history Release notifications | RSS feed

This release

0.0.2.post1 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page