Skip to main content

The shift-left CLI to manage your shift-left project

Project description

Shift Left Utils

A comprehensive toolkit for migrating SQL batch processing to real-time Apache Flink on Confluent Cloud, with AI-powered code translation and advanced pipeline management. It also addresses KsqlDB to Apache Flink SQL migration.

Installation

pip install shift_left

Features

SQL Migration & Translation: Automatically migrate KSQL, Spark SQL, and DBT code to Flink SQL using LLM-based agents with validation and refinement capabilities.

Pipeline Management: Build, validate, and deploy Flink SQL pipelines with dependency management, execution planning, and blue-green deployment strategies.

Project Structure: Scaffold and manage Flink projects following medallion architecture (sources, intermediates, dimensions, facts, views) with comprehensive metadata and testing frameworks.

Test Harness: Develop unit test SQL templates with synthetic data to unit test Flink SQL statements.

Quick Start

# Initialize a new Flink project
shift_left project init my_project ./my_project --project-type kimball

# Build table inventory
shift_left table build-inventory ./pipelines

# Deploy a pipeline
shift_left pipeline deploy ./pipelines --table-name my_table

CLI Commands

Project Management

  • shift_left project init - Initialize a new Flink project
  • shift_left project validate-config - Validate configuration file
  • shift_left project list-topics - List Kafka topics
  • shift_left project list-compute-pools - List Flink compute pools

Table Management

  • shift_left table init - Create table structure
  • shift_left table build-inventory - Build table inventory
  • shift_left table migrate - Migrate SQL with AI assistance

Pipeline Deployment

  • shift_left pipeline deploy - Deploy Flink pipelines
  • shift_left pipeline build-metadata - Build pipeline metadata

Testing

  • shift_left table init-unit-tests - Create test file for unit tests
  • shift_left table run-unit-tests - Run the test suite
  • shift_left table delete-unit-tests - Remove unit test artifacts

Documentation

Requirements

  • Python 3.12+
  • Confluent Cloud account (for deployment features)

License

Apache License 2.0

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shift_left-0.1.46.tar.gz (608.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shift_left-0.1.46-py3-none-any.whl (179.9 kB view details)

Uploaded Python 3

File details

Details for the file shift_left-0.1.46.tar.gz.

File metadata

  • Download URL: shift_left-0.1.46.tar.gz
  • Upload date:
  • Size: 608.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for shift_left-0.1.46.tar.gz
Algorithm Hash digest
SHA256 ebed71ccb52fd53564c08031fe53fc3ff19c34527b774de9c5f727d6f52fc1a0
MD5 8156838465f6491cd896f876b2835482
BLAKE2b-256 a978de7de12f1abc8fa1ba5534ec372c8d6fbd6d0d57dc754a003bb6ab3a2368

See more details on using hashes here.

File details

Details for the file shift_left-0.1.46-py3-none-any.whl.

File metadata

  • Download URL: shift_left-0.1.46-py3-none-any.whl
  • Upload date:
  • Size: 179.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for shift_left-0.1.46-py3-none-any.whl
Algorithm Hash digest
SHA256 1e066ce94be994964bfd08eb3f0a3523542108a723e60e19b3d9739a4580ddfd
MD5 15c60f110b22983f1dc76ecf8df50201
BLAKE2b-256 39c455f122a8d06631c3215f2875e672d18c3a78f9479b1648197dc800ec4871

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page