Skip to main content

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


Download files

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

Source Distribution

pynavio-0.2.4.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pynavio-0.2.4-py2.py3-none-any.whl (23.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pynavio-0.2.4.tar.gz.

File metadata

  • Download URL: pynavio-0.2.4.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for pynavio-0.2.4.tar.gz
Algorithm Hash digest
SHA256 0915462459f56e645e40829b74e6f3bb11c46a7cef6a54d827b27de4165b9bc2
MD5 4d7cb7e21eb5bb91712a85bb77b89111
BLAKE2b-256 45d94010ff3a6924332642d1f5213e45e39f50d212c44ff04bfa952749bd4a1b

See more details on using hashes here.

File details

Details for the file pynavio-0.2.4-py2.py3-none-any.whl.

File metadata

  • Download URL: pynavio-0.2.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for pynavio-0.2.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4344eaeef81347f63378e34bbfcec2d02358fba90b005f0bce9d063db6455cab
MD5 dc5d14b46ee6e54569e2adbc74ec2839
BLAKE2b-256 82c2e51c22857c8725c0d02bac252669ed5522c2eb5bda46e6be2431dcd12759

See more details on using hashes here.

Supported by

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