Metadata-Version: 2.1
Name: pylzy
Version: 1.15.0rc1
Author: ʎzy developers
License: Apache-2.0
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aioboto3>=9.6.0
Requires-Dist: appdirs<2.0.0,>=1.4.4
Requires-Dist: azure-storage-blob<13.0.0,>=12.9.0
Requires-Dist: beartype<1.0.0,>=0.10.0
Requires-Dist: botocore>=1.27.59
Requires-Dist: cached-property<2.0.0,>=1.5.1; python_version < "3.8"
Requires-Dist: cloudpickle<3.0.0,>=2.1.0
Requires-Dist: grpcio>=1.46.0
Requires-Dist: googleapis-common-protos>=1.56.3
Requires-Dist: importlib-metadata>=4.8.1
Requires-Dist: packaging>=21.3.0
Requires-Dist: pip>=10.0
Requires-Dist: protobuf>=4.21.1
Requires-Dist: pycryptodome<4.0.0,>=3.15.0
Requires-Dist: pyjwt[crypto]<3.0.0,>=2.4.0
Requires-Dist: pypi-simple<2.0.0,>=1.1.0
Requires-Dist: pyyaml<7.0.0,>=6.0.0
Requires-Dist: requests<3.0.0,>=2.26.0
Requires-Dist: serialzy<2.0.0,>=1.2.0
Requires-Dist: stdlib-list<1.0.0,>=0.8.0; python_version < "3.10"
Requires-Dist: tqdm<5.0.0,>=4.64.0
Requires-Dist: typing-extensions>=4.4.0

[![Pypi version](https://img.shields.io/pypi/v/pylzy)](https://pypi.org/project/pylzy/)
[![Tests](https://github.com/lambda-zy/lzy/actions/workflows/pull-tests.yaml/badge.svg)](https://github.com/lambda-zy/lzy/actions/workflows/pull-tests.yaml)
[![Java tests coverage](https://gist.githubusercontent.com/mrMakaronka/be651155cb12a8006cecdee948ce1a0a/raw/master-java-coverage.svg)]()
[![Python tests coverage](https://gist.githubusercontent.com/mrMakaronka/0095e900fb0fcbe5575ddc3c717fb65b/raw/master-coverage.svg)](https://github.com/lambdazy/lzy/tree/master/pylzy/tests)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pylzy.svg)](https://pypi.org/project/pylzy/)
[![Telegram chat](https://img.shields.io/badge/chat-on%20Telegram-2ba2d9.svg)](https://t.me/+ad3OA-J96b9jYWJi)

# ʎzy

ʎzy is a platform for a hybrid execution of ML workflows that transparently integrates local and remote runtimes
with the following properties:

- Python-native SDK
- Automatic env (pip/conda) sync
- K8s-native runtime
- Resources allocation on-demand
- Env-independent results storage

## Quick start

ʎzy allows running any python functions on a cluster by annotating them with `@op` decorator:

```python
@op(gpu_count=1, gpu_type=GpuType.V100.name)
def train(data_set: Bunch) -> CatBoostClassifier:
    cb_model = CatBoostClassifier(iterations=1000, task_type="GPU", devices='0:1', train_dir='/tmp/catboost')
    cb_model.fit(data_set.data, data_set.target, verbose=True)
    return cb_model


# local python function call
model = train(data_set)

# remote call on a cluster
lzy = Lzy()
with lzy.workflow("training"):
    model = train(data_set)
```

Please read the [tutorial](https://github.com/lambdazy/lzy/tree/master/docs/tutorials/0-contents.md) for details.

## Runtime

Check out our [key concepts](https://github.com/lambdazy/lzy/tree/master/docs/arch/key-concepts.md) and [architecture intro](https://github.com/lambdazy/lzy/tree/master/docs/arch/intro_en.md).

## Community

Join our chat [on telegram](https://t.me/+ad3OA-J96b9jYWJi)!

## Development

Development [guide](https://github.com/lambdazy/lzy/tree/master/docs/development.md).

## Deployment

Deployment guide.

* [YCloud](https://github.com/lambdazy/lzy/tree/master/docs/deployment_ycloud.md)
