Skip to main content

A Snowflake centic Enterprise AI/ML framework with tight integration of popular data science libraries

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snowflake_ai-0.5.3.tar.gz (61.7 kB view details)

Uploaded Source

Built Distribution

snowflake_ai-0.5.3-py3-none-any.whl (89.9 kB view details)

Uploaded Python 3

File details

Details for the file snowflake_ai-0.5.3.tar.gz.

File metadata

  • Download URL: snowflake_ai-0.5.3.tar.gz
  • Upload date:
  • Size: 61.7 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for snowflake_ai-0.5.3.tar.gz
Algorithm Hash digest
SHA256 d4662f3c1212b38a869dcb549e807ed32db7d9344bbd8264c20b979cd334b744
MD5 a4292125e5c3144a96930e20fe17b8f2
BLAKE2b-256 f65f52fa8a225c5ede1e2a6f50851333a2778f2a776b980172a1295f22ed27d4

See more details on using hashes here.

File details

Details for the file snowflake_ai-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: snowflake_ai-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 89.9 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for snowflake_ai-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5cf6727ee63b56c2f0d1e47a15d20b0df285652d04e204ff215cdd221c81e714
MD5 f72372748fe8f054086d202b678adf17
BLAKE2b-256 7aca6c2896364d67131db70f95b6c2006026378f8b794f30c818db7c9e38fbe2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page