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"}'
Contents¶
Guides:
Development Spiral:
- Fixie API
- JSON Validating Request Handler (
fixie.request_handler
) - Environment (
fixie.environ
) - Logger (
fixie.logger
) - Command Line Interface (
fixie.main
) - General Purpose Fixie Tools (
fixie.tools
) - JSON Utilities (
fixie.jsonutils
) - Credentials Cache (
fixie_creds.cache
) - Credentials Environment (
fixie_creds.environ
) - Credentials Request Handlers (
fixie_creds.handlers
) - Batch Simulation Execution & Management (
fixie_batch.simulations
) - Batch Environment (
fixie_batch.environ
) - Batch Request Handlers (
fixie_batch.handlers
) - Data Paths (
fixie_data.paths
) - Data Request Handlers (
fixie_data.handlers
)
- JSON Validating Request Handler (
- Developer’s Guide
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.