Loki: PDDL Parsing and Translation in C++ and Python
Loki is a C++20 library with Python bindings for parsing and translation of PDDL files. Loki separates the parsing and translation of domain and problem files, allowing users to effectively work with collection of problems.
The parser is based on the canonical parser structure proposed in the Boost Spirit X3 library.
The translator is based on the method presented in section four of the paper "Concise finite-domain representations for PDDL planning tasks by Malte Helmert (AIJ 2009)".
Supported PDDL Requirements
- :strips
- :typing
- :negative-preconditions
- :disjunctive-preconditions
- :equality
- :existential-preconditions
- :universal-preconditions
- :quantified-preconditions
- :conditional-effects
- :numeric-fluents
- :adl
- :derived-predicates
- :action-costs
- :non-deterministic (unsupported in the translator)
- :probabilistic-effects (unsupported in the translator)
Dependencies
Loki depends on a fraction of Boost's header-only libraries (Fusion, Spirit x3, Container), its performance benchmarking framework depends on GoogleBenchmark, and its testing framework depends on GoogleTest.
Loki consumes native dependencies from Python packages:
pyyggdrasil >= 0.0.23, < 0.1for shared third-party native dependencies.pypddl-datasets >= 0.0.7, < 0.1for the PDDL benchmark data used by the C++ test suite and the example executables (resolved from its cache at CMake configure time).
The shared workspace layout, layered install order, and the common
build-from-source and CMake-integration patterns are documented in the
Planning and Learning build instructions;
the sections below cover loki/pypddl-specific details.
For offline/local development, install pyyggdrasil from the sibling source
checkout instead:
cd ../yggdrasil
uv pip install --python ../loki/.venv/bin/python .
Build C++
Install Loki's native dependency providers into the active Python environment, then configure CMake with their native prefixes:
python -m pip install 'pyyggdrasil>=0.0.23,<0.1' 'pypddl-datasets>=0.0.7,<0.1'
cmake -S . -B build
CMake discovers the installed pyyggdrasil automatically through
cmake/bootstrap_pyyggdrasil.cmake (which locates the package and adds its
native prefix to CMAKE_PREFIX_PATH, after which find_package(yggdrasil)
provides the shared helper functions) and links against the
yggdrasil::yggdrasil target. To point at a different prefix explicitly:
cmake -S . -B build \
-DCMAKE_PREFIX_PATH="$(python -m pyyggdrasil --prefix)"
cmake --build build -j4
CMake options:
| Option | Default | Description |
|---|---|---|
LOKI_BUILD_TESTS |
OFF |
Build Loki tests. |
LOKI_BUILD_EXECUTABLES |
OFF |
Build Loki executables. |
LOKI_BUILD_PROFILING |
OFF |
Build Loki profiling targets. |
LOKI_BUILD_PYPDDL |
OFF |
Build Loki for the pypddl Python wheel. |
Run tests from a build configured with -DLOKI_BUILD_TESTS=ON:
ctest --test-dir build --output-on-failure
Install Loki from a configured build directory with:
cmake --install build --prefix=<path/to/installation-directory>
Build Python
python -m pip install .
Python API
The Python package exposes the semantic parser, translator, and reparseable PDDL
formatter through pypddl.formalism:
from pypddl import formalism as pddl
parser = pddl.Parser("""
(define (domain ready-domain)
(:predicates (ready))
)
""")
translation = pddl.translate_domain(parser.domain())
domain_text = pddl.format_domain(translation.translated_domain)
reparsed = pddl.Parser(domain_text)
assert reparsed.domain().get_name() == "ready-domain"
With default options the parser completes :action-costs artifacts and the
translator compiles typing and materializes equality; see
Parser and Translator Options to override.
C++ API
The umbrella header exposes the semantic parser, translator, and reparseable
PDDL formatter through the top-level loki namespace:
#include <loki/loki.hpp>
#include <string>
int main()
{
auto parser = loki::Parser(std::string { "(define (domain ready-domain) (:predicates (ready)))" });
const auto translation = loki::translate_domain(parser.get_domain());
const auto domain_text = loki::format_domain(translation.get_translated_domain());
auto reparsed = loki::Parser(domain_text);
return reparsed.get_domain().get_name() == "ready-domain" ? 0 : 1;
}
Parser and Translator Options
Both APIs accept options at construction/translation time. The library defaults are normalization-friendly for downstream consumers; every option can be turned off individually.
ParserOptions (second argument of Parser):
| Option | Default | Description |
|---|---|---|
strict |
false |
Strict semantic validation for requirements, arity, and type compatibility. Numeric-fluents violations error even in permissive mode: reads require :fluents/:numeric-fluents/:action-costs, and writes other than (increase (total-cost) ...) require :fluents/:numeric-fluents. |
add_action_costs |
true |
Complete missing :action-costs artifacts (total-cost function, initial value, minimize metric) instead of erroring. If the domain declares neither :action-costs nor :fluents/:numeric-fluents, additionally injects the requirement and a unit-cost effect (increase (total-cost) 1) into every action that does not already write total-cost. Genuine numeric domains are left untouched: an absent metric means unit costs. |
TranslatorOptions (second argument of translate_domain/translate_task):
| Option | Default | Description |
|---|---|---|
compile_typing |
true |
Compile typing away into type predicates and remove type annotations. |
compile_conditional_effects |
false |
Multiply conditional effects out into unconditional actions; the normalization phases re-run afterwards so preconditions stay conjunctive (quantified when-conditions become derived predicates). Worst case exponential in the number of conditional effects per action. |
materialize_equality |
true |
Add the = predicate and (= o o) initial literals. Turn off for consumers with native equality handling. |
Pass the same TranslatorOptions to the domain and the task translation;
mismatched options between the two can fail (e.g. equality materialization
requires the = predicate added during domain translation).
options = pddl.TranslatorOptions()
options.materialize_equality = False
translation = pddl.translate_domain(parser.domain(), options)
The loki executable exposes the same options as opt-in flags (all off by
default): --strict, --add-action-costs, --compile-typing,
--compile-conditional-effects, and --materialize-equality.
CMake Integration
This section covers pypddl-specific paths and targets; the general pattern for
consuming the native prefixes from CMake is in the
common CMake integration instructions.
The Python package pypddl installs Loki's native headers, shared library, and
CMake package config under pypddl.native_prefix(). It depends on
pyyggdrasil>=0.0.23,<0.1 for third-party native dependencies:
import pypddl
import pyyggdrasil
print(pypddl.cmake_prefix()) # prefix to put on CMAKE_PREFIX_PATH
print(pypddl.cmake_dir()) # directory containing lokiConfig.cmake
print(pyyggdrasil.cmake_prefix())
The same paths are available from the shell via python -m pypddl --prefix,
--cmake-dir, --include-dir, and --version.
Downstream CMake projects should include the native prefixes of pypddl and
its native package dependencies in CMAKE_PREFIX_PATH:
cmake -S . -B build \
-DCMAKE_PREFIX_PATH="$(python -m pypddl --prefix);$(python -m pyyggdrasil --prefix)"
Loki exports the loki::parsers target.
Running the Executables
The executable illustrates how to use Loki. It is disabled by default and can be
enabled with -DLOKI_BUILD_EXECUTABLES=ON. Example PDDL inputs come straight from the
pypddl-datasets cache:
./build/exe/loki $(python -c "import pypddl_datasets as pb; t = pb.fetch_task('classical/tests/gripper/test-1.pddl'); print(t.domain_path, t.task_path)")
Use --out-domain/--out-problem to write the translated PDDL to files, and
see ./build/exe/loki --help for the parser and translator flags
(--strict, --add-action-costs, --compile-typing,
--compile-conditional-effects, --materialize-equality).
Citing Loki
If you use Loki in your research, please cite it as follows:
@misc{drexler-zenodo2026,
author = "Dominik Drexler",
title = "{Loki}: A {PDDL} Parser and Normalizer",
publisher = "Zenodo",
year = "2026",
doi = "10.5281/zenodo.20081136",
url = "https://doi.org/10.5281/zenodo.20081136",
}
Acknowledgements
This work was partially supported by the Wallenberg AI, Autonomous Systems and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pypddl-1.0.24.tar.gz.
File metadata
- Download URL: pypddl-1.0.24.tar.gz
- Upload date:
- Size: 713.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b95b43d89c333516a36edb6f471ab565958ffe6032e23f75300e147a2e984a19
|
|
| MD5 |
be4b66224e88cc54b2781eaf9847067f
|
|
| BLAKE2b-256 |
0835ea19885ee4adfc3786aca8621d82b137499a6e974fd82a29281857d2a5c6
|
Provenance
The following attestation bundles were made for pypddl-1.0.24.tar.gz:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24.tar.gz -
Subject digest:
b95b43d89c333516a36edb6f471ab565958ffe6032e23f75300e147a2e984a19 - Sigstore transparency entry: 2173348378
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a19d83058a93b3bbc3fdbfee12f843793c953a37ea725a773012a7a8e5ab41b6
|
|
| MD5 |
22ea83c8c070c9200343db677f16ede6
|
|
| BLAKE2b-256 |
3b7c1d7e15c48527bbe1f5893ff2c8e849681bdac60f0306001e305b6b68e123
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
a19d83058a93b3bbc3fdbfee12f843793c953a37ea725a773012a7a8e5ab41b6 - Sigstore transparency entry: 2173348613
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 925.0 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bf9631a418ccf9cd5ee7f6128b82257a4e9c8669b338ed55f78cbd74d2a3f02
|
|
| MD5 |
dccd7bd939ad7f433e6acb1f6e8cbad3
|
|
| BLAKE2b-256 |
9efaea0e7e7adf2654f3b9332190881678c5e0a6fda1aab03320ee45165e1e10
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
6bf9631a418ccf9cd5ee7f6128b82257a4e9c8669b338ed55f78cbd74d2a3f02 - Sigstore transparency entry: 2173348403
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
966e35bdb3cabed74e46768b9760c3d68c20f9b4706255efe67a2fd960170d15
|
|
| MD5 |
3a763f27a8238627497b88e93e044c27
|
|
| BLAKE2b-256 |
73e7575476c6dd52214844ab8999a97afabe8a2d468f8df3ae11bf04f2601f69
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
966e35bdb3cabed74e46768b9760c3d68c20f9b4706255efe67a2fd960170d15 - Sigstore transparency entry: 2173348561
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 925.0 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52f67b6dfa483ff06ba008a09ee05cc85cf5fb0710e4a23b2fd519bc7075872b
|
|
| MD5 |
d10c6b03ddeb8f6bf44ca2e30223432d
|
|
| BLAKE2b-256 |
d0ecd81a2bab6c79d84f6db2e07edbd689a3dd6d15b6677e4392414902826b23
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
52f67b6dfa483ff06ba008a09ee05cc85cf5fb0710e4a23b2fd519bc7075872b - Sigstore transparency entry: 2173348508
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4527c3a7bc0fdb42753232661331297782f7deed8ca3c0f1111cb18bb8b8c6b
|
|
| MD5 |
e8adc4b6ceee42597d20bd6722b1d44e
|
|
| BLAKE2b-256 |
868976419b2570637f6b2c7f55737731e66833ce38d909315f02bac7a652f4dd
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
a4527c3a7bc0fdb42753232661331297782f7deed8ca3c0f1111cb18bb8b8c6b - Sigstore transparency entry: 2173348533
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 925.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c18ecb223aee23aa8dc48b6798831a0d4ad2efc423c6c4169df32d7538e7e5f2
|
|
| MD5 |
4c28bf606d4d229a7ea3e71684e203d1
|
|
| BLAKE2b-256 |
9ced582f92310f52ae8cc56a436fbee85851cf12ef9afec52879911c9aab90f4
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
c18ecb223aee23aa8dc48b6798831a0d4ad2efc423c6c4169df32d7538e7e5f2 - Sigstore transparency entry: 2173348482
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a504044a2ec70f83c81d7bf77c79c31cc41e42b16642016a3a5aae20c006ee0
|
|
| MD5 |
0d499eb079ca94e635e33a21af2909b5
|
|
| BLAKE2b-256 |
285b328d5ab8dff9f1c4a3be6e333236befbd535e633edacb6e63c72e555a5ec
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
0a504044a2ec70f83c81d7bf77c79c31cc41e42b16642016a3a5aae20c006ee0 - Sigstore transparency entry: 2173348463
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 925.2 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b6405a46157b2b6e527e8f0ede8d4554cb537c765001695a50ac67888d2dfc2
|
|
| MD5 |
b5552612acf523b02c25ff00ea7d65e6
|
|
| BLAKE2b-256 |
ed1f8b3e95901582a3088571770443458e95796155780b36181d20977f080c52
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
9b6405a46157b2b6e527e8f0ede8d4554cb537c765001695a50ac67888d2dfc2 - Sigstore transparency entry: 2173348637
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fbcba12d835776fa4307e9c25ef7bee3f87ddb9d004c7f2393ef1c8c4954d3f
|
|
| MD5 |
d5b2e341de95c3dcf90506e8ef3223d5
|
|
| BLAKE2b-256 |
3018f0b84d62058638763243f07104f98459848c46ecc08e9688384ed8296e66
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
6fbcba12d835776fa4307e9c25ef7bee3f87ddb9d004c7f2393ef1c8c4954d3f - Sigstore transparency entry: 2173348588
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pypddl-1.0.24-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: pypddl-1.0.24-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 925.2 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc2cf09e8c6963f039e8d85ba60f8ded42469c8f7c556b590923f9c1f938f4cb
|
|
| MD5 |
6faefc7b53f01c673240be50de09826e
|
|
| BLAKE2b-256 |
2e3b875ed8ac6c492f2f8380d27a49a092bf315865a5d5ad4aae994b424ebd39
|
Provenance
The following attestation bundles were made for pypddl-1.0.24-cp39-cp39-macosx_11_0_arm64.whl:
Publisher:
release.yml on planning-and-learning/loki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypddl-1.0.24-cp39-cp39-macosx_11_0_arm64.whl -
Subject digest:
dc2cf09e8c6963f039e8d85ba60f8ded42469c8f7c556b590923f9c1f938f4cb - Sigstore transparency entry: 2173348428
- Sigstore integration time:
-
Permalink:
planning-and-learning/loki@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Branch / Tag:
refs/tags/v1.0.24 - Owner: https://github.com/planning-and-learning
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8094e96fe87cd218ffe8067ea2a6810ebd0c8825 -
Trigger Event:
push
-
Statement type: