sierra-research


Namesierra-research JSON
Version 1.5.1 PyPI version JSON
download
home_pageNone
SummaryAutomation framework for the scientific method in R&D
upload_time2025-11-01 00:45:07
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseCopyright 2022 John Harwell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords agent-based modeling automation parameter sweeps reproducibility research reusability robotics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            ===========================================================================
SIERRA (reSearch pIpEline for Reproducibility, Reusability, and Automation)
===========================================================================

.. |pepy-downloads| image:: https://pepy.tech/badge/sierra-research
                    :target: https://pepy.tech/project/sierra-research

.. |pypi-version| image:: https://img.shields.io/pypi/v/sierra-research.svg
                  :target: https://pypi.python.org/pypi/sierra-research/

.. |supported-pythons| image:: https://img.shields.io/pypi/pyversions/sierra-research.svg

.. |os-supported| image:: https://img.shields.io/badge/os-linux%20%7C%20macOS-blue

.. |ci-analysis-master| image:: https://github.com/jharwell/sierra/actions/workflows/analysis-top.yml/badge.svg?branch=master
.. |ci-coverage-master| image:: https://coveralls.io/repos/github/jharwell/sierra/badge.svg?branch=master

.. |ci-analysis-devel| image:: https://github.com/jharwell/sierra/actions/workflows/analysis-top.yml/badge.svg?branch=devel
.. |ci-coverage-devel| image:: https://coveralls.io/repos/github/jharwell/sierra/badge.svg?branch=devel

.. |license| image:: https://img.shields.io/badge/License-MIT-blue.svg

.. |doi| image:: https://zenodo.org/badge/125774567.svg
         :target: https://zenodo.org/badge/latestdoi/125774567

.. |docs| image:: https://readthedocs.org/projects/sierra/badge/?version=master
          :target: https://sierra.readthedocs.io/en/master/

.. |maintenance| image:: https://img.shields.io/badge/Maintained%3F-yes-green.svg


+---------------+--------------------------------------------------------------------+
| Usage         | |pepy-downloads| |pypi-version| |supported-pythons| |os-supported| |
+---------------+--------------------------------------------------------------------+
| Release       | |ci-analysis-master| |ci-coverage-master|                          |
+---------------+--------------------------------------------------------------------+
| Development   | |ci-analysis-devel| |ci-coverage-devel|                            |
+---------------+--------------------------------------------------------------------+
| Miscellaneous |    |license| |doi| |docs| |maintenance|                            |
+---------------+--------------------------------------------------------------------+


TL;DR
=====

What is SIERRA? See `What is SIERRA?`_

Why should you use SIERRA? See `Why SIERRA?`_

To install SIERRA (requires python 3.9+):

::

   pip3 install sierra-research


SIERRA requires a recent OSX (tested with 13+) or Linux (tested with ubuntu
20.04+) and python >= 3.9. For more details, including the requirements for
project code, see the `SIERRA requirements
<https://sierra.readthedocs.io/en/master/src/requirements.html>`_.

To get started using SIERRA, see `getting started
<https://sierra.readthedocs.io/en/master/src/getting_started.html>`_.

Want to cite SIERRA? See `Citing`_.

Have an issue using SIERRA? See `Troubleshooting`_.

What is SIERRA?
===============

.. figure:: https://raw.githubusercontent.com/jharwell/sierra/master/docs/figures/architecture.png

   SIERRA architecture, organized by pipeline stage, left to right. High-level
   inputs/outputs and active plugins and shown for each stage. “...”  indicates
   areas of further extensibility and customization via new plugins. “Host
   machine” indicates the machine SIERRA was invoked on. The active plugins in
   each stage and what they cumulatively enable are highlighted in red.

SIERRA is a command line tool and plugin framework for:

- Automating R&D, providing faculties for seamless experiment
  generation, execution, and results processing.

- Accelerating R&D cycles by allowing researchers/developers to focus on the
  “science” aspects: developing new things and designing experiments to test
  them, rather than the engineering aspects (writing scripts, configuring
  environments, etc.).

- Improving the reproducibility of scientific research, particularly in AI.

Why SIERRA?
===========

- It changes the paradigm of the engineering tasks researchers must perform
  from manual and procedural to declarative and automated. That is, from::

    "I need to perform these steps to run the experiment, process the data and
    generate the graphs I want."

  to::

    "Here is the environment and simulator/platforms(s) I want to use, the
    deliverables I want to generate, and the data I want to appear on them for
    my research query--GO!"

  Essentially, SIERRA handles the “engineering” parts of research on the
  backend, acting as a compiler of sorts, turning research queries into
  executable objects, running the "compiled" experiments, and processing results
  into visualizations or other deliverables.

