Skip to content
Yoav Grimland edited this page May 26, 2025 · 1 revision

PDDLSIM has several extras, which extend it with additional functionality, at the cost of more dependencies. As expected, to use an extra, e.g., the agents extra, you specify the PDDLSIM dependency as pddlsim[agents]. So for example, to install PDDLSIM with all extras enabled, run:

pip install pddlsim[agents,cli]

Note

The cli extra already requires the agents extra, so technically speaking, this example is needlessly verbose. That said, if you require both extras, do specify both of them, as this is considered to be an implementation detail.

The agents extra

The agents extra extends PDDLSIM with several base agents, which can be used for interacting with simulations. All base agents are available in the pddlsim.agents module.

Each agent in the module has its own submodule, which contains either an AgentInitializer, or a subclass of ConfigurableAgent, which you can call the configure(...) method on to get an AgentInitializer. As an example, to get an AgentInitializer for RandomLimitedWalker, one can run:

RandomLimitedWalker.configure(MaxSteps(300))

This initializer can then be used in PDDLSIM functions like act_in_simulation and simulate_configuration, as well as in other areas.

For a full list of built-in agents, consult the API reference.

The cli extra

The cli extra enables PDDLSIM to be used as a command. Specifically, the pddlsim command. The PDDLSIM command has two main subcommands:

  1. pddlsim server, which allows you to run a simulation server from the given domain and problem, locally, or not
  2. pddlsim client, which allows you to connect a built-in agent to an existing PDDLSIM server

You can run --help for each command to see their respectives arguments and options, as well as their meanings.

Clone this wiki locally