Skein

skeins of yarn

skein /skān/ noun

  1. A quantity of yarn, thread, or the like, put up together, after it is taken from the reel.

Skein is a simple library and command-line interface (CLI) for deploying applications on Apache YARN. While YARN has many features that make it powerful for developing resilient applications, these features also can make it difficult for developers to use.

Skein is easy to use, providing just as much YARN as your project needs.

Highlights

  • No Java required! Compose and deploy applications using either the native Python API or the CLI.
  • A declarative, language independent specification allowing applications to be deployed in any language.
  • Support for dynamic applications. Containers can be started and stopped at runtime, allowing for services to scale to your needs.
  • An internal Key-Value Store for coordinating state between application containers.
  • An extensible Web UI for tracking and interacting with applications.
  • A rigorous test suite. Skein is tested on multiple YARN configurations to ensure wide support.

Installation

Skein doesn’t require elevated user privileges or cluster-wide configuration to use. Simply install it on an edge node and get started.

Install with Conda:

conda install -c conda-forge skein

Install with Pip:

pip install skein

Install from source:

Skein is available on github and can always be installed from source. Note that this requires Apache Maven to build.

git clone https://github.com/jcrist/skein.git
cd skein
pip install .