- It has deep support for arbitrary parameter sweeps: numeric, categorical, or
  any combination thereof.

- It supports a wide range of execution engines/environments, and experiment
  input/output formats via plugins. SIERRA supports mix-and-match between all
  plugin types, subject to restrictions within the plugins themselves. This is
  and makes it very easy to run experiments on different hardware, targeting
  different simulators, generating different outputs, etc., all with little to
  no configuration changes by the user.

- SIERRA maximizes reusability of code and configuration; it is designed so that
  *no* copy-pasting is ever needed, improving code quality with no additional
  effort from users.

- SIERRA has a rich model framework allowing you to run arbitrary models,
  generate data, and plot it on the same figure as empirical
  results--automatically.

- Why use SIERRA over something like `prefect <https://www.prefect.io>`_,
  `dagster <https://www.dagster.io>`_, or `airflow
  <https://airflow.apache.org>`_ ? Briefly, because SIERRA provides a common
  pipeline which is tested and can accommodate most use cases; SIERRA is not as
  feature complete as these other frameworks, though. For most use cases (but
  not all), that delta doesn't matter. In addition, with the other frameworks,
  you have to create your own pipelines from scratch.

Not sure if SIERRA makes sense for you? Check out some of the `use cases
<https://sierra.readthedocs.io/en/master/src/use-cases.html>`_ for which SIERRA
was designed.  If aspects of any sound familiar, then there is a strong chance
SIERRA could help you! See the `SIERRA docs
<https://sierra.readthedocs.io/en/master/>`_ to get started.

Citing
======

If you use SIERRA and have found it helpful, please cite the following paper::

  @inproceedings{Harwell2022a-SIERRA,
  author = {Harwell, John and Lowmanstone, London and Gini, Maria},
  title = {SIERRA: A Modular Framework for Research Automation},
  year = {2022},
  isbn = {9781450392136},
  publisher = {International Foundation for Autonomous Agents and Multiagent Systems},
  booktitle = {Proceedings of the 21st International Conference on Autonomous Agents and Multiagent Systems},
  pages = {1905–1907}
  }

You can also cite the specific version of SIERRA used with the DOI at the top of
this page, to help facilitate reproducibility.

Troubleshooting
===============

If you have problems using SIERRA, please open an issue or post in the Github
forum and I'll be happy to help you work through it.

Contributing
============

