Metadata-Version: 2.3
Name: frogml
Version: 1.1.133
Summary: frogml contains the necessary objects and communication tools for using the JFrog ml Platform
License: Apache-2.0
Keywords: mlops,ml,deployment,serving,model
Author: JFrog
Requires-Python: >=3.9,<3.12
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Provides-Extra: catboost
Provides-Extra: feature-store
Provides-Extra: onnx
Provides-Extra: scikit-learn
Provides-Extra: torch
Provides-Extra: transformers
Requires-Dist: PyYAML (>=6.0.2)
Requires-Dist: cachetools (>=5.2,<7)
Requires-Dist: catboost (>=1.2.8,<2.0.0) ; extra == "catboost"
Requires-Dist: chevron (==0.14.0)
Requires-Dist: cloudpickle (==2.2.1)
Requires-Dist: dacite (==1.8.1)
Requires-Dist: dependency-injector (>=4.0)
Requires-Dist: filelock
Requires-Dist: grpcio (>=1.71.2)
Requires-Dist: joblib (>=1.3.2,<2.0.0)
Requires-Dist: libcst (>=1.8.2,<2.0.0)
Requires-Dist: marshmallow-dataclass (>=8.5.8,<9.0.0)
Requires-Dist: onnx (>=1.18.0,<2.0.0) ; extra == "onnx"
Requires-Dist: pandas (>=1.4.0) ; extra == "feature-store"
Requires-Dist: protobuf (>=4.25.8)
Requires-Dist: pyarrow (>=20.0.0) ; extra == "feature-store"
Requires-Dist: pyathena (>=2.2.0,!=2.18.0) ; extra == "feature-store"
Requires-Dist: pydantic
Requires-Dist: pyspark (==3.4.2) ; extra == "feature-store"
Requires-Dist: python-jose[cryptography] (>=3.4.0)
Requires-Dist: python-json-logger (>=2.0.2)
Requires-Dist: requests
Requires-Dist: retrying (==1.3.4)
Requires-Dist: scikit-learn (>=1.5,<2.0) ; extra == "scikit-learn"
Requires-Dist: strenum (>=0.4.15,<0.5.0)
Requires-Dist: torch (>=2.7.1,<3.0.0) ; extra == "torch"
Requires-Dist: tqdm
Requires-Dist: transformers (>=4.53.0,<5.0.0) ; extra == "transformers"
Requires-Dist: typeguard (>=2,<3)
Project-URL: Home page, https://www.jfrog.com/
Description-Content-Type: text/markdown

# Frogml

Frogml is an end-to-end production ML platform designed to allow data scientists to build, deploy, and monitor their models in production with minimal engineering friction.
Frogml Core contains all the objects and tools necessary to use the Frogml Platform

## Table of contents:

- [Overview](#overview)
- [Working with Artifactory](#Working-with-Artifactory)
- [Upload ML model to Artifactory](#Upload-ML-model-to-Artifactory)

## Overview

JFrog ML Storage is a smart python client library providing a simple and efficient method of storing and downloading models, model data and datasets from the JFrog platform, utilizing the advanced capabilities of the JFrog platform.

## Working with Artifactory

FrogML Storage Library support is available from Artifactory version 7.84.x.

To be able to use FrogML Storage with Artifactory, you should authenticate the frogml storage client against Artifactory.
JFrog implements a credentials provider chain. It sequentially checks each place where you can set the credentials to authenticate with FrogML, and then selects the first one you set.

### Upload ML model to Artifactory

You can upload a model to a FrogML repository using the upload_model_version() function. 
You can upload a single file or an entire folder.
This function uses checksum upload, assigning a SHA2 value to each model for retrieval from storage. If the binary content cannot be reused, the smart upload mechanism performs regular upload instead.
After uploading the model, FrogML generates a file named model-info.json which contains the model name and its related files and dependencies.

The version parameter is optional. If not specified, Artifactory will set the version as the timestamp of the time you uploaded the model in your time zone, in UTC format:  yyyy-MM-dd-HH-mm-ss.
Additionally, you can add properties to the model in Artifactory to categorize and label it.
The function upload_model_version returns an instance of FrogMlModelVersion, which includes the model's name, version, and namespace.

