Skip to main content

A library for building continuous simulation environments, designed to support safe autonomy research.

Project description

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:

pip install safe-autonomy-simulation

JAX support (experimental)

The safe-autonomy-simulation package supports numerical computation acceleration via the JAX library. This is an experimental feature.

The safe_autonomy_simulation package comes installed with JAX for CPU acceleration. JAX also provides GPU acceleration for numerical computing. If you'd like this feature the easiest way to install it is using pip:

pip install jax[cuda12]

For more information on installing JAX see the official documentation.

JAX can be enabled on a per-class basis for classes that support it. As JAX is an experimental feature it is not enabled by default.

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

cd safe-autonomy-simulation
poetry install

Conda

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

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

Pip + virtualenv

pip is the default package installer for Python. You can use pip to install packages from the Python Package Index and other indexes. virtualenv 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.

cd safe-autonomy-simulation
virtualenv venv
pip install .

Local Documentation

This repository is setup to use MkDocs 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:

poetry install --with docs

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

poetry run mkdocs build

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

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

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

safe_autonomy_simulation-2.1.3.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

safe_autonomy_simulation-2.1.3-py3-none-any.whl (60.7 kB view details)

Uploaded Python 3

File details

Details for the file safe_autonomy_simulation-2.1.3.tar.gz.

File metadata

File hashes

Hashes for safe_autonomy_simulation-2.1.3.tar.gz
Algorithm Hash digest
SHA256 610587d3dd58835326b552ab27117a506570e94c2e74b02eb3be46db11f512bc
MD5 49605d37fbbdc85f2b52c0e48d3509ca
BLAKE2b-256 8a54aac4572848156974a44f60ac7da6d3b40740249c0ee7a1dd6bc20d3321fe

See more details on using hashes here.

File details

Details for the file safe_autonomy_simulation-2.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for safe_autonomy_simulation-2.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b8cfb544fc43a6fcb3b9e7daf259cedcc60090903d631fc92dbe6d167fb38453
MD5 42684af134c2071302601fb9f913999d
BLAKE2b-256 92bcad11b792e0da4d32f27fdf93bc08bc448c440d374245886b8a583a8fa22f

See more details on using hashes here.

Supported by

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