sierra-research


Namesierra-research JSON
Version 1.3.6 PyPI version JSON
download
home_pagehttps://github.com/jharwell/sierra
SummaryAutomation framework for the scientific method in AI research
upload_time2024-04-01 09:28:33
maintainerNone
docs_urlNone
authorJohn Harwell
requires_python>=3.8
licenseMIT
keywords research automation robotics agent-based modeling reproducibility reusability
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
                       :target: https://pypi.python.org/pypi/sierra-research/

.. |linux-supported| image:: https://img.shields.io/badge/os-Linux-crimson
.. |osx-supported| image:: https://img.shields.io/badge/os-OSX-crimson

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

.. |ci-integration-devel| image:: https://github.com/jharwell/sierra/actions/workflows/integration-all.yml/badge.svg?branch=devel
.. |ci-analysis-devel| image:: https://github.com/jharwell/sierra/actions/workflows/static-analysis.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
                  :target: https://gitHub.com/jharwell/sierra/graphs/commit-activity


:Usage:
   |pepy-downloads| |pypi-version| |supported-pythons| |linux-supported|
   |osx-supported|

:Release:

   |ci-analysis-master| |ci-integration-master| |ci-coverage-master|

:Development:

   |ci-analysis-devel| |ci-integration-devel| |ci-coverage-devel|

:Misc:

   |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.8+):

::

   pip3 install sierra-research

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. Stages are listed left to
   right, and an approximate joint architectural/functional stack is top to
   bottom for each stage. “...” indicates areas where SIERRA is designed via
   plugins to be easily extensible. “Host machine” indicates the machine SIERRA
   was invoked on.

SIERRA is a command line tool and plugin framework for:

- Automating scientific research, providing faculties for seamless experiment
  generation, execution, and results processing.

- Accelerating research cycles by allowing researchers to focus on the “science”
  aspects: developing new things and designing experiments to test them.

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


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

- SIERRA 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::

    "OK SIERRA: Here is the environment and simulator/robot platform 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, such as: generating experiments, configuring execution environments
  or platforms, running the generated experiments, and processing experimental
  results to generate statistics, and/or visualizations. It also handles random
  seeds, algorithm stochasticity, and other low-level details.

- It eliminates manual reconfiguration of experiments across simulator/robot
  platforms by decoupling the concepts of execution environment and platform;
  any supported pair can be selected in a mix-and-match fashion (see `SIERRA
  Support Matrix`_). Thus, it removes the need for throw-away scripts for data
  processing and deliverable generation.

- SIERRA can be used with code written in any language; only bindings must be
  written in python.

- 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.

- Its deeply modular architecture makes it easy to customize for the needs
  of a specific research project.

Not sure if SIERRA makes sense for your research? Consider the following use
cases:

- `Use Case #1: Alice The Robotics Researcher`_

- `Use Case #2: Alice The Contagion Modeler`_

If aspects of either use case sound familiar, then there is a strong chance
SIERRA could help you! SIERRA is well documented--see the `SIERRA docs
<https://sierra.readthedocs.io/en/master/>`_ to get started.

Use Case #1: Alice The Robotics Researcher
------------------------------------------

Alice is a researcher at a large university that has developed a new distributed
task allocation algorithm ``$\alpha$`` for use in a foraging task where
robots must coordinate to find objects of interest in an unknown environment and
bring them to a central location. Alice wants to implement her algorithm so she
can investigate:

- How well it scales with the number of robots, specifically if it remains
  efficient with up to 1000 robots in several different scenarios.

- How robust it is with respect to sensor and actuator noise.

- How it compares to other similar state of the art algorithms on a foraging
  task: ``$\beta,\gamma$``.

Alice is faced with the following heterogeneity matrix which she has to deal
with to answer her research queries, *in addition to the technical challenges of
the AI elements themselves*:

.. list-table::
   :header-rows: 1
   :widths: 25,25,25

   * - Algorithm

     - Contains stochasticity?

     - Outputs data in?

   * - ``$\alpha$``

     - Yes

     - CSV, rosbag

   * - ``$\beta$``

     - Yes

     - CSV, rosbag

   * - ``$\gamma$``

     - No

     - rosbag

