ProxyStore Schematic

Figure 1: High-level overview of how the ProxyStore components fit together.

ProxyStore is composed of three main components: the Proxy, Connector, and Store.

The Proxy model provides pass-by-reference semantics and just-in-time object resolution transparently to consumers.

The Connector is a Protocol that defines the low-level interface to a mediated communication channel or object store. Many Connector implementations are provided in the proxystore.connectors module, and users can easily create their own.

The Store is a high-level abstraction of an object store and the intended means by which an application uses ProxyStore. The Store is initialized with a Connector and provides extra functionality like caching and serialization. Most important is that the .proxy() method is provided which can produce a Proxy of an arbitrary object put in the store.

Continue reading to learn more about these concepts.