Registry / ai-ml / unified-planning

unified-planning

JSON →
library1.3.0pypypi✓ verified 86d ago

Unified Planning is a Python framework for AI planning that provides a common API for modeling planning problems and using different planning engines. It supports PDDL, STRIPS, temporal and numeric planning, and integrates multiple solvers (e.g., Fast Downward, ENHSP). Current version is 1.3.0, with regular releases.

pip install unified-planning
INSTALL
IMPORT
SIG · UNIFIED-PLANNING
U
unified-planning
ai-mlpythonv1.3.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Problem
from unified_planning.shortcuts import Problem
Correct import in v1.x
UPEngine
from unified_planning.engines import Engine
from unified_planning.engines import UPEngine
UPEngine was renamed to Engine in v1.0
OperatorKind
from unified_planning.model import OperatorKind
Use unified_planning.model, not unified_planning.operators

Creates a simple planning problem with one action and solves it using a oneshot planner.

from unified_planning.shortcuts import * problem = Problem('quickstart') problem.add_fluent('x', IntType()) action = InstantaneousAction('a') action.add_precondition(Equals(problem.fluent('x'), 0)) action.add_effect(problem.fluent('x'), Plus(problem.fluent('x'), 1)) problem.add_action(action) problem.set_initial_value(problem.fluent('x'), 0) problem.add_goal(Equals(problem.fluent('x'), 1)) with OneshotPlanner(problem_kind=problem.kind) as planner: plan = planner.solve(problem) if plan: print('%s plan found: %s' % (planner.name, plan)) else: print('No plan found.')
unified-planning --version
Debug
Known issues
breakingIn v1.0, UPEngine was renamed to Engine. Code using UPEngine will break.
fix
Replace 'from unified_planning.engines import UPEngine' with 'from unified_planning.engines import Engine'
affects: <1.0
gotchaThe unified_planning.shortcuts module is designed for interactive use; for production, import specific classes.
fix
Use 'from unified_planning.shortcuts import Problem, ...' or import from submodules directly.
affects: all
gotchaEngine names are case-sensitive and depend on solver installation (e.g., 'fast_downward' vs 'pyperplan').
fix
Check available planners with engine_selector().engines
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'unified_planning'
Package not installed or installed under different name.
fix
Run 'pip install unified-planning' and ensure correct package name (with hyphen).
AttributeError: module 'unified_planning' has no attribute 'shortcuts'
Incorrect import or old version without shortcuts.
fix
Upgrade to latest version: 'pip install --upgrade unified-planning'
NameError: name 'Engine' is not defined
Using old import path for engine.
fix
Change to 'from unified_planning.engines import Engine'
Upgrade
Version history
1.3.0latest on PyPI · released Dec 17, 2025
Audit
Dependencies
pytestoptionalRequired for engine testing
Agent activity
20 hits · last 30 days
node
18
OpenAI (training)
1
Resources
unified-planning — pip install unified-planning · libregistry