Metadata-Version: 2.1
Name: foxcross
Version: 0.3.0
Summary: AsyncIO serving for data science models
Home-page: https://github.com/laactech/foxcross
License: BSD-3-Clause
Keywords: data science,machine learning,serving,python,async,dataframe,pandas,scikit-learn,pytorch,http,rest api
Author: Steven Pate
Author-email: steven@laac.io
Requires-Python: >=3.6,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP
Provides-Extra: modin
Provides-Extra: pandas
Provides-Extra: performance
Provides-Extra: ujson
Requires-Dist: aiofiles (>=0.4.0,<0.5.0)
Requires-Dist: jinja2 (>=2.10,<3.0)
Requires-Dist: modin (>=0.5.1,<0.6.0); extra == "modin" or extra == "performance"
Requires-Dist: pandas (>=0.24.2,<0.25.0); extra == "pandas"
Requires-Dist: python-slugify[unidecode] (>=3.0,<4.0)
Requires-Dist: starlette (>=0.12.0,<0.13.0)
Requires-Dist: ujson (>=1.35,<2.0); extra == "ujson" or extra == "performance"
Requires-Dist: uvicorn (>=0.7.1,<0.8.0)
Project-URL: Documentation, https://www.foxcross.dev/
Project-URL: Repository, https://github.com/laactech/foxcross
Description-Content-Type: text/markdown

## Foxcross
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://github.com/laactech/foxcross/blob/master/LICENSE.md)
[![Build Status](https://travis-ci.org/laactech/foxcross.svg?branch=master)](https://travis-ci.org/laactech/foxcross)
[![Build status](https://ci.appveyor.com/api/projects/status/ufbm8hrkp4whol5a?svg=true)](https://ci.appveyor.com/project/laactech/foxcross)

AsyncIO serving for data science models built on [Starlette](https://www.starlette.io/)

**Documentation**: https://www.foxcross.dev/

**Requirements**: Python 3.6+

## Quick Start
Installation using `pip`:
```bash
pip install foxcross
```

Create some test data and a simple model in the same directory to be served:

`data.json`
```json
[1,2,3,4,5]
```

`models.py`
```python
from foxcross.runner import run_model_serving
from foxcross.serving import ModelServing

class AddOneModel(ModelServing):
    test_data_path = "data.json"
    
    def predict(self, data):
        return [x + 1 for x in data]

if __name__ == "__main__":
    run_model_serving()
```

Run the model locally:
```bash
python models.py
```

Navigate to `localhost:8000/predict-test/`, and you should see the list incremented by 1.
You can visit `localhost:8000/` to see all the available routes for your model.

