Skip to main content

snowflake-snowconvert-testing-orchestration

Capture and validate stored procedure baselines during database migrations to Snowflake. Part of the SnowConvert migration toolchain.

What it does

When migrating stored procedures from SQL Server, Oracle, or other platforms to Snowflake, this tool automates the verification process:

  1. Capture -- Execute stored procedures on the source database and save their results as baseline files.
  2. Validate -- Execute the same procedures on Snowflake and compare the results against the captured baselines.
  3. Report -- Generate detailed validation reports covering schema, metrics, and row-level comparisons.

Installation

pip install snowflake-snowconvert-testing-orchestration

Quick start

Capture baselines from source

test-runner capture --project-root /path/to/project

Validate on Snowflake

test-runner validate --project-root /path/to/project -c my_snowflake_connection

Configuration

Create a settings/test_config.yaml in your project directory:

source_platform: sqlserver
target_platform: snowflake

validation_configuration:
  schema_validation: true
  metrics_validation: true
  row_validation: true

Connections are resolved at runtime from TOML files (~/.snowflake/snowct/<dialect>.toml for source, ~/.snowflake/config.toml for target) or via CLI flags (--source-connection, --connection).

Define test cases for each procedure in artifacts/<database>/<schema>/procedure/<Name>/test/<name>.yml:

validation:
  source:
    steps:
      run: |-
        EXECUTE testdb.dbo.GetAllProducts
  target:
    steps:
      run: |-
        CALL TESTDB.DBO.GETALLPRODUCTS()
  test_cases:
    - []

Library usage

from test_runner import create_container, run_capture, run_validate

container = create_container("my_project")
config = container.config()
registry = container.factory_registry()

capture_stats = run_capture(config=config, factory_registry=registry, project_root="my_project")
validate_stats = run_validate(config=config, factory_registry=registry, project_root="my_project")

Requirements

  • Python >= 3.10
  • Access to a source database (SQL Server, Oracle, etc.)
  • A Snowflake account with SnowSQL or connector configuration

Related packages

License

Snowflake Conversion Software Terms

Metadata

Release files for snowflake-snowconvert-testing-orchestration 0.2.294

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

Source distribution (sdist)

Source distribution for snowflake-snowconvert-testing-orchestration 0.2.294
File Size Uploaded Provenance
snowflake_snowconvert_testing_orchestration-0.2.294.tar.gz 288.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for snowflake-snowconvert-testing-orchestration 0.2.294
File Interpreter ABI Platform
snowflake_snowconvert_testing_orchestration-0.2.294-py3-none-any.whl Python 3 none any Details

Total release size: 497.1 kB

Release files / snowflake_snowconvert_testing_orchestration-0.2.294.tar.gz

Download URL snowflake_snowconvert_testing_orchestration-0.2.294.tar.gz
Size 288.2 kB
Tags Source
SHA-256 checksum
How to use checksums
90ffd0e464aae3b172ba24dd787751f22d3b3d2c4fd7a7c4bbfdf83552981572
BLAKE2b-256 checksum
How to use checksums
3245492b506a5cba4a710637190e34568fe4300220a3dff6ffb47eab47448803
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / snowflake_snowconvert_testing_orchestration-0.2.294-py3-none-any.whl

Download URL snowflake_snowconvert_testing_orchestration-0.2.294-py3-none-any.whl
Size 208.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c48a14de970a5fb31031de5339ab603581bdaaf8a05c6124fcc9ee03f46afbb0
BLAKE2b-256 checksum
How to use checksums
9d50fffdbabff448a7608c325b02a36f123ddd1979d31b9bf1f3bfa08ad9ea76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for snowflake-snowconvert-testing-orchestration 0.2.294

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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