Skip to main content

Python 3.8 Python 3.10 PyPI downloads month

Snowflake-AI

Snowflake_AI is a Snowflake-centric Enterprise AI/ML framework with the tight integration of popular Python data science libraries, e.g., Pandas, Scikit-Learn, Pytorch, MLFlow, Tensorflow, etc. This project simplifies the process of integrating your company's Snowflake data securely with those popular libraries, making it easier to develop Snowflake AI applications leveraging Snowpark and other Snowflake ML capabilities to deploy machine learning models in the production environment following the standard MLOps process and enterprise security and governance. Currently, this framework supports OAuth (Authorization Code flow, Device Code flow, Client Credentials flow, etc.) and SAML SSO Snowflake Connection, Streamlit and Notebook Apps development framework, build-in light-weigth MLOps pipelines and initial Snowpandas feature engineering APIs.

Installation

Use pip to install:

pip install snowflake-ai

or, use Poetry to install:

poetry add snowflake-ai

Configuration

Copy the sample configuration file from the {installed lib dir}/snowflake_ai/conf directory and update the Snowflake connection parameters.

For example, you may do the following to find out where is the {installed lib dir}:

pip show snowflake-ai

While you are in {installed lib dir}, you may do:

mkdir -p ~/.snowflake_ai/conf
cp snowflake_ai/conf/app_config.toml ~/.snowflake_ai/conf/

Then, edit snowflake_ai/conf/app_config.toml with your Snowflake connection details. Please consult your system admins for your company specific OAuth setup (Note: Azure AD has been fully tested).

Usage

To get started with Snowflake-AI, import StreamlitApp and DataFrameFactory from the library:

from snowflake_ai.common import DataFrameFactory as DFF
from snowflake_ai.apps import StreamlitApp

Create a SnowConnect instance:

app = StreamlitApp("streamlit_group.app_1")
connect = app.get_default_snow_connect()

Specify the table/view or sql you want to work with and create a DataFrame:

tbl_nm = 'SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.CUSTOMER'
sdf = DFF.create_df(tbl_nm, connect)

Display the contents of the DataFrame:

sdf.show()

Currently, in addition to Streamlit app support, Jupyter notebook, Console app, and Base App are supported.

From here, you can use Snowflake-AI to preprocess and manipulate your data using additional Snowpark API, Pandas and Scikit-Learn, Pytorch, etc. to train machine learning models, and perform predictions. Stay tuned, as there are many features in the pipelines waiting to be released.

Enjoy building your next AI/ML project with Snowflake-AI!

Contribution & Development

We are always actively seeking contributors to help enhance our open-source project! Whether you're interested in coding, designing, or testing and documentation, your participation can make a valuable difference. Join us in shaping the future of this project and be part of a collaborative community.

It is recommended that you have Poetry installed on your system as it would simplify dependence management and code releases. You can install Poetry by following the instructions here.

Next, clone this repository and navigate to the project directory (assume you are in bash terminal):

git clone https://github.com/illuminairy-ai/snowflake-ai.git
cd snowflake-ai

Then, use Poetry to install all dependencies:

poetry install

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Release files for snowflake-ai 0.5.3

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-ai 0.5.3
File Size Uploaded
snowflake_ai-0.5.3.tar.gz 61.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for snowflake-ai 0.5.3
File Interpreter ABI Platform
snowflake_ai-0.5.3-py3-none-any.whl Python 3 none any Details

Total release size: 151.7 kB

Release files / snowflake_ai-0.5.3.tar.gz

Download URL snowflake_ai-0.5.3.tar.gz
Size 61.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d4662f3c1212b38a869dcb549e807ed32db7d9344bbd8264c20b979cd334b744
BLAKE2b-256 checksum
How to use checksums
f65f52fa8a225c5ede1e2a6f50851333a2778f2a776b980172a1295f22ed27d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

Release files / snowflake_ai-0.5.3-py3-none-any.whl

Download URL snowflake_ai-0.5.3-py3-none-any.whl
Size 89.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5cf6727ee63b56c2f0d1e47a15d20b0df285652d04e204ff215cdd221c81e714
BLAKE2b-256 checksum
How to use checksums
7aca6c2896364d67131db70f95b6c2006026378f8b794f30c818db7c9e38fbe2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.5.3 This release

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.0

2 release files

0.2.0

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