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)
| File | Size | Uploaded | |
|---|---|---|---|
| finai_snowflake_transform-0.1.1.tar.gz | 4.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|