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.47.tar.gz (543.2 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.47-py3-none-any.whl (180.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: shift_left-0.1.47.tar.gz
  • Upload date:
  • Size: 543.2 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.47.tar.gz
Algorithm Hash digest
SHA256 e2a891db822b56ae9b4ef6622acaee1b33dfe31240faae2a8e30e26374520d12
MD5 9249871c140747e69357ba1514a7a9a6
BLAKE2b-256 a3ba87d68e0c681d720731b8aa05616bdcf9f4628b95eca2e2c83c9f93d2e0db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: shift_left-0.1.47-py3-none-any.whl
  • Upload date:
  • Size: 180.1 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.47-py3-none-any.whl
Algorithm Hash digest
SHA256 66e91575a678b950ddba4ca714e3596afb2077fe761aa1f67671cc49ddd85708
MD5 480599b82ad18c4ece1903f342497e04
BLAKE2b-256 94e0ff774c739eac5fd2545c84491e1b4aee763344bb5064fb3a3ec29736f2ef

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