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.2.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

safe_autonomy_simulation-2.1.2-py3-none-any.whl (60.6 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for safe_autonomy_simulation-2.1.2.tar.gz
Algorithm Hash digest
SHA256 a8ef003409dc036da03daf4b9910b149ba499a15890b1e39043b3a5f2234ee78
MD5 386e04de70008e52c8cf41bcc7a07a01
BLAKE2b-256 6d9f90516a104ca6019849318e0f8c0a26c616a12963319aa02ed969b19bb521

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for safe_autonomy_simulation-2.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c858fb74d9ea7b7bcc59e0b5eb6802ea57ed45f879979cdbce3b2a52fb80d1de
MD5 2c24edc0b7e1b47bab96bc7b58073603
BLAKE2b-256 4eb7fb631937287ea23228122bf0f418c0d810318bdae713bf14741b44a86072

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