Welcome to pylm’s documentation! — pylm 0.14.1 documentation

# Welcome to pylm’s documentation!

Pylm is the Python implementation of PALM, a framework to build clusters of high performance backend components. It is presented in two different levels of abstraction. In the high level API you will find servers and clients that are functional out of the box. Use the high level API if you are interested in simple communication patterns like client-server, master-slave or a streaming pipeline. In the low level API there are a variety of small components that, once combined, they can be used to implement almost any kind of component. It’s what the high level API uses under the hood. Choose the low level API if you are interested in creating your custom component and your custom communication pattern.

Important

Pylm requires a version of Python equal or higher than 3.4, and it is more thoroughly tested with Python 3.5.

Pylm is released under a dual licensing scheme. The source is released as-is under the the AGPL version 3 license, a copy of the license is included with the source. If this license does not suit you, you can purchase a commercial license from NFQ Solutions

Pylm is a project developed by Guillem Borrell for NFQ Solutions.

- Introduction
- High level API
  - Servers
    - Cache
    - Scatter messages from the master to the workers
    - Gather messages from the workers
  - The PALM message
  - Server features
    - Errors
    - Logging
    - Playing with the stream of messages
  - Clients
  - Workers
  - The Pipeline server
    - Controlling the messages down the pipeline
  - The Hub server
- Low level API
  - Building components from separate parts
    - The router
    - The parts
    - Services and connections
    - Bypass parts
  - Using HTTP
  - Turning a PALM master into a microservice
- High level API documentation
  - Servers
  - Clients
- Low level API documentation
  - The router and the parts
  - The server templates
  - Services
  - Gateways
  - Connections
- Examples
  - Simple server and client communication
  - Simple parallel server and client communication
  - Cache operation for the standalone parallel version
  - Usage of the scatter function
  - Usage of the gather function
  - A pipelined message stream
  - A pipelined message stream forming a tee
  - A pipelined message stream forming a tee and controls the stream of messages
  - Connecting a pipeline to a master
  - Connecting a hub to a server
  - Building a master server from its components
  - Turning a master into a web server with the HTTP gateway
  - Using server-less infrastructure as workers via the HTTP protocol
- Adapting your components to the pylm registry
- Beyond Python
  - A Simple worker in C++

## Indices and tables

- Index
- Module Index
- Search Page

This project has been funded by the Spanish Ministry of Economy and Competitivity under the grant IDI-20150936, cofinanced with FEDER funds.