Alice is familiar with ROS, and wants to use it with large scale simulated and
small scale real-robot experiments with TurtleBots. However, for real robots she
is unsure what data she will ultimately need, and wants to capture all ROS
messages, to avoid having to redo experiments later.  She has access to a large
SLURM-managed cluster, and prefers to develop code on her laptop.

Use Case #2: Alice The Contagion Modeler
----------------------------------------

Alice has teamed with Bob, a biologist, to model the spread of contagion among
agents in a population, and how that affects their individual and collective
abilities to do tasks. She believes her ``$\alpha$`` algorithm can be reused
in this context. However, Bob is not convinced and has selected several
multi-agent models from recent papers: ``$\delta,\epsilon$``, and wants
Alice to compare ``$\alpha$`` to them. ``$\delta$`` was originally
developed in NetLogo, for modeling disease transmission in
animals. ``$\epsilon$`` was originally developed for ARGoS to model the
effects of radiation on robots.

Alice is faced with the following heterogeneity matrix which she must deal with
with to answer her research query, *in addition to the technical challenges of
the AI elements themselves*:

.. list-table::
   :header-rows: 1
   :widths: 25,25,25

   * - Algorithm

     - Can Run On?

     - Input Requirements?

   * - ``$\alpha$``

     - ROS/Gazebo

     - XML

   * - ``$\delta$``

     - NetLogo

     - NetLogo

   * - ``$\epsilon$``

     -  ARGoS

     -  XML

Bob is interested in how the rate of contagion spread varies with agent velocity
and population size. Bob needs to prepare succinct, comprehensive visual
representations of the results of this research queries for a a presentation,
including visual comparisons of the multi-agent model as it runs for each
algorithm. He will give Alice a range of parameter values to test for each
algorithm based on his ecological knowledge, and rely on Alice to perform the
experiments. For this project, Alice does not have access to HPC resources, but
does have a handful of servers in her lab which she can use.

SIERRA Support Matrix
=====================

SIERRA supports multiple `platforms
<https://sierra.readthedocs.io/en/master/src/platform/index.html>`_ which
researchers can write code to target. In SIERRA terminology, a platform is a
"thing" (usually a simulator or robot) that you want to write to code to run
on. Note that platform != OS, in SIERRA terminology. If a SIERRA platform runs
on a given OS, then SIERRA supports doing so; if it does not, then SIERRA does
not. For example, SIERRA does not support running ARGoS on windows, because
ARGoS does not support windows.

SIERRA supports multiple execution environments for execution of experiments,
such as `High Performance Computing (HPC) environments
<https://sierra.readthedocs.io/en/master/src/exec_env/hpc.html>`_ and `real
robots <https://sierra.readthedocs.io/en/master/src/exec_env/robots.html>`_.
Which execution environment experiments targeting a given platform is (somewhat)
independent of the platform itself (see below).

SIERRA also supports multiple output formats for experimental outputs, as shown
below. SIERRA currently only supports XML experimental inputs.

SIERRA supports (mostly) mix-and-match between platforms, execution
environments, experiment input/output formats as shown in its support matrix
below. This is one of the most powerful features of SIERRA!  If your desired
platform/execution environment is not listed, see the `plugin tutorials
<https://sierrap.readthedocs.io/en/master/src/tutorials.html>`_ for how to add
it via a plugin.

.. list-table::
   :header-rows: 1
   :widths: 25,25,25,25

   * - Execution Environment

     - Platform

     - Experimental Input Format

     - Experimental Output Format

   * - `SLURM <https://slurm.schedmd.com/documentation.html>`_: An HPC cluster
       managed by the SLURM scheduler.

     - ARGoS, ROS1+Gazebo

     - XML

     - CSV, PNG

   * - `Torque/MOAB
       <https://adaptivecomputing.com/cherry-services/torque-resource-manager>`_:
       An HPC cluster managed by the Torque/MOAB scheduler.

     - ARGoS, ROS1+Gazebo

     - XML

     - CSV, PNG

   * - ADHOC: A miscellaneous collection of networked HPC compute nodes or
       random servers; not managed by a scheduler.


     - ARGoS, ROS1+Gazebo

     - XML

     - CSV, PNG

   * - Local: The SIERRA host machine,e.g., a researcher's laptop.

     - ARGoS, ROS1+Gazebo

     - XML

     - CSV, PNG

   * - ROS1+Turtlebot3: `Turtlebot3
       <https://emanual.robotis.com/docs/en/platform/turtlebot3/overview>`_
       robots with ROS1.

     - ROS1+Gazebo, ROS1+robot

     - XML

     - CSV, PNG

