This repository, SOCS, contains hardware control code for the Simons Observatory. This code operates within the framework provided by OCS.
To install SOCS, clone the repository and install with pip:
git clone https://github.com/simonsobs/socs.git
cd socs/
pip3 install -r requirements.txt .
In order for OCS tools to find these agents, you must add the full
path to the agents directory, e.g. /home/simons/code/socs/agents/
,
to your OCS site config file. Do so by adding the following under your
configured host if it does not already exist:
# List of additional paths to Agent plugin modules.
'agent-paths': [
'/path/to/socs/agents/',
],
See the ocs docs for more details.
Docker images for SOCS and each Agent are available on Docker Hub. Official
releases will be tagged with their release version, i.e. v0.1.0
. These are
only built on release, and the latest
tag will point to the latest of these
released tags. These should be considered stable.
Development images will be tagged with the latest released version tag, the
number of commits ahead of that release, the latest commit hash, and the tag
-dev
, i.e. v0.0.2-81-g9c10ba6-dev
. These get built on each commit to
the develop
branch, and are useful for testing and development, but should
be considered unstable.
The SOCS documentation can be built using Sphinx. There is a separate
requirements.txt
file in the docs/
directory to install Sphinx and any
additional documentation dependencies:
cd docs/ pip3 install -r requirements.txt make html
You can then open docs/_build/html/index.html
in your preferred web
browser. You can also find a copy hosted on Read the Docs.
The tests for SOCS are run using pytest, and should be run from the
tests/
directory:
$ cd tests/ $ python3 -m pytest --cov
For more details see tests/README.rst.
For guidelines on how to contribute to OCS see CONTRIBUTING.rst.
This project is licensed under the BSD 2-Clause License - see the LICENSE.txt file for details.