Metadata-Version: 2.1
Name: proxystore
Version: 0.4.1
Summary: Python lazy object proxy interface for distributed stores.
Author: Globus Labs
Author-email: Greg Pauloski <jgpauloski@uchicago.edu>
Maintainer-email: Greg Pauloski <jgpauloski@uchicago.edu>, Valerie Hayot-Sasson <vhayot@uchicago.edu>
License: FILE
Project-URL: homepage, https://github.com/proxystore/proxystore
Project-URL: documentation, https://proxystore.readthedocs.io
Project-URL: repository, https://github.com/proxystore/proxystore
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cloudpickle (>=1.6.0)
Requires-Dist: cryptography (>=39.0.1)
Requires-Dist: globus-sdk (>=3.3.0)
Requires-Dist: lazy-object-proxy (>=1.6.0)
Requires-Dist: redis (>=3.4)
Requires-Dist: requests (>=2.27.1)
Requires-Dist: typing-extensions (>=4.3.0)
Requires-Dist: importlib-metadata ; python_version < "3.8"
Provides-Extra: dev
Requires-Dist: black ; extra == 'dev'
Requires-Dist: covdefaults (>=2.2) ; extra == 'dev'
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-asyncio ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pytest-timeout ; extra == 'dev'
Requires-Dist: ruff ; extra == 'dev'
Requires-Dist: tox ; extra == 'dev'
Requires-Dist: types-redis ; extra == 'dev'
Requires-Dist: types-requests ; extra == 'dev'
Requires-Dist: virtualenv ; extra == 'dev'
Requires-Dist: asynctest ; (python_version < "3.8") and extra == 'dev'
Provides-Extra: docs
Requires-Dist: black ; extra == 'docs'
Requires-Dist: mkdocs-gen-files ; extra == 'docs'
Requires-Dist: mkdocs-literate-nav ; extra == 'docs'
Requires-Dist: mkdocs-material ; extra == 'docs'
Requires-Dist: mkdocs-section-index ; extra == 'docs'
Requires-Dist: mkdocstrings[python] ; extra == 'docs'
Requires-Dist: mike ; extra == 'docs'
Provides-Extra: endpoints
Requires-Dist: aiortc (>=1.3.2) ; extra == 'endpoints'
Requires-Dist: hypercorn[uvloop] (>=0.13.0) ; extra == 'endpoints'
Requires-Dist: psutil ; extra == 'endpoints'
Requires-Dist: python-daemon ; extra == 'endpoints'
Requires-Dist: quart (>=0.18.0) ; extra == 'endpoints'
Requires-Dist: websockets (>=10.0) ; extra == 'endpoints'
Requires-Dist: pyzmq ; extra == 'endpoints'

# ProxyStore

[![docs](https://github.com/proxystore/proxystore/actions/workflows/docs.yml/badge.svg)](https://github.com/proxystore/proxystore/actions/workflows/docs.yml)
[![tests](https://github.com/proxystore/proxystore/actions/workflows/tests.yml/badge.svg?label=tests)](https://github.com/proxystore/proxystore/actions)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/proxystore/proxystore/main.svg)](https://results.pre-commit.ci/latest/github/proxystore/proxystore/main)

ProxyStore provides a unique interface to object stores through transparent
object proxies that is designed to simplify the use of object stores for
transferring large objects in distributed applications.
ProxyStore's goals are to:

* **Improve productivity.** ProxyStore enables easy decoupling of
  communication from the rest of the code, allowing developers to focus
  on functionality and performance.
* **Improve compatibility.** Consumers of data can be agnostic to the
  communication method because object proxies handle the communication
  behind the scenes.
* **Improve performance.** Transport methods and object stores can be changed
  at runtime to optimal choices for the given data without the consumers
  being aware of the change.

## Installation

Install via pip:
```bash
# Base install
pip install proxystore
# Extras install for serving Endpoints
pip install proxystore[endpoints]
```

More details are available on the [Get Started](https://docs.proxystore.dev/getstarted) guide.
For local development, see the [Contributing](https://docs.proxystore.dev/contributing) guide.

## Documentation

Complete documentation for ProxyStore at https://proxystore.dev.
