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.
- Miquel Ramirez miquel.ramirez@gmail.com
- Nir Lipovetzky nirlipo@gmail.com
- Anubhav Singh anubhav.singh.er@protonmail.com
- Christian Muise christian.muise@gmail.com
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 :)
-
Install package
python3 -m pip install lapkt -
Checkout lapkt options
lapkt_cmd.py -h
@Ubuntu
- The directory where the
pipcommand installs the scripts, includinglapkt_cmd.py, is generally on the systemPATH, if not, it needs to be added manually. - Python versions:
3.7,3.8,3.9,3.10,3.11, and3.12are supported on Ubuntu 20.04 and 22.04 (and other linux version with the same glibc versions). Python3.7is not supported on Ubuntu 24.04.
@Windows
- Python versions:
3.9,3.10,3.11, and3.12are supported. clingo/gringopython package requiresMSVCP140.dllwhich comes with visual studio redistributable. latest vc-redist- To be able to run
lapkt_run.pyscript directly from command line, change the default handler for ".py" files to `Python'.
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 are avaliable for a few planners in ./apptainer_configurations.
To build, execute
apptainer build ApxNovelty.sif Apptainer.ApxNovelty
Lists minor and major revisions. Minor patches are not included.
| Version | Change log |
|---|---|
| 0.2.0 | PR |