For more details about the platforms out experimental output formats, see below.

.. list-table::
   :header-rows: 1
   :widths: 50,50

   * - Platform

     - Description

   * - `ARGoS <https://www.argos-sim.info/index.php>`_

     - Simulator for fast simulation of large swarms. Requires ARGoS >=
       3.0.0-beta59.

   * - `ROS1 <https://ros.org>`_ + `Gazebo <https://www.gazebosim.org>`_

     - Using ROS1 with the Gazebo simulator. Requires Gazebo >= 11.9.0, ROS1
       Noetic or later.

   * - `ROS1+Robot <https://ros.org>`_

     - Using ROS1 with a real robot platform of your choice. ROS1 Noetic or
       later is required.


.. list-table::
   :header-rows: 1
   :widths: 50,50

   * - Experimental Output Format

     - Scope

   * - CSV file

     - Raw experimental outputs, transforming into heatmap images.

   * - PNG file

     - Stitching images together into videos.


Requirements To Use SIERRA
==========================

The basic requirements are:

- Recent OSX (tested with 12+) or Linux (tested with ubuntu 20.04+).

- python >= 3.8.

.. NOTE:: Windows is not supported currently. Not because it can't be supported,
          but because there are not currently any platform plugins that which
          work on windows. That is, SIERRA's OS support is dictated by the OS
          support of its current platform plugins, none of which support
          windows.

          If windows support would be helpful for your intended usage of
          SIERRA, please get in touch with me--SIERRA is written in pure
          python and can definitely be made to work on windows.

