Skip to main content

finai-snowflake-transform

A small public package used to verify that a PyPI release, including YAML files bundled inside it, can be installed and executed inside Snowflake through both Snowpark and pandas on Snowflake.

Transformation

Parameters are read from a YAML file bundled in the package, so nothing depends on the working directory:

TRANSFORMED_VALUE = fill_null(VALUE, null_fill) * scale + offset
Config scale offset null_fill
defaults.yaml 2.0 1.0 0.0
alternate.yaml 3.0 -1.0 2.0

Install

pip install finai-snowflake-transform

The Snowflake runtime is a base dependency, exactly pinned, so this one name is the whole spec a Snowflake procedure needs:

packages = ('finai-snowflake-transform==0.1.1')
Dependency Pin
snowflake-snowpark-python[modin] ==1.55.0
modin ==0.37.1
pandas ==2.3.3
numpy ==2.5.3
PyYAML ==6.0.3

Python >=3.12,<3.15: 3.12 is the Snowflake procedure runtime and numpy 2.5.3's floor, and Snowpark caps at 3.15. Pins are raised in a new release rather than widened here.

Use

ID and VALUE are preserved and TRANSFORMED_VALUE is appended. Arithmetic stays native to the engine you pass in; the caller reads and writes tables.

from finai_snowflake_transform import (
    load_config,
    transform_pandas_on_snowflake,
    transform_snowpark,
)

load_config("defaults.yaml")
# {'scale': 2.0, 'offset': 1.0, 'null_fill': 0.0}

# pandas on Snowflake (also works with plain pandas)
import modin.pandas as pd
import snowflake.snowpark.modin.plugin  # noqa: F401

out = transform_pandas_on_snowflake(pd.read_snowflake("MY_INPUT"), "defaults.yaml")

# Snowpark
out = transform_snowpark(session.table("MY_INPUT"), "alternate.yaml")

Invalid configuration names, non-mapping YAML, missing parameters, booleans and non-finite numbers all raise immediately with a message naming the config file.

License

MIT

Metadata

Release files for finai-snowflake-transform 0.1.1

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

Source distribution (sdist)

Source distribution for finai-snowflake-transform 0.1.1
File Size Uploaded
finai_snowflake_transform-0.1.1.tar.gz 4.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for finai-snowflake-transform 0.1.1
File Interpreter ABI Platform
finai_snowflake_transform-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.4 kB

Release files / finai_snowflake_transform-0.1.1.tar.gz

Download URL finai_snowflake_transform-0.1.1.tar.gz
Size 4.6 kB
Tags Source
SHA-256 checksum
How to use checksums
fa038ce6d53358cb2aa4d9e3747cd8104da1dca4844a8436f6e8d16d23d1aa93
BLAKE2b-256 checksum
How to use checksums
aa55f44cee96f25914b53ca133d396244f78d400b3ce12d8c5ee90997433802e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.9

Release files / finai_snowflake_transform-0.1.1-py3-none-any.whl

Download URL finai_snowflake_transform-0.1.1-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a0b69b83c7c86a21b2e73d719c4fe4e1dc8ae6b5f40b06b03b60ae0a3674f218
BLAKE2b-256 checksum
How to use checksums
f491c22ab19c4c7f0c0593c039db1f24379327edcd12575b68f54f50dbf1e21a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

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