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:
- Capture -- Execute stored procedures on the source database and save their results as baseline files.
- Validate -- Execute the same procedures on Snowflake and compare the results against the captured baselines.
- 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
- snowflake-data-validation -- Data validation framework for Snowflake migrations
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| snowflake_snowconvert_testing_orchestration-0.2.294.tar.gz | 288.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.