Skip to main content

Simons Observatory Control System

Project description

PyPI Package PyPI - Python Version docker PyPI - License
GitHub Workflow Status pre-commit.ci status coverage Documentation Status

Overview

This repository, SOCS, contains hardware control code for the Simons Observatory. This code operates within the framework provided by OCS.

Installation

Install and update with pip:

$ pip3 install -U socs

You may install optional dependencies by including one or more agent group names on installation, for example:

$ pip3 install -U socs[labjack,synacc]

For a complete list of agent groups see the Installation Documentation.

If you would like to install all optional dependencies use the special varient “all”:

$ pip3 install -U socs[all]

Note: Not all optional dependencies can be installed this way. See the Installation Documentation for more info on specific agent dependencies.

Installing from Source

If you are considering contributing to SOCS, or would like to use an unreleased feature, you will want to install from source. To do so, clone this repository and install using pip:

git clone https://github.com/simonsobs/socs.git
cd socs/
pip3 install -r requirements.txt
pip3 install .

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

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.

Test images will be tagged with the latest released version tag, the number of commits ahead of that release, the latest commit hash, i.e. v0.0.2-81-g9c10ba6-dev. These get built on each commit to the main branch, and are useful for testing and development, but should be considered unstable.

Documentation

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.

Tests

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.

Contributing

For guidelines on how to contribute to OCS see CONTRIBUTING.rst.

License

This project is licensed under the BSD 2-Clause License - see the LICENSE.txt file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

socs-0.5.7.tar.gz (430.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

socs-0.5.7-py3-none-any.whl (517.5 kB view details)

Uploaded Python 3

File details

Details for the file socs-0.5.7.tar.gz.

File metadata

  • Download URL: socs-0.5.7.tar.gz
  • Upload date:
  • Size: 430.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for socs-0.5.7.tar.gz
Algorithm Hash digest
SHA256 fc88630792a6ec09c4b40c8d127c744f644dba1ac2d7f24cfc440cdbab193c28
MD5 839b6c9b21c8808d59b663ffe10e7781
BLAKE2b-256 bc26ce2e512d52f923c9332c9ab3986ca3e73bc36dee8969e90e5303b5ac81fe

See more details on using hashes here.

File details

Details for the file socs-0.5.7-py3-none-any.whl.

File metadata

  • Download URL: socs-0.5.7-py3-none-any.whl
  • Upload date:
  • Size: 517.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for socs-0.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 68d6a3c970eadea7aba1969f32ff88e53174f771b50995d34dbc7c2eb3d2599c
MD5 4eec7722254a77c79c517525959d609e
BLAKE2b-256 19656a5afbed06cd9d0e94556c97c14a450bab134f9cbbc0d4855c868af81d0e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page