Skip to main content

Runir description logic feature library

Project description

Runir: Representations for Generalized Planning in C++ and Python

Runir is designed to address several challenges in the integration of learning and planning based systems:

  1. Dataset construction from planning tasks and classes of tasks over a common planning domain.

  2. State Model Representations that expose a task's dynamics in a representation suitable for relational learning.

  3. Symbolic feature languages with formal syntax, semantics, parsing, generation, and evaluation.

  4. Generalized policy evaluation on planning examples with explicit access to policy failures and counterexamples.

  5. Equivalence abstractions for comparing states and tasks through graph, object-graph, and equivalence-graph representations.

Runir is the learning and representation layer for the planning-and-learning ecosystem. Tyr provides the planning backend: PDDL/formalism objects, task repositories, state repositories, successor generation, search algorithms, and Python bindings. Runir builds on top of that backend to make planning tasks inspectable and learnable, not only solvable.

Components

  • runir::graphs: typed graph data structures, static/dynamic graphs, BGL adapters, shortest paths, strongly connected components, topological sort, color refinement, Weisfeiler-Lehman certificates, and nauty-backed graph isomorphism certificates.
  • runir::datasets: task classes, per-task search contexts, state graphs, annotated state graphs, object graphs, and equivalence graphs built from policies such as identity or graph-isomorphism reduction.
  • runir::kr::dl: description-logic constructors, grammars, CNF grammars, denotations, evaluation, parsing, formatting, and grammar factories.
  • runir::kr::gp: rule-based generalized policies over typed features, conditions, effects, policy parsing, policy factories, and policy execution on annotated state graphs.
  • pyrunir: Python bindings for the same components with stubs.

The native CMake package exports runir::core as the aggregate target and component targets such as runir::graphs, runir::datasets, and runir::kr. The Python package is pyrunir.

Dependencies

  • pytyr >= 0.0.17 for Tyr planning, formalism, search, and C++ headers/libraries.
  • pypddl >= 1.0.5 through Tyr/PDDL parsing infrastructure.
  • scikit-build-core for Python wheel builds.

Build C++

python -m pip install 'pyyggdrasil>=0.0.8' 'pypddl>=1.0.5' 'pytyr>=0.0.17'
export CMAKE_PREFIX_PATH="$(python -c 'import os, pypddl, pyyggdrasil, pytyr; print(os.pathsep.join(map(str, [pypddl.native_prefix(), pyyggdrasil.native_prefix(), pytyr.native_prefix()])))')"
cmake -S . -B build \
  -DCMAKE_BUILD_TYPE=Debug \
  -DRUNIR_BUILD_TESTS=ON \
  -DRUNIR_BUILD_SHARED=ON \
  -DRUNIR_LINK_STATIC_DEPENDENCIES=OFF
cmake --build build -j4
ctest --test-dir build --output-on-failure

Build Python

python -m pip install .[test]
pytest python/tests

Intended Workflow

Runir is designed for experiments where a learning system needs structured access to planning behavior:

  1. Parse and instantiate tasks with Tyr.
  2. Build state graphs or equivalence graphs with Runir datasets.
  3. Define symbolic features in a KR language such as description logics.
  4. Build or parse a generalized policy over those features.
  5. Execute the policy on examples and inspect failures or counterexamples.

This keeps low-level planning mechanics in Tyr while giving learning code a high-level, typed interface for representations, abstractions, and policy evaluation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrunir-0.0.1.tar.gz (133.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyrunir-0.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyrunir-0.0.1-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyrunir-0.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyrunir-0.0.1-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyrunir-0.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyrunir-0.0.1-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyrunir-0.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyrunir-0.0.1-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyrunir-0.0.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyrunir-0.0.1-cp39-cp39-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file pyrunir-0.0.1.tar.gz.

File metadata

  • Download URL: pyrunir-0.0.1.tar.gz
  • Upload date:
  • Size: 133.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyrunir-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1046d55bfc4666d69efd622e7a612fd7f76286403b70dc0f1c65bef44c049805
MD5 f30ca71cf1c4af8d9dd6c8a833e45922
BLAKE2b-256 b502db3c568e19c210776f4a8c2bea4bcb5a2eec78a80ea4b950f858f3ff9ce2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1.tar.gz:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 156b822295def7a44bec8ee86681d9e84f51e9a4069e636e2882b1b8303d2bf8
MD5 c0eb84f9152a3185c6d4b3fc0851afab
BLAKE2b-256 d2433f0f32245e31e8a2ff3ce742c113182122ef6c177749543c8bf2bb05a5f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d7893f2a938b26bea5ba507eacd5f6d859b0c574685cf820938cfc852ee5cde
MD5 b7bf9e44427635ada16dff25cbe10247
BLAKE2b-256 483f36826eb6896313c1cc644db422cb5fb92cb54ea09242a338f2b44450ab50

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8d52a8448fca4e326b796ab3d68fdc5f45710c4edf5552463d2a8276e0917352
MD5 23c36bd45bec3429672fcc32108efd6a
BLAKE2b-256 559da8efeb105a88904e33cb67071a34e1de868c7ef9ae7a8e04848ac6e389f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6fd681d64e1d3e1ce34cc08d6797adfe21b5419eca6a9679f80d3e0622a389f1
MD5 54f0808d5ade171d841921eff0a322e8
BLAKE2b-256 3881af62930fed631aac4a972cae303285ebc59b2098a88ce70d3082b510ae4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3e7932725c6ed4551cac22c2d5f824c2473147b0992c4a017ada622693061865
MD5 1cb1b75592fb525bf3783c4b01108dca
BLAKE2b-256 c3884053ea35cb2ca39ac173da6ce76103f13e229e01137ff9901bcc0250ea99

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37b2f3fd877ce42c8ba0e57e1f4e264e01cd9150cc2700f6b432cb106f497e93
MD5 dab1ae32711ec80a63d15ad5545122d2
BLAKE2b-256 e8dd7e0d998962ffd8a7c97b5b9470547fbda73624dbc7dac4415e69b7339c0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 85be76e7b0d58db2eb44ba2d0bb17df54cbdb6f15af983583eebc892eea80541
MD5 52d4cf6e3bb8b867a0aa898d3fe904f7
BLAKE2b-256 7c9fa4f63c46723bfb49b011544f0ca68825f8ad7f34f88a417cb374ab3253f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d9344546f4adac31b7fb7d4d340229f6b067e0d0837b86a7d07897ed7d06df45
MD5 14746cb7f5ebce037d276a3eeda57a49
BLAKE2b-256 eae2215756d01359de1a8cd398aadc90e47994c1f2b56f85a14165f3a46679a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b1c8c7c05fd530b852ac64c3a53c60636b842278ba1d221f319e1dc0972883d1
MD5 304020049f3adf8f903f0637a6b3bf9a
BLAKE2b-256 0c82cba659ae15be026bc6abd06f24dd90bae8036552453bc581fcae02dba647

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrunir-0.0.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrunir-0.0.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 163e4f9da30402a0230b09f8a2a15037155cfd81c8ffb346e04f15ff338bf0d3
MD5 6c941f542821420934bb42bc2395cc3a
BLAKE2b-256 7d7e6eb065315e29bfc27f63bf4b5c983b81140981aada5bd97d58404f5d2475

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrunir-0.0.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/runir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page