Unified Planning: A Python Library Making Planning Technology Accessible


The Unified Planning framework (UP) is a Python library giving uniform access to a large variety of planning approaches and engines. It is designed around two concepts: advanced modeling primitives to express planning problems mixing declarative and procedural paradigms; and ``operation modes’’, which define the classes of interaction with planning engines. The library has been developed as part of the Horizon 2020 AIPlan4EU project and will at the end of the year 2023 become an independent open-source project that is free to use and extend by everyone. The tutorial will enable the participants to understand the design principles of the library, exploit it for their applications or to make their own planning technology available in the framework. It will in wide parts consist of a hands-on session using Jupyter notebooks. These can also be completed remotely or asynchronously without installation (using Google Colab) and will stay available after the tutorial.

Target Audience

This tutorial is aimed at developers and researchers who are interested in using planners via UP in their applications or who would like to integrate their planning engines into the framework.


  • Introduction: genesis of the library and scope
  • Architecture and design principles: Operation modes and API structure
  • How to model and solve problems
  • How to integrate new engines
  • Advanced features: simulated effects and custom heuristics
  • Applications and conclusions

Tutorial Resources



Andrea Micheli

Andrea is a researcher at Fondazione Bruno Kessler, Trento focusing on the development and technology transfer of planning technologies. He obtained his PhD in Computer Science from the University of Trento in 2016. He currently works in Temporal Planning and is the main developer of the TAMER planner. Andrea also coordinates the AIPlan4EU project. He authored more than 30 papers in the Formal Methods and Artificial Intelligence fields.

Arthur Bit-Monnot

Arthur is an associate professor at INSA Toulouse since 2019 and member of the RIS group at CNRS-LAAS. He received his PhD in AI and Robotics from the University of Toulouse in 2016. His research interests lie in automated planning and combinatorial optimization applied to autonomous decision making for robotic agents, with his main contributions in constraint-based hierarchical and temporal planning and temporal reasoning under uncertainty. He teaches AI and combinatorial optimization at the University of Toulouse.

Gabriele Röger

Gabriele is a lecturer and senior research associate at the AI group of the University of Basel. She received her doctoral degree (Dr. rer. nat) from the University of Freiburg (Germany) in June 2014. Her research is mostly on classical planning and heuristic search. Gabriele is a co-developer of the Fast Downward and Temporal Fast Downward planning systems. She received the ICAPS 2016 best dissertation award and was co-author of three best (student) papers at ICAPS and two best papers at AAAI.

Sebastian Stock

Sebastian is a senior researcher at the Plan-based Robot Control Group of the German Research Center for Artificial Intelligence (DFKI) in Osnabrück, Germany. He received his doctoral degree (Dr. rer. nat) from Osnabrück University in 2017. His research focuses on hybrid task planning and plan execution with mobile robots.