Metadata-Version: 2.4
Name: soyml
Version: 0.3.0
Summary: 
Author: redthing1
Author-email: redthing1@alt.icu
Requires-Python: >=3.11,<3.15
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Provides-Extra: ncnn
Provides-Extra: ort
Provides-Extra: torch
Provides-Extra: wonnx
Requires-Dist: minlog (>=0.6.0,<0.7.0)
Requires-Dist: ncnn (>=1.0.20230517,<2.0.0) ; extra == "ncnn"
Requires-Dist: numpy (>=2.4.0,<3.0.0)
Requires-Dist: onnx (>=1.20.0,<2.0.0)
Requires-Dist: onnxruntime (>=1.23.2,<2.0.0) ; extra == "ort"
Requires-Dist: torch (>=2.9.1,<3.0.0) ; extra == "torch"
Requires-Dist: torchinfo (==1.8.0) ; extra == "torch"
Requires-Dist: wonnx (>=0.5.0,<0.6.0) ; extra == "wonnx"
Description-Content-Type: text/markdown


# soyml

<img src="./media/soymilk2.png" width="96">

**soy**ml: framework-independent ML model inference

_soy_ - a prefix indicating that this is a subpar substitute for the real thing :)

## pitch

machine learning models are often trained in one framework (e.g. pytorch) and deployed in another. there are many different inference-focused frameworks, but they all have different APIs. this makes it difficult to deploy models in a framework-agnostic way. soyml aims to solve this problem by providing a simple, framework-agnostic API for inference, abstracting away the details of the underlying framework, and just letting you turn **inputs** to **outputs** and nothing else.

## features

currently supported backends:
+ [pytorch](https://pytorch.org/) (`torch`)
+ [onnxruntime](https://github.com/microsoft/onnxruntime) (`ort`)
+ [wonnx](https://github.com/webonnx/wonnx) (`wonnx`)
+ [ncnn](https://github.com/Tencent/ncnn) (`ncnn`)

