Metadata-Version: 2.1
Name: safe-autonomy-simulation
Version: 2.0.12
Summary: A library for building continuous simulation environments, designed to support safe autonomy research.
Home-page: https://github.com/act3-ace/safe-autonomy-simulation.git
License: Distribution C
Author: james.cunningham
Author-email: james.cunningham@parallaxresearch.org
Requires-Python: >=3.9,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: jax
Requires-Dist: jax[cpu] (>=0.4.30,<0.5.0) ; extra == "jax"
Requires-Dist: numpy (>=1.23.5,<2.0.0)
Requires-Dist: pint (>=0.23,<0.24)
Requires-Dist: scikit-learn (>=1.5.0,<2.0.0)
Requires-Dist: scipy (>=1.13.0,<2.0.0)
Requires-Dist: typing-extensions (>=4.12.2,<5.0.0)
Project-URL: Documentation, https://github.com/act3-ace/safe-autonomy-simulation
Project-URL: Repository, https://github.com/act3-ace/safe-autonomy-simulation.git
Description-Content-Type: text/markdown

# safe-autonomy-simulation

## Intro

The `safe-autonomy-simulation` package provides a framework for building continuous time simulation environments. This package also provides an example simulation environments and simulation entities in the `safe_autonomy_simulation.sims` package.

## Installation

The `safe-autonomy-simulation` package can be installed using any python package manager.
It is recommended to install the project dependencies into an isolated virtual environment.
The following command will install `safe-autonomy-simulation` into your local environment using the `pip` package manager:

```shell
pip install safe-autonomy-simulation
```

### Installing from source

Alternatively, `safe-autonomy-simulation` can be installed from source using any of the following methods. Again, it is recommended to install this package in an isolated virtual environment. The following sections describe how to install `safe-autonomy-simulation` from source in an isolated virtual environment using `poetry`, `conda`, and `pip + virtualenv`.

#### Poetry (Recommended)

[Poetry](https://python-poetry.org/docs/) is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. Poetry will automatically create an isolated virtual environment in your project location
for development.

```shell
cd safe-autonomy-simulation
poetry install
```

#### Conda

[Conda](https://conda.io/projects/conda/en/latest/index.html) is a powerful command line tool for package and environment management that runs on Windows, macOS, and Linux. Conda is often used for package and environment management in data science projects.

```shell
cd safe-autonomy-simulation
conda create -n my-env
conda activate my-env
conda install .
```

#### Pip + virtualenv

[`pip`](https://pip.pypa.io/en/stable/) is the default package installer for Python. You can use pip to install packages from the Python Package Index and other indexes. [`virtualenv`](https://virtualenv.pypa.io/en/latest/) is a tool to create isolated Python environments. Since Python 3.3, a subset of it has been integrated into the python standard library under the `venv` module. You can use `pip` together with `virtualenv` to install your project dependencies in an isolated virtual environment.

```shell
cd safe-autonomy-simulation
virtualenv venv
pip install .
```

## Local Documentation

This repository is setup to use [MkDocs](https://www.mkdocs.org/) which is a static site generator geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file.

**NOTE**: In order to properly build the documentation locally, you must first have `safe-autonomy-simulation` and its dependencies installed in your container/environment!

### Build Docs with Poetry (recommended)

Install the MkDocs modules in a container/virtual environment via Poetry:

```shell
poetry install --with docs
```

To build the documentation locally without serving it, use
the following command from within your container/virtual environment:

```shell
poetry run mkdocs build
```

To serve the documentation on a local port, use the following
command from within your container/virtual environment:

```shell
poetry run mkdocs serve 
```

## Usage

## Public Release

Approved for public release; distribution is unlimited. Case Number: AFRL-2024-3374

## Team

Jamie Cunningham,
John McCarroll,
Kyle Dunlap,
Nate Hamilton,
Charles Keating,
Kochise Bennett,
Aditesh Kumar,
Kerianne Hobbs

