# API Reference

## Serialization

- Brine - A simple and fast serialization format for immutable data (numbers, string, tuples, etc.). Brine is the “over-the-wire” encoding format of RPyC.

- Vinegar - A configurable serializer for exceptions. Vinegar extracts the exception’s details and stores them in a brine-friendly format.

## IO Layer

- Streams - The stream layer (byte-oriented, platform-agnostic streams)

- Channel - The channel layer (framing and compression)

## Protocol

- Protocol - The RPyC protocol (`Connection` class)

- Service - The RPyC service model

- Netref - Implementation of transparent object proxies (netrefs)

- Async - Asynchronous object proxies (netrefs)

## Server-Side

- Server - The core implementation of RPyC servers; includes the implementation of the forking and threaded servers.

- Registry - Implementation of the Service Registry; the registry is a bonjour-like discovery agent, with which RPyC servers register themselves, and allows clients to locate different servers by name.

- Authenticators - Implementation of two common authenticators, for SSL and TLSlite.

## Client-Side

- Factories - general-purpose connection factories (over pipes, sockets, SSL, SSH, TLSlite, etc.)

- Classic - Classic-mode factories and utilities

- Helpers - Various helpers (`timed`, `async_`, `buffiter`, `BgServingThread`, etc.)

## Misc

- Zero-Deploy RPyC - Deploy short-living RPyC servers on remote machines with ease - all you’ll need is SSH access and a Python interpreter installed on the host