Appose Documentation

Appose is a library for interprocess cooperation with shared memory. The guiding principles are simplicity and efficiency.

Appose was written to enable easy execution of Python-based deep learning from Java without copying tensors, but its utility extends beyond that.

Build Status

Key Features

  • Zero-copy tensor sharing via shared memory

  • Simple API with minimal dependencies

  • Multi-language support - Java, Python, and more

  • Asynchronous execution with callbacks for status updates

  • Environment management - build isolated environments with dependencies

  • Flexible architecture - supports custom worker implementations

Quick Example

import appose
env = appose.system()
with env.groovy() as groovy:
    task = groovy.task("5 + 6")
    task.wait_for()
    result = task.result()
    # result == 11

How Appose Works

The workflow for using Appose follows these steps:

  1. Build an Environment with the dependencies you need

  2. Create a Service linked to a worker process

  3. Execute scripts on the worker by launching Tasks

  4. Receive status updates from tasks asynchronously via callbacks

Indices and tables