Skip to content

Latest commit

 

History

History
59 lines (35 loc) · 2.38 KB

README.adoc

File metadata and controls

59 lines (35 loc) · 2.38 KB

mops

mops is a Python library for ML Operations.

Jump to Quickstart if you are impatient prefer examples, like me!

mops solves for four core design goals:

  • Efficient transfer of pure function execution to remote execution environments with more &| different compute resources

  • Everything is written in standard Python with basic Python primitives; no frameworks, YAML, DSLs…​

  • Memoization — i.e. reproducibility and fault tolerance — for individual functions.

  • Droppability: mops shouldn’t entangle itself with your code, and you should always be able to run your code with or without mops in the loop.

Requirements

It is usually used with remote compute on:

  • Kubernetes, with code distributed as a Docker image

---or---

  • dbxtend (currently internal-only), with code distributed to Databricks as Python wheels.

It optionally integrates with:

  • joblib for local parallelism.

Limitations

It has some limitations.

Tools & Debugging

Development

If making changes to the library, please bump the version in pyproject.toml accordingly.

Also look at our changelog.

Running tests

  • poetry run pytest tests --test-uri-root file://./mops-tests

  • poetry run pytest tests -m integration --test-uri-root file://./mops-tests

If you want to run tests against a non-bundled blob store, you will need to make sure that blob store is installed in the venv before running the tests.