{"id":18620520,"url":"https://github.com/simonsobs/sorunlib","last_synced_at":"2026-01-03T18:30:32.644Z","repository":{"id":37904705,"uuid":"438731426","full_name":"simonsobs/sorunlib","owner":"simonsobs","description":"High level library for running observatory operations using OCS.","archived":false,"fork":false,"pushed_at":"2024-05-22T01:33:08.000Z","size":199,"stargazers_count":0,"open_issues_count":15,"forks_count":0,"subscribers_count":28,"default_branch":"main","last_synced_at":"2024-05-22T02:37:31.480Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonsobs.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-15T18:22:40.000Z","updated_at":"2024-05-22T02:37:40.056Z","dependencies_parsed_at":"2023-12-18T18:00:02.687Z","dependency_job_id":"7794268d-35e7-4c04-8a42-da8d67a65be6","html_url":"https://github.com/simonsobs/sorunlib","commit_stats":{"total_commits":98,"total_committers":3,"mean_commits":"32.666666666666664","dds":"0.26530612244897955","last_synced_commit":"8bf31e3c8e3aaab5cccf2a408a06ea51d92f7387"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fsorunlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fsorunlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fsorunlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fsorunlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonsobs","download_url":"https://codeload.github.com/simonsobs/sorunlib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244293974,"owners_count":20429929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T04:06:39.174Z","updated_at":"2026-01-03T18:30:32.639Z","avatar_url":"https://github.com/simonsobs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"========\nsorunlib\n========\n\n| |pypi| |versions| |license|\n| |tests| |pre-commit| |coverage| |docs|\n\nOverview\n--------\n\nA high level library for running observatory operations. `sorunlib` handles\nconnecting to and controlling multiple OCS Agents, sending the appropriate\ncommands for orchestrating observations for a single telescope platform.\n\nInstallation\n------------\n\nInstall and update using pip::\n\n    $ pip install -U sorunlib\n\nInstall optional dependencies with::\n\n    $ pip install -U sorunlib[dev]\n    $ pip install -U sorunlib[docs]\n    $ pip install -U sorunlib[dev,docs]\n\nDocumentation\n-------------\n\nThe sorunlib documentation can be built using Sphinx. Be sure to install the\noptional \"docs\" dependencies when installing above. Then run::\n\n  $ cd docs/\n  $ make html\n\nYou can then open ``docs/_build/html/index.html`` in your preferred web\nbrowser. You can also find a copy hosted on `Read the Docs`_.\n\n.. _Read the Docs: https://sorunlib.readthedocs.io/en/latest/\n\nTests\n-----\n\nThe tests can be run using pytest, and should be run from the ``tests/``\ndirectory::\n\n    $ cd tests/\n    $ python3 -m pytest\n\nContributing\n------------\n\nFor guidelines on how to contribute to sorunlib see `CONTRIBUTING.rst`_.\n\n.. _CONTRIBUTING.rst: https://github.com/simonsobs/sorunlib/blob/main/CONTRIBUTING.rst\n\nLicense\n-------\n\nThis project is licensed under the BSD 2-Clause License - see the\n`LICENSE.txt`_ file for details.\n\n.. _LICENSE.txt: https://github.com/simonsobs/sorunlib/blob/main/LICENSE.txt\n\n\n.. |coverage| image:: https://codecov.io/github/simonsobs/sorunlib/graph/badge.svg?token=701SYU7A4I\n    :target: https://codecov.io/github/simonsobs/sorunlib\n\n.. |docs| image:: https://readthedocs.org/projects/sorunlib/badge/?version=latest\n    :target: https://sorunlib.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n.. |license| image:: https://img.shields.io/pypi/l/sorunlib\n   :target: LICENSE.txt\n   :alt: PyPI - License\n\n.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/simonsobs/sorunlib/main.svg\n   :target: https://results.pre-commit.ci/latest/github/simonsobs/sorunlib/main\n   :alt: pre-commit.ci status\n\n.. |pypi| image:: https://img.shields.io/pypi/v/sorunlib\n   :target: https://pypi.org/project/sorunlib/\n   :alt: PyPI - Version\n\n.. |tests| image:: https://github.com/simonsobs/sorunlib/actions/workflows/pytest.yml/badge.svg\n    :target: https://github.com/simonsobs/sorunlib/actions/workflows/pytest.yml\n    :alt: GitHub Actions Workflow Status\n\n.. |versions| image:: https://img.shields.io/pypi/pyversions/sorunlib\n   :alt: PyPI - Python Version\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsobs%2Fsorunlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonsobs%2Fsorunlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsobs%2Fsorunlib/lists"}