Lightweight Automated Planning toolKiT
  • C++ 89.6%
  • Python 6.6%
  • CMake 3.7%
Find a file
Anubhav Singh a9395de412
Some checks failed
BuildTest / build-ubuntu-22 (3.10) (push) Has been cancelled
BuildTest / build-ubuntu-22 (3.11) (push) Has been cancelled
BuildTest / build-ubuntu-22 (3.12) (push) Has been cancelled
BuildTest / build-ubuntu-22 (3.13) (push) Has been cancelled
BuildTest / build-ubuntu-22 (3.14) (push) Has been cancelled
BuildTest / build-ubuntu-22 (3.7) (push) Has been cancelled
BuildTest / build-ubuntu-22 (3.8) (push) Has been cancelled
BuildTest / build-ubuntu-22 (3.9) (push) Has been cancelled
BuildTest / build-ubuntu-24 (3.10) (push) Has been cancelled
BuildTest / build-ubuntu-24 (3.11) (push) Has been cancelled
BuildTest / build-ubuntu-24 (3.12) (push) Has been cancelled
BuildTest / build-ubuntu-24 (3.13) (push) Has been cancelled
BuildTest / build-ubuntu-24 (3.14) (push) Has been cancelled
BuildTest / build-ubuntu-24 (3.8) (push) Has been cancelled
BuildTest / build-ubuntu-24 (3.9) (push) Has been cancelled
BuildTest / build-ubuntu-26 (3.10) (push) Has been cancelled
BuildTest / build-ubuntu-26 (3.11) (push) Has been cancelled
BuildTest / build-ubuntu-26 (3.12) (push) Has been cancelled
BuildTest / build-ubuntu-26 (3.13) (push) Has been cancelled
BuildTest / build-ubuntu-26 (3.14) (push) Has been cancelled
BuildTest / build-windows-2022 (3.10) (push) Has been cancelled
BuildTest / build-windows-2022 (3.11) (push) Has been cancelled
BuildTest / build-windows-2022 (3.12) (push) Has been cancelled
BuildTest / build-windows-2022 (3.13) (push) Has been cancelled
BuildTest / build-windows-2022 (3.14) (push) Has been cancelled
BuildTest / build-windows-2022 (3.9) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
v0.2.1 Github publish action updates
2026-08-01 19:10:30 -04:00
.github/workflows v0.2.1 Github publish action updates 2026-08-01 19:10:30 -04:00
.vscode Adding ctest 2025-03-25 14:31:50 -04:00
apptainer_configurations Apptainer configurations 2025-03-24 21:49:25 -04:00
cmake created pip requirements where realme.yaml is fixed to a version for MAC 2025-03-27 15:06:44 +11:00
ctest Ctests for windows 2025-03-25 19:18:31 -04:00
developersguide v0.2.1 2026-08-01 18:26:14 -04:00
external_package Upgrading Catch2 2025-03-25 13:27:28 -04:00
pytest Switching to mainline Tarski 2026-08-01 17:19:20 -04:00
src v0.2.1 2026-08-01 18:26:14 -04:00
.gitignore cmake build changes 2025-03-24 19:28:07 -04:00
.gitmodules Catch2 and libff removed from the submodules list, instead they are downloaded as external git projects. Removed lab_experiment_module - it should be downloaded and configured separately with LAPKT. 2022-01-31 22:25:44 +11:00
CMakeLists.txt v0.2.1 2026-08-01 18:26:14 -04:00
LICENSE.txt Update license to MIT 2022-10-11 12:46:41 +11:00
pip_requirements.txt Switching to mainline Tarski 2026-08-01 17:19:20 -04:00
pip_requirements_mac.txt Switching to mainline Tarski 2026-08-01 17:19:20 -04:00
README.md v0.2.1 2026-08-01 18:26:14 -04:00

BuildTest PypiPublish CodeQL

LAPKT

LAPKT aims to make your life easier if your purpose is to create, use or extend basic to advanced Automated Planners. It's an open-source Toolkit written in C++ and Python with simple interfaces that give you complete flexibility by decoupling parsers from problem representations and algorithms. It has been succesfully used in embedded systems, webservices, compilations, replanning and contains some of the high-performance planners from the last International Planning Competition 2014.

AUTHORS

OVERVIEW

LAPKT separates search engines from the data structures used to represent planning tasks. This second component receives the name of 'interface' since it is indeed the interface that provides the search model to be solved.

Search engine components are meant to be modular, allowing users of LAPKT to assemble and combine features of different search engines to come up with customized search strategies, within reason and without sacrificing (much) efficiency. In order to do so, LAPKT makes heavy use of C++ templates and the Static Strategy design pattern. At the time of writing this, the modularity and decoupling of components isn't as high as I would like, there's still a lot of work to do :)

Pypi package (linux and windows): Jump right in!

  • Install package

      python3 -m pip install lapkt
    
  • Checkout lapkt options

      lapkt_cmd.py -h
    

Important platform requirements:

@Ubuntu

  1. The directory where the pip command installs the scripts, including lapkt_cmd.py, is generally on the system PATH, if not, it needs to be added manually.
  2. Python versions: 3.7, 3.8, 3.9, 3.10, 3.11, and 3.12 are supported on Ubuntu 20.04 and 22.04 (and other linux version with the same glibc versions). Python 3.7 is not supported on Ubuntu 24.04.

@Windows

  1. Python versions: 3.9, 3.10, 3.11, and 3.12 are supported.
  2. clingo/gringo python package requires MSVCP140.dll which comes with visual studio redistributable. latest vc-redist
  3. To be able to run lapkt_run.py script directly from command line, change the default handler for ".py" files to `Python'.

Introduction to LAPKT 4 Devs

Important

Refer to Developers Guide for build instructions and other helpful instruction on extending LAPKT.

cmake is the primary tool used to build the LAPKT's C++(backend) source code and generate Python/C++ library package in pypi package structure.

Apptainer Configurations

Apptainer configurations are avaliable for a few planners in ./apptainer_configurations.

To build, execute

apptainer build ApxNovelty.sif  Apptainer.ApxNovelty

Version log

Lists minor and major revisions. Minor patches are not included.

Version Change log
0.2.0 PR
0.2.1