For more details, including the requirements for researcher code, see the
`SIERRA requirements
<https://sierra.readthedocs.io/en/master/src/requirements.html>`_.

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 `here
<https://sierra.readthedocs.io/en/master/src/contributing.html>`_
for the general procedure.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jharwell/sierra",
    "name": "sierra-research",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "research, automation, robotics, agent-based modeling, reproducibility, reusability",
    "author": "John Harwell",
    "author_email": "john.r.harwell@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/1d/4e/fcf092474ec26ba311451cc9c2bf9570363435539526963e6705668219b8/sierra-research-1.3.6.tar.gz",
    "platform": "linux",
    "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                       :target: https://pypi.python.org/pypi/sierra-research/\n\n.. |linux-supported| image:: https://img.shields.io/badge/os-Linux-crimson\n.. |osx-supported| image:: https://img.shields.io/badge/os-OSX-crimson\n\n.. |ci-integration-master| image:: https://github.com/jharwell/sierra/actions/workflows/integration-all.yml/badge.svg?branch=master\n.. |ci-analysis-master| image:: https://github.com/jharwell/sierra/actions/workflows/static-analysis.yml/badge.svg?branch=master\n.. |ci-coverage-master| image:: https://coveralls.io/repos/github/jharwell/sierra/badge.svg?branch=master\n\n.. |ci-integration-devel| image:: https://github.com/jharwell/sierra/actions/workflows/integration-all.yml/badge.svg?branch=devel\n.. |ci-analysis-devel| image:: https://github.com/jharwell/sierra/actions/workflows/static-analysis.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                  :target: https://gitHub.com/jharwell/sierra/graphs/commit-activity\n\n\n:Usage:\n   |pepy-downloads| |pypi-version| |supported-pythons| |linux-supported|\n   |osx-supported|\n\n:Release:\n\n   |ci-analysis-master| |ci-integration-master| |ci-coverage-master|\n\n:Development:\n\n   |ci-analysis-devel| |ci-integration-devel| |ci-coverage-devel|\n\n:Misc:\n\n   |license| |doi| |docs| |maintenance|\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.8+):\n\n::\n\n   pip3 install sierra-research\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. Stages are listed left to\n   right, and an approximate joint architectural/functional stack is top to\n   bottom for each stage. \u201c...\u201d indicates areas where SIERRA is designed via\n   plugins to be easily extensible. \u201cHost machine\u201d indicates the machine SIERRA\n   was invoked on.\n\nSIERRA is a command line tool and plugin framework for:\n\n- Automating scientific research, providing faculties for seamless experiment\n  generation, execution, and results processing.\n\n- Accelerating research cycles by allowing researchers to focus on the \u201cscience\u201d\n  aspects: developing new things and designing experiments to test them.\n\n- Improving the reproducibility of scientific research, particularly in AI.\n\n\nWhy SIERRA?\n===========\n\n- SIERRA 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    \"OK SIERRA: Here is the environment and simulator/robot platform I want to\n    use, the deliverables I want to generate, and the data I want to appear on\n    them for my research query--GO!\"\n\n  Essentially, SIERRA handles the \u201cengineering\u201d parts of research on the\n  backend, such as: generating experiments, configuring execution environments\n  or platforms, running the generated experiments, and processing experimental\n  results to generate statistics, and/or visualizations. It also handles random\n  seeds, algorithm stochasticity, and other low-level details.\n\n- It eliminates manual reconfiguration of experiments across simulator/robot\n  platforms by decoupling the concepts of execution environment and platform;\n  any supported pair can be selected in a mix-and-match fashion (see `SIERRA\n  Support Matrix`_). Thus, it removes the need for throw-away scripts for data\n  processing and deliverable generation.\n\n- SIERRA can be used with code written in any language; only bindings must be\n  written in python.\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 results,\n  automatically.\n\n- Its deeply modular architecture makes it easy to customize for the needs\n  of a specific research project.\n\nNot sure if SIERRA makes sense for your research? Consider the following use\ncases:\n\n- `Use Case #1: Alice The Robotics Researcher`_\n\n- `Use Case #2: Alice The Contagion Modeler`_\n\nIf aspects of either use case sound familiar, then there is a strong chance\nSIERRA could help you! SIERRA is well documented--see the `SIERRA docs\n<https://sierra.readthedocs.io/en/master/>`_ to get started.\n\nUse Case #1: Alice The Robotics Researcher\n------------------------------------------\n\nAlice is a researcher at a large university that has developed a new distributed\ntask allocation algorithm ``$\\alpha$`` for use in a foraging task where\nrobots must coordinate to find objects of interest in an unknown environment and\nbring them to a central location. Alice wants to implement her algorithm so she\ncan investigate:\n\n- How well it scales with the number of robots, specifically if it remains\n  efficient with up to 1000 robots in several different scenarios.\n\n- How robust it is with respect to sensor and actuator noise.\n\n- How it compares to other similar state of the art algorithms on a foraging\n  task: ``$\\beta,\\gamma$``.\n\nAlice is faced with the following heterogeneity matrix which she has to deal\nwith to answer her research queries, *in addition to the technical challenges of\nthe AI elements themselves*:\n\n.. list-table::\n   :header-rows: 1\n   :widths: 25,25,25\n\n   * - Algorithm\n\n     - Contains stochasticity?\n\n     - Outputs data in?\n\n   * - ``$\\alpha$``\n\n     - Yes\n\n     - CSV, rosbag\n\n   * - ``$\\beta$``\n\n     - Yes\n\n     - CSV, rosbag\n\n   * - ``$\\gamma$``\n\n     - No\n\n     - rosbag\n\nAlice is familiar with ROS, and wants to use it with large scale simulated and\nsmall scale real-robot experiments with TurtleBots. However, for real robots she\nis unsure what data she will ultimately need, and wants to capture all ROS\nmessages, to avoid having to redo experiments later.  She has access to a large\nSLURM-managed cluster, and prefers to develop code on her laptop.\n\nUse Case #2: Alice The Contagion Modeler\n----------------------------------------\n\nAlice has teamed with Bob, a biologist, to model the spread of contagion among\nagents in a population, and how that affects their individual and collective\nabilities to do tasks. She believes her ``$\\alpha$`` algorithm can be reused\nin this context. However, Bob is not convinced and has selected several\nmulti-agent models from recent papers: ``$\\delta,\\epsilon$``, and wants\nAlice to compare ``$\\alpha$`` to them. ``$\\delta$`` was originally\ndeveloped in NetLogo, for modeling disease transmission in\nanimals. ``$\\epsilon$`` was originally developed for ARGoS to model the\neffects of radiation on robots.\n\nAlice is faced with the following heterogeneity matrix which she must deal with\nwith to answer her research query, *in addition to the technical challenges of\nthe AI elements themselves*:\n\n.. list-table::\n   :header-rows: 1\n   :widths: 25,25,25\n\n   * - Algorithm\n\n     - Can Run On?\n\n     - Input Requirements?\n\n   * - ``$\\alpha$``\n\n     - ROS/Gazebo\n\n     - XML\n\n   * - ``$\\delta$``\n\n     - NetLogo\n\n     - NetLogo\n\n   * - ``$\\epsilon$``\n\n     -  ARGoS\n\n     -  XML\n\nBob is interested in how the rate of contagion spread varies with agent velocity\nand population size. Bob needs to prepare succinct, comprehensive visual\nrepresentations of the results of this research queries for a a presentation,\nincluding visual comparisons of the multi-agent model as it runs for each\nalgorithm. He will give Alice a range of parameter values to test for each\nalgorithm based on his ecological knowledge, and rely on Alice to perform the\nexperiments. For this project, Alice does not have access to HPC resources, but\ndoes have a handful of servers in her lab which she can use.\n\nSIERRA Support Matrix\n=====================\n\nSIERRA supports multiple `platforms\n<https://sierra.readthedocs.io/en/master/src/platform/index.html>`_ which\nresearchers can write code to target. In SIERRA terminology, a platform is a\n\"thing\" (usually a simulator or robot) that you want to write to code to run\non. Note that platform != OS, in SIERRA terminology. If a SIERRA platform runs\non a given OS, then SIERRA supports doing so; if it does not, then SIERRA does\nnot. For example, SIERRA does not support running ARGoS on windows, because\nARGoS does not support windows.\n\nSIERRA supports multiple execution environments for execution of experiments,\nsuch as `High Performance Computing (HPC) environments\n<https://sierra.readthedocs.io/en/master/src/exec_env/hpc.html>`_ and `real\nrobots <https://sierra.readthedocs.io/en/master/src/exec_env/robots.html>`_.\nWhich execution environment experiments targeting a given platform is (somewhat)\nindependent of the platform itself (see below).\n\nSIERRA also supports multiple output formats for experimental outputs, as shown\nbelow. SIERRA currently only supports XML experimental inputs.\n\nSIERRA supports (mostly) mix-and-match between platforms, execution\nenvironments, experiment input/output formats as shown in its support matrix\nbelow. This is one of the most powerful features of SIERRA!  If your desired\nplatform/execution environment is not listed, see the `plugin tutorials\n<https://sierrap.readthedocs.io/en/master/src/tutorials.html>`_ for how to add\nit via a plugin.\n\n.. list-table::\n   :header-rows: 1\n   :widths: 25,25,25,25\n\n   * - Execution Environment\n\n     - Platform\n\n     - Experimental Input Format\n\n     - Experimental Output Format\n\n   * - `SLURM <https://slurm.schedmd.com/documentation.html>`_: An HPC cluster\n       managed by the SLURM scheduler.\n\n     - ARGoS, ROS1+Gazebo\n\n     - XML\n\n     - CSV, PNG\n\n   * - `Torque/MOAB\n       <https://adaptivecomputing.com/cherry-services/torque-resource-manager>`_:\n       An HPC cluster managed by the Torque/MOAB scheduler.\n\n     - ARGoS, ROS1+Gazebo\n\n     - XML\n\n     - CSV, PNG\n\n   * - ADHOC: A miscellaneous collection of networked HPC compute nodes or\n       random servers; not managed by a scheduler.\n\n\n     - ARGoS, ROS1+Gazebo\n\n     - XML\n\n     - CSV, PNG\n\n   * - Local: The SIERRA host machine,e.g., a researcher's laptop.\n\n     - ARGoS, ROS1+Gazebo\n\n     - XML\n\n     - CSV, PNG\n\n   * - ROS1+Turtlebot3: `Turtlebot3\n       <https://emanual.robotis.com/docs/en/platform/turtlebot3/overview>`_\n       robots with ROS1.\n\n     - ROS1+Gazebo, ROS1+robot\n\n     - XML\n\n     - CSV, PNG\n\nFor more details about the platforms out experimental output formats, see below.\n\n.. list-table::\n   :header-rows: 1\n   :widths: 50,50\n\n   * - Platform\n\n     - Description\n\n   * - `ARGoS <https://www.argos-sim.info/index.php>`_\n\n     - Simulator for fast simulation of large swarms. Requires ARGoS >=\n       3.0.0-beta59.\n\n   * - `ROS1 <https://ros.org>`_ + `Gazebo <https://www.gazebosim.org>`_\n\n     - Using ROS1 with the Gazebo simulator. Requires Gazebo >= 11.9.0, ROS1\n       Noetic or later.\n\n   * - `ROS1+Robot <https://ros.org>`_\n\n     - Using ROS1 with a real robot platform of your choice. ROS1 Noetic or\n       later is required.\n\n\n.. list-table::\n   :header-rows: 1\n   :widths: 50,50\n\n   * - Experimental Output Format\n\n     - Scope\n\n   * - CSV file\n\n     - Raw experimental outputs, transforming into heatmap images.\n\n   * - PNG file\n\n     - Stitching images together into videos.\n\n\nRequirements To Use SIERRA\n==========================\n\nThe basic requirements are:\n\n- Recent OSX (tested with 12+) or Linux (tested with ubuntu 20.04+).\n\n- python >= 3.8.\n\n.. NOTE:: Windows is not supported currently. Not because it can't be supported,\n          but because there are not currently any platform plugins that which\n          work on windows. That is, SIERRA's OS support is dictated by the OS\n          support of its current platform plugins, none of which support\n          windows.\n\n          If windows support would be helpful for your intended usage of\n          SIERRA, please get in touch with me--SIERRA is written in pure\n          python and can definitely be made to work on windows.\n\nFor more details, including the requirements for researcher code, see the\n`SIERRA requirements\n<https://sierra.readthedocs.io/en/master/src/requirements.html>`_.\n\nCiting\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 `here\n<https://sierra.readthedocs.io/en/master/src/contributing.html>`_\nfor the general procedure.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Automation framework for the scientific method in AI research",
    "version": "1.3.6",
    "project_urls": {
        "Homepage": "https://github.com/jharwell/sierra"
    },
    "split_keywords": [
        "research",
        " automation",
        " robotics",
        " agent-based modeling",
        " reproducibility",
        " reusability"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d859c5d4f34e1d77b034e70b485369ea9adc7ac040213238fa21d3585140a11",
                "md5": "0810b068107e6bd1b4312dca4d36edcb",
                "sha256": "c500c2c773e7533a1009f94f865d08aabb5a1c95bc4bc0255cb5f6811a3093c8"
            },
            "downloads": -1,
            "filename": "sierra_research-1.3.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0810b068107e6bd1b4312dca4d36edcb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 257259,
            "upload_time": "2024-04-01T09:28:31",
            "upload_time_iso_8601": "2024-04-01T09:28:31.295893Z",
            "url": "https://files.pythonhosted.org/packages/4d/85/9c5d4f34e1d77b034e70b485369ea9adc7ac040213238fa21d3585140a11/sierra_research-1.3.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1d4efcf092474ec26ba311451cc9c2bf9570363435539526963e6705668219b8",
                "md5": "daa5242872b0e23f5e1aeb1e0c1fdc71",
                "sha256": "1bfc7b07336749af010b0733635ab4ea6f5e5616e9a0299cf931c34e8f783fb9"
            },
            "downloads": -1,
            "filename": "sierra-research-1.3.6.tar.gz",
            "has_sig": false,
            "md5_digest": "daa5242872b0e23f5e1aeb1e0c1fdc71",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 462369,
            "upload_time": "2024-04-01T09:28:33",
            "upload_time_iso_8601": "2024-04-01T09:28:33.661461Z",
            "url": "https://files.pythonhosted.org/packages/1d/4e/fcf092474ec26ba311451cc9c2bf9570363435539526963e6705668219b8/sierra-research-1.3.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-01 09:28:33",
    "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: 0.22189s