Skip to content

tmigimatsu/symbolic

Repository files navigation

Builds Tests Docs

symbolic

symbolic is a C++/Python library for parsing and manipulating Planning Domain Definition Language (PDDL) symbols for AI planning. This library is built upon VAL, a C++ library for validating PDDL specifications.

See the documentation for symbolic here.

Installation

The Python library can be installed via pip:

pip install pysymbolic

To compile the C++ library, follow the instructions below.

This library is written in C++ with Python bindings automatically generated with pybind11. It has been tested on Ubuntu 18.04, Ubuntu 20.04, and macOS 10.15 Catalina.

Compilation requirements:

  • cmake >= 3.11
  • C++17 support (gcc >= 7, clang >= 7).

See Updating CMake for details on how to install the latest cmake. Ubuntu 20.04 comes with a sufficient version of cmake out of the box.

C++ only

The C++ portion of symbolic is header-only, but to add symbolic as a cmake dependency, you can run the following:

mkdir build
cmake -B build

Python only

Use pip to install symbolic in your virtual environment.

pip install .

You can now import the symbolic package in Python.

import symbolic

C++ and Python

An in-place pip install will run the appropriate CMake command to build symbolic locally in the ./build folder. This will give you access to the cmake configuration files for C++ as well as the symbolic package in Python.

pip install -e .

Updating CMake

Ubuntu 18.04

The simplest way to install the latest version of cmake is through pip:

pip install cmake

You can also install it through apt:

sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates gnupg wget
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
sudo apt-add-repository -y 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt-get update && sudo apt-get install -y cmake kitware-archive-keyring
sudo rm /etc/apt/trusted.gpg.d/kitware.gpg

macOS

Install cmake through Homebrew:

brew install cmake

Or through pip:

pip3 install cmake