I welcome all types of contributions, no matter how large or how small, and if
you have an idea, I'm happy to talk about it at any point :-). See the
`contributing guide
<https://sierra.readthedocs.io/en/master/src/contributing.html>`_ for the
general procedure.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sierra-research",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "agent-based modeling, automation, parameter sweeps, reproducibility, research, reusability, robotics",
    "author": null,
    "author_email": "John Harwell <john.r.harwell@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/a8/bd/9e4d021c2ae6351aee63c618293c5d5fcec0a5c377b204b94a9a28cc1a9e/sierra_research-1.5.1.tar.gz",
    "platform": null,
    "description": "===========================================================================\nSIERRA (reSearch pIpEline for Reproducibility, Reusability, and Automation)\n===========================================================================\n\n.. |pepy-downloads| image:: https://pepy.tech/badge/sierra-research\n                    :target: https://pepy.tech/project/sierra-research\n\n.. |pypi-version| image:: https://img.shields.io/pypi/v/sierra-research.svg\n                  :target: https://pypi.python.org/pypi/sierra-research/\n\n.. |supported-pythons| image:: https://img.shields.io/pypi/pyversions/sierra-research.svg\n\n.. |os-supported| image:: https://img.shields.io/badge/os-linux%20%7C%20macOS-blue\n\n.. |ci-analysis-master| image:: https://github.com/jharwell/sierra/actions/workflows/analysis-top.yml/badge.svg?branch=master\n.. |ci-coverage-master| image:: https://coveralls.io/repos/github/jharwell/sierra/badge.svg?branch=master\n\n.. |ci-analysis-devel| image:: https://github.com/jharwell/sierra/actions/workflows/analysis-top.yml/badge.svg?branch=devel\n.. |ci-coverage-devel| image:: https://coveralls.io/repos/github/jharwell/sierra/badge.svg?branch=devel\n\n.. |license| image:: https://img.shields.io/badge/License-MIT-blue.svg\n\n.. |doi| image:: https://zenodo.org/badge/125774567.svg\n         :target: https://zenodo.org/badge/latestdoi/125774567\n\n.. |docs| image:: https://readthedocs.org/projects/sierra/badge/?version=master\n          :target: https://sierra.readthedocs.io/en/master/\n\n.. |maintenance| image:: https://img.shields.io/badge/Maintained%3F-yes-green.svg\n\n\n+---------------+--------------------------------------------------------------------+\n| Usage         | |pepy-downloads| |pypi-version| |supported-pythons| |os-supported| |\n+---------------+--------------------------------------------------------------------+\n| Release       | |ci-analysis-master| |ci-coverage-master|                          |\n+---------------+--------------------------------------------------------------------+\n| Development   | |ci-analysis-devel| |ci-coverage-devel|                            |\n+---------------+--------------------------------------------------------------------+\n| Miscellaneous |    |license| |doi| |docs| |maintenance|                            |\n+---------------+--------------------------------------------------------------------+\n\n\nTL;DR\n=====\n\nWhat is SIERRA? See `What is SIERRA?`_\n\nWhy should you use SIERRA? See `Why SIERRA?`_\n\nTo install SIERRA (requires python 3.9+):\n\n::\n\n   pip3 install sierra-research\n\n\nSIERRA requires a recent OSX (tested with 13+) or Linux (tested with ubuntu\n20.04+) and python >= 3.9. For more details, including the requirements for\nproject code, see the `SIERRA requirements\n<https://sierra.readthedocs.io/en/master/src/requirements.html>`_.\n\nTo get started using SIERRA, see `getting started\n<https://sierra.readthedocs.io/en/master/src/getting_started.html>`_.\n\nWant to cite SIERRA? See `Citing`_.\n\nHave an issue using SIERRA? See `Troubleshooting`_.\n\nWhat is SIERRA?\n===============\n\n.. figure:: https://raw.githubusercontent.com/jharwell/sierra/master/docs/figures/architecture.png\n\n   SIERRA architecture, organized by pipeline stage, left to right. High-level\n   inputs/outputs and active plugins and shown for each stage. \u201c...\u201d  indicates\n   areas of further extensibility and customization via new plugins. \u201cHost\n   machine\u201d indicates the machine SIERRA was invoked on. The active plugins in\n   each stage and what they cumulatively enable are highlighted in red.\n\nSIERRA is a command line tool and plugin framework for:\n\n- Automating R&D, providing faculties for seamless experiment\n  generation, execution, and results processing.\n\n- Accelerating R&D cycles by allowing researchers/developers to focus on the\n  \u201cscience\u201d aspects: developing new things and designing experiments to test\n  them, rather than the engineering aspects (writing scripts, configuring\n  environments, etc.).\n\n- Improving the reproducibility of scientific research, particularly in AI.\n\nWhy SIERRA?\n===========\n\n- It changes the paradigm of the engineering tasks researchers must perform\n  from manual and procedural to declarative and automated. That is, from::\n\n    \"I need to perform these steps to run the experiment, process the data and\n    generate the graphs I want.\"\n\n  to::\n\n    \"Here is the environment and simulator/platforms(s) I want to use, the\n    deliverables I want to generate, and the data I want to appear on them for\n    my research query--GO!\"\n\n  Essentially, SIERRA handles the \u201cengineering\u201d parts of research on the\n  backend, acting as a compiler of sorts, turning research queries into\n  executable objects, running the \"compiled\" experiments, and processing results\n  into visualizations or other deliverables.\n\n- It has deep support for arbitrary parameter sweeps: numeric, categorical, or\n  any combination thereof.\n\n- It supports a wide range of execution engines/environments, and experiment\n  input/output formats via plugins. SIERRA supports mix-and-match between all\n  plugin types, subject to restrictions within the plugins themselves. This is\n  and makes it very easy to run experiments on different hardware, targeting\n  different simulators, generating different outputs, etc., all with little to\n  no configuration changes by the user.\n\n- SIERRA maximizes reusability of code and configuration; it is designed so that\n  *no* copy-pasting is ever needed, improving code quality with no additional\n  effort from users.\n\n- SIERRA has a rich model framework allowing you to run arbitrary models,\n  generate data, and plot it on the same figure as empirical\n  results--automatically.\n\n- Why use SIERRA over something like `prefect <https://www.prefect.io>`_,\n  `dagster <https://www.dagster.io>`_, or `airflow\n  <https://airflow.apache.org>`_ ? Briefly, because SIERRA provides a common\n  pipeline which is tested and can accommodate most use cases; SIERRA is not as\n  feature complete as these other frameworks, though. For most use cases (but\n  not all), that delta doesn't matter. In addition, with the other frameworks,\n  you have to create your own pipelines from scratch.\n\nNot sure if SIERRA makes sense for you? Check out some of the `use cases\n<https://sierra.readthedocs.io/en/master/src/use-cases.html>`_ for which SIERRA\nwas designed.  If aspects of any sound familiar, then there is a strong chance\nSIERRA could help you! See the `SIERRA docs\n<https://sierra.readthedocs.io/en/master/>`_ to get started.\n\nCiting\n======\n\nIf you use SIERRA and have found it helpful, please cite the following paper::\n\n  @inproceedings{Harwell2022a-SIERRA,\n  author = {Harwell, John and Lowmanstone, London and Gini, Maria},\n  title = {SIERRA: A Modular Framework for Research Automation},\n  year = {2022},\n  isbn = {9781450392136},\n  publisher = {International Foundation for Autonomous Agents and Multiagent Systems},\n  booktitle = {Proceedings of the 21st International Conference on Autonomous Agents and Multiagent Systems},\n  pages = {1905\u20131907}\n  }\n\nYou can also cite the specific version of SIERRA used with the DOI at the top of\nthis page, to help facilitate reproducibility.\n\nTroubleshooting\n===============\n\nIf you have problems using SIERRA, please open an issue or post in the Github\nforum and I'll be happy to help you work through it.\n\nContributing\n============\n\nI welcome all types of contributions, no matter how large or how small, and if\nyou have an idea, I'm happy to talk about it at any point :-). See the\n`contributing guide\n<https://sierra.readthedocs.io/en/master/src/contributing.html>`_ for the\ngeneral procedure.\n",
    "bugtrack_url": null,
    "license": "Copyright 2022 John Harwell\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy of\n        this software and associated documentation files (the \"Software\"), to deal in\n        the Software without restriction, including without limitation the rights to\n        use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n        the Software, and to permit persons to whom the Software is furnished to do so,\n        subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n        FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n        COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n        IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n        CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Automation framework for the scientific method in R&D",
    "version": "1.5.1",
    "project_urls": {
        "Homepage": "https://github.com/jharwell/sierra"
    },
    "split_keywords": [
        "agent-based modeling",
        " automation",
        " parameter sweeps",
        " reproducibility",
        " research",
        " reusability",
        " robotics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "323dad0258c01a7604485d7e9e4954498bc75f2b61501ef489664f1de75db33b",
                "md5": "6b764a779825740d4335134eb7c4c76b",
                "sha256": "ae71686ffb43d3455034fc812af924ac9c0f84bc530acd9ecd6a764008bfb397"
            },
            "downloads": -1,
            "filename": "sierra_research-1.5.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6b764a779825740d4335134eb7c4c76b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 270084,
            "upload_time": "2025-11-01T00:45:06",
            "upload_time_iso_8601": "2025-11-01T00:45:06.265442Z",
            "url": "https://files.pythonhosted.org/packages/32/3d/ad0258c01a7604485d7e9e4954498bc75f2b61501ef489664f1de75db33b/sierra_research-1.5.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a8bd9e4d021c2ae6351aee63c618293c5d5fcec0a5c377b204b94a9a28cc1a9e",
                "md5": "ca4f09b8de512c660e34ac5ee3b24a7e",
                "sha256": "1bf64b0ad8d36f746df975fb70828128a04f80716d60361799f05292ac2df000"
            },
            "downloads": -1,
            "filename": "sierra_research-1.5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ca4f09b8de512c660e34ac5ee3b24a7e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 1181840,
            "upload_time": "2025-11-01T00:45:07",
            "upload_time_iso_8601": "2025-11-01T00:45:07.944140Z",
            "url": "https://files.pythonhosted.org/packages/a8/bd/9e4d021c2ae6351aee63c618293c5d5fcec0a5c377b204b94a9a28cc1a9e/sierra_research-1.5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-01 00:45:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jharwell",
    "github_project": "sierra",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "sierra-research"
}
        
Elapsed time: 1.09489s