Fixie: Cyclus-as-a-Service

Fixie is a xonsh-powered Cyclus cloud. Fixie is thus a collection of services, each in their own package, which are managed by the top-level fixie command and package. Currently available services are:

  • fixie-creds: A credentialing service for managing and validating users.
  • fixie-batch: A batch execution and queuing service for running Cyclus jobs.
  • fixie-data: A service for manganing Cyclus databases and related files.

Installation

You can use conda or pip to install any or all of the fixie services, as well as the top-level fixie package. For example,

conda

$ conda install -c conda-forge fixie fixie-batch

pip

$ pip install fixie fixie-batch

Note

For some services, such as fixie-batch, Cyclus is required. While there is a Cyclus package available in conda-forge, there is not one on PyPI, and you would need to install Cyclus yourself.

Quick Start

Fixie is a command line application that starts up a Tornado web service. By default, all services that are installed on a machine are started. However, you can choose to run just a subset of services that interest you. For example,

$ fixie creds batch
server:starting fixie http://localhost:8642
...

For more information, please see the Usage page. You can then POST JSON to various URLs that the services enable. For instance, to register a new user, you could:

$  curl -X POST http://localhost:8642/register -d '{"user": "buttercup", "email": "tpb@example.com"}'

Contributing

We highly encourage contributions to rever! If you would like to contribute, it is as easy as forking the repository on GitHub, making your changes, and issuing a pull request. See the Developer’s Guide for more information about contributing.