Metadata-Version: 2.1
Name: up-paraspace
Version: 0.0.1
Project-URL: Documentation, https://github.com/luteberget/up-paraspace#readme
Project-URL: Issues, https://github.com/luteberget/up-paraspace/issues
Project-URL: Source, https://github.com/luteberget/up-paraspace
Author-email: Bjørnar Luteberget <bjornar.luteberget@sintef.no>
License-Expression: MIT
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.10
Requires-Dist: pyparaspace==0.1.5
Description-Content-Type: text/markdown

# Integration of ParaSpace with the Unified Planning Library

The aim of this project is to make the
[ParaSpace](https://github.com/luteberget/paraspace) planning engine available
in the [unified_planning library](https://github.com/aiplan4eu/unified-planning) 
by the [AIPlan4EU project](https://www.aiplan4eu-project.eu/).  ParaSpace is a
simple, flexible and extensible solver for timeline-based planning problems
using Z3 and a novel abstraction refinement algorithm.

## Installation

Installing from PyPi is recommended because pre-built packages of ParaSpace's
Python integration are available for Windows and Linux. 

## Usage

```
from unified_planning.shortcuts import *
from unified_planning.engines import PlanGenerationResultStatus

problem = Problem('myproblem')
# specify the problem (e.g. fluents, initial state, actions, goal)
...

planner = OneshotPlanner(name="paraspace")
result = planner.solve(problem)
if result.status == PlanGenerationResultStatus.SOLVED_SATISFICING:
    print(f'{Found a plan.\nThe plan is: {result.plan}')
else:
    print("No plan found.")
```






