Python lib for navio
Project description
======= pynavio
.. image:: https://img.shields.io/pypi/v/pynavio.svg :target: https://pypi.python.org/pypi/pynavio
Python lib for navio
- Free software: MIT license
Features
- Pynavio.Client, navio API client, allows to upload models and data, deploy and retrain models etc.
- Pynavio.mlflow.to_navio function calls mlflow.pyfunc.save_model function, saving a model zip file as required by navio.
- it also validated the models with Pynavio.mlflow.ModelValidator by default
- Pynavio.mlflow.ModelValidator is a class that validates the model (prediction/example request/MLmodel metadata schema checks, warnings related nested types/big model sizes)
- Pynavio.infer_external_dependencies is a helper function that infers the external dependencies based on the file path. For its limitations please refer to its doc string.
- Pynavio.infer_imported_code_path is a helper function that infers the imported code paths based on the file path and the root path. For its limitations please refer to its doc string.
- Pynavio.make_example_request generates a request schema for a navio model from data.
Documentation
The official documentation is hosted on https://navio.craftworks.io : https://navio.craftworks.io/docs/guides/pynavio/
Examples
To build all example models, use::
$ cd scripts && make
Credits
This package was created with Cookiecutter_ and the audreyr/cookiecutter-pypackage
_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _audreyr/cookiecutter-pypackage
: https://github.com/audreyr/cookiecutter-pypackage
Examples/models uses code parts from Open Source project mjain72/Condition-monitoring-of-hydraulic-systems-using-xgboost-modeling
_.
.. _mjain72/Condition-monitoring-of-hydraulic-systems-using-xgboost-modeling
: https://github.com/mjain72/Condition-monitoring-of-hydraulic-systems-using-xgboost-modeling
Examples/models uses code parts from Open Source project https://www.kaggle.com/maciejautuch/car-price-prediction
_
.. _https://www.kaggle.com/maciejautuch/car-price-prediction
: https://www.kaggle.com/maciejautuch/car-price-prediction
======= History
0.0.1 (2021-09-07)
- First release on PyPI.
0.0.2 (2021-12-29)
- allows user provide modules as pip strings
- brings possibility to infer package dependencies(pip strings) using the infer_external_dependencies()
- handle data frame input for example request
- updates the default conda channels: remove anaconda and pytorch and add conda-forge
- adds and updates the dependencies
- brings gpu related changes
- brings example models (tabular etc.)
- fixes the issue with pigar running for 10 minutes when the input path contains venv
0.1.0 (2022-01-24)
- adds model helpers
- brings more example models: pump leakage model
- removes the need to download the data from kaggle, refers to local data dir for data instead
- adds credits to README, adds LICENSE
0.1.1 (2022-02-07)
- adds credits for kaggle notebook's code parts usage
- brings more example models: car price model
0.1.4 (2022-08-25)
- API Client
- adds possibility to infer the dependencies used in the file only
- extra docs for example models
- moves the data dir out into examples
- updates dependencies
- fixes the missing import of the currently available models
- fixes mlflow==1.27.0 circular import error
- fixes pynavio FileNotFound error mlflow-1.26.0
- fixes _fetch_data example request path according to mlflow-1.26.0
- sets protobuf version to fix failing tests
- fixes to_navio() to support kedro path
0.1.5 (2022-09-15)
- fixes the documentation link
- attempts to remove the build badge
- removes installation for development section form readme
- fixes repository on the pypi page
- adds history
0.1.6 (2022-09-15)
- final touches/refactoring to make the repo ready for becoming public
0.1.7 (2022-11-16)
- fixes mlflow version to be <2.0 as it introduces breaking changes in the api
- wraps navio's model deletion api
0.2.0 (2022-11-30)
- resolves mlflow2 incompatibility
- brings model validation checks:prediction, example request and MLmodel metadata schema validation
- makes check_model_serving function public
- adds jsonschema to requirements
- bump tensorflow from 2.9.1 to 2.9.3
- bump pillow from 9.2.0 to 9.3.0
- refactors example tests
0.2.1 (2022-12-07)
- loosens version requirement for jsonschema
- improves and fixes typos in error message texts
- prevents the exception traceback from prediction_call when checking if it is used, to not confuse the user
- brings a descriptive error if model path in code_path
- brings a descriptive error if code_path is not a list
0.2.2 (2023-04-03 )
- bump tensorflow from 2.9.3 to 2.11.1
- updates torch version and adds onnx as requirement
- fixes torch, pyarrow and onnxrutime versions
- fixes the prediction schema to only expect a list as prediction
- bump ipython from 8.4.0 to 8.10.0
- improves the docstring of to_navio function
- bump wheel from 0.37.1 to 0.38.1
0.2.3 (2023-04-xx )
- adds warnings related to limitations for nested inputs and big model.zip size
- make ModelValidator a public class
- adds docstrings to ModelValidator
- makes model validation optional in to_navio(), so one can disable it
- adds (pynavio model validation) to the validation messages so it is clear where they come from
- adds messages for pynavio model validation checks failed(how to disable)/succeeded(how to check model serving)
- updates readme with model validation info
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pynavio-0.2.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4344eaeef81347f63378e34bbfcec2d02358fba90b005f0bce9d063db6455cab |
|
MD5 | dc5d14b46ee6e54569e2adbc74ec2839 |
|
BLAKE2b-256 | 82c2e51c22857c8725c0d02bac252669ed5522c2eb5bda46e6be2431dcd12759 |