# Documentation

## Introduction

- A little about RPyC - related projects, contributors, and logo issues
- Theory of Operation - background on the inner workings of RPyC and the terminology
- Use cases - some common use-cases, demonstrating the power and ease of RPyC
- How to’s - solutions to specific problems
- Guidelines - guidelines for improving your work with RPyC

## Reference

- Servers - using the built-in servers and writing custom ones
- Classic RPyC - using RPyC in slave mode (AKA classic mode), where the client has unrestricted control over the server.
- RPyC Services - writing well-defined services which restrict the operations a client (or server) can carry out.
- Asynchronous Operation - invoking operations in the background, without having to wait for them to finish.
- Security Concerns - keeping security in mind when using RPyC
- Secure Connections - create an encrypted and authenticated connection over SSL or SSH
- Zero-Deploy - spawn temporary, short-lived RPyC server on remote machine with nothing more than SSH and a Python interpreter
- Splitbrain Python - run code locally, but have all OS-level operations take place on the server machine. A killer feature for debugging and automated testing!