Skip to main content

No project description provided

Project description

Pypi version Tests Python tests coverage PyPI - Python Version

serialzy

Serialzy is a library for python objects serialization into portable and interoperable data formats (if possible).

Example

Suppose you have a catboost model:

from catboost import CatBoostClassifier

model = CatBoostClassifier()
model.fit(...)

Firstly you should find a proper serializer for the catboost model type or the corresponding data format:

from serialzy.registry import DefaultSerializerRegistry

registry = DefaultSerializerRegistry()
serializer = registry.find_serializer_by_type(type(model)) # registry.find_serializer_by_data_format("cbm")

Serializers have several properties:

serializer.available()      # can be used in the current environment
serializer.requirements()   # libraries needed to be installed to use this serializer
serializer.stable()         # has portable data format

Serializers can provide data format and schema for a type:

serializer.data_format()
serializer.schema(type(model))

Serialization:

with open('model.cbm', 'wb') as file:
    serializer.serialize(model, file)

Deserialization:

with open('result', 'rb') as file:
    deserialized_obj = serializer.deserialize(file)

List of supported libraries for stable serialization:

Library Types Data format
Python std lib int, str, float, bool, None string representation
Python std lib List, Tuple custom format
CatBoost CatBoostRegressor, CatBoostClassifier, CatBoostRanker cbm
CatBoost Pool quantized pool
Tensorflow.Keras Sequential, Model with subclasses tf_keras
Tensorflow Checkpoint, Module with subclasses tf_pure
LightGBM LGBMClassifier, LGBMRegressor, LGBMRanker lgbm
XGBoost XGBClassifier, XGBRegressor, XGBRanker xgb
Torch Module with subclasses pt

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

serialzy-1.3.1.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

serialzy-1.3.1-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file serialzy-1.3.1.tar.gz.

File metadata

  • Download URL: serialzy-1.3.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for serialzy-1.3.1.tar.gz
Algorithm Hash digest
SHA256 dd6b237ba5ffcbfac82b5a80a130c731218525eee6ad6b37446d856e8eb7d1a5
MD5 1744a21132e9e9a2433244114461c74f
BLAKE2b-256 0e43f27a5cdb14048f15ae5900174670f6a8aa1316501bcf8288a71e0803f99e

See more details on using hashes here.

File details

Details for the file serialzy-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: serialzy-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for serialzy-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6b05cd392b669d69c2c30a3ba5906d94cc50b2f5ab115c61cda0a5a9fb92e14c
MD5 43fd74610870da83cf209edf1030e337
BLAKE2b-256 9c3092eb2d7eb0085e00d83bba71759db974502d186cd2db124deb64cb8aa883

See more details on using hashes here.

Supported by

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