STRIPS states to graph encoding C++ extension module.
Project description
mifrost
mifrost is a high-performance graph encoding library for planning states and transitions.
It combines C++ encoder engines (via nanobind) with Python-facing APIs.
The API is native-first: encoders return BatchEncoding by default, and PyTorch Geometric
(Data / HeteroData) objects are built on demand.
| Workflow | Platforms | Python versions |
|---|---|---|
| Unit & C++ Tests | macOS, Ubuntu | 3.10-3.14 |
| Install & Test | macOS, Ubuntu | 3.10-3.14 |
| Wheel Builds | macOS, manylinux, musllinux | cibuildwheel cp3.(10-14) |
| Docs Check | Ubuntu | 3.12 |
Documentation
- Website: https://maichmueller.github.io/mifrost/
- Tutorials: https://maichmueller.github.io/mifrost/tutorials/first-encoding/
- Encoder selection guide: https://maichmueller.github.io/mifrost/how-to/choose-an-encoder/
- API reference: https://maichmueller.github.io/mifrost/reference/api/
What it does
- Encodes planning states into graph structures for GNN pipelines.
- Supports single, batch, and stream-oriented encoding workflows.
- Exposes multiple encoder families:
HGraphEncoderHorizonEncoderTransitionHGraphEncoder/TransitionEffectsHGraphEncoderColorEncoderILGEncoder
- Returns native
BatchEncodingobjects, with explicit helpers for:- PyG conversion (
encode_pyg,encode_batch_pyg,as_pyg)
- PyG conversion (
Requirements
- Python
>= 3.10 - A working C++ toolchain
pymimir>=0.13.60available in the Python environment used for build/runtime- For Python-side graph assembly:
torchandtorch-geometric - For source builds: Conan (or
CONAN_COMMAND/CONAN_CMDpointing to it)
Python dependency files
requirements.txt: runtime Python dependency setrequirements/build.txt: Python tooling for source builds (conan,cmake,ninja, etc.)requirements/test.txt: test-only Python dependenciesrequirements/perf.txt: performance-gate dependenciesrequirements/dev.txt: convenience union of build + test + perfrequirements/constraints-ci.txt: CI-only version constraints used by workflowspyproject.tomlextras:.[test],.[perf],.[dev]
Installation
From PyPI
pip install mifrost
From source (wheel)
git clone https://github.com/maichmueller/mifrost.git
cd mifrost
pip install .
If Conan is not on your PATH, set:
export CONAN_COMMAND=/path/to/conan
If pymimir is installed but CMake cannot locate it, set:
export MIFROST_MIMIR_CMAKE_DIR="$(python -c 'import pymimir; print(pymimir.get_cmake_dir())')"
Editable install (development)
python -m pip install --no-build-isolation \
--config-settings=editable.rebuild=true \
-Cbuild-dir=build_editable \
-e .
This enables import-triggered rebuild behavior from scikit-build-core for local development.
Reusable C++ SDK from the installed package
Installed wheels also ship the reusable native SDK alongside the Python module:
python -c 'import mifrost; print(mifrost.get_include_dir())'
python -c 'import mifrost; print(mifrost.get_cmake_dir())'
python -c 'import mifrost; print(mifrost.get_library_dir())'
Use mifrost.get_cmake_dir() in downstream CMake projects to extend CMAKE_PREFIX_PATH
or pass -Dmifrost_DIR="$(python -c 'import mifrost; print(mifrost.get_cmake_dir())')".
Quick start (native-first)
import mifrost
# domain: pymimir wrapper or advanced domain
encoder = mifrost.HGraphEncoder(domain)
# state: pymimir wrapper or advanced state
encoding = encoder.encode(state) # BatchEncoding
data = encoding.as_pyg() # HeteroData
batch_encoding = encoder.encode_batch([state1, state2, state3]) # BatchEncoding
batch = batch_encoding.as_pyg(as_batch=True) # HeteroDataBatch
# explicit PyG convenience helpers
data2 = encoder.encode_pyg(state)
batch2 = encoder.encode_batch_pyg([state1, state2, state3])
encoding_dict = batch_encoding.as_dict() # dictionary form
# note: encoding_dict["tensors"] entries are DLPack-exporting values
# (consume with torch.utils.dlpack.from_dlpack(...) or mifrost.encoding_to_tensors(...))
Example output (trimmed):
type(encoding): BatchEncoding
type(data): HeteroData
node_type_count: 28
node_types_head:
['[+]on[g]', '_symbol_', 'clear', 'object', 'ontable',
'[+]clear[g]', '[+]clear[g][sat]', '[+]handempty[g]']
edge_type_count: 54
type(batch_encoding): BatchEncoding
type(batch): HeteroDataBatch
num_graphs: 3
node_type_count: 28
encoding keys:
['node_feature_dims', 'node_names', 'num_graphs', 'object_names', 'schema', 'tensors']
schema keys:
['edge_tensors', 'edge_types', 'extensions', 'flags', 'graph_kind',
'node_tensors', 'node_types', 'version']
tensor_count: 164
tensor_keys_head:
['_symbol_|0|object/edge_index_0', '_symbol_|0|object/edge_index_1',
'object|0|_symbol_/edge_index_0', 'object|0|_symbol_/edge_index_1', ...]
Stream workflow:
stream = encoder.stream()
stream.append(state1)
stream.append(state2)
batch_encoding = stream.flush() # BatchEncoding
batch = batch_encoding.as_pyg(as_batch=True) # HeteroDataBatch
# convenience
batch2 = stream.flush_pyg(as_batch=True)
# mutable stream (supports update/remove)
mutable = encoder.mutable_stream()
sid = mutable.append(state1)
mutable.update(sid, state2)
mutable.remove(sid)
Example output:
type(batch): HeteroDataBatch
num_graphs: 2
node_type_count: 28
node_types_head:
['[+]clear[g]', '[+]clear[g][sat]', '[+]handempty[g]', '[+]handempty[g][sat]',
'[+]holding[g]', '[+]holding[g][sat]', '[+]on[g]', '[+]on[g][sat]']
Encoding quick lookup
C++ (HGraphEncoderEngine)
All methods append into an existing BatchBuilder (they do not clear it). Call builder.next_graph() to commit one graph.
-
encode(state, builder)/encode_state(state, builder)- State-only graph (objects + current facts).
-
encode_step<GoalTag>(state, goals_span, actions_span, builder)- Convenience overload for typed goal literals (wraps into
GoalInputsinternally).
- Convenience overload for typed goal literals (wraps into
-
encode(state, goals: GoalInputs, actions_span, builder)- Full step graph (state + goals + optional actions; plus optional derived relations depending on config).
-
encode(state, goals, actions_span, history_subgoals, history_max_steps, builder)- Full step graph plus history nodes/links (
dt-tagged subgoals).
- Full step graph plus history nodes/links (
C++ streaming
-
HGraphStreamEncoder(append-only)- Direct append into one persistent builder.
append(...) -> id,flush(),flush_pyg(),reset().
-
HGraphMutableStreamEncoder(cached/mutable, viaStreamEncoderBase)- Supports
update/removewith id stability and cache merge on flush. append(...) -> id,update(id, ...),remove(id),flush(),flush_pyg(),reset(),set_reuse_removed(bool).
- Supports
Python (HGraphEncoder)
-
encode(state, *, ...) -> BatchEncoding- One graph, native encoding object.
-
encode_pyg(state, *, ...) -> HeteroData- One graph, explicit PyG conversion path.
-
encode_batch(states, *, ...) -> BatchEncoding- Many graphs, native batch encoding object.
-
encode_batch_pyg(states, *, ...) -> HeteroDataBatch- Many graphs, explicit PyG conversion path.
-
encode_batchargument semantics-
statesis always the batch axis. -
Each extra batch argument is either shared (applies to all states) or a per-state sequence of length
len(states)with optionalNoneentries. -
Batch parsing/execution is C++-backed across encoders.
-
High-level
encode_batch(...)accepts wrapper/native planning inputs and converts wrapper/adapter-backed values in Python before entering the C++ batch parser. -
Low-level
_core._parse_*helpers and C++ batch internals are strict advanced-only. -
Unsupported batch kwargs are ignored silently by encoder batch APIs.
-
Per-state argument length mismatches raise
ValueError. -
Example:
- Shared goals/actions:
encoder.encode_batch(states, goals=goals, actions=actions)
- Per-state goals/actions:
encoder.encode_batch(states, goals=[goals0, goals1], actions=[[a0], None])
- Shared goals/actions:
-
Migration notes (hard break):
- Old encoder-specific inference/ignoring of batch kwargs was removed.
- Low-level
_core._parse_*batch parser helpers no longer accept adapter-backed custom Python types.- High-level encoder
encode_batch(...)now performs Python-side adapter conversion.
- High-level encoder
Transition*Encoderrequires alignedsuccessors; unsupported kwargs are ignored.HorizonEncoderaccepts per-statedags/goals/subgoal_layers; unsupported kwargs are ignored.ColorEncoderignoresactionsin batch mode.
-
-
stream() -> HGraphEncoderStream- Create an append-only stream encoder backed by the same C++ engine.
-
mutable_stream() -> HGraphMutableEncoderStream- Create a mutable stream encoder supporting update/remove.
Python streaming (HGraphEncoderStream, append-only)
append(state, *, goals=None, actions=None, subgoal_layers=None, history_subgoals=None, history_max_steps=None) -> idflush() -> BatchEncodingflush_pyg(...) -> PyG
Python mutable streaming (HGraphMutableEncoderStream)
Cached stream wrapper (ids + edits), merges on flush.
append(state, *, goals=None, actions=None, subgoal_layers=None, history_subgoals=None, history_max_steps=None) -> idupdate(id, state, *, ...)remove(id)flush() -> BatchEncodingflush_pyg(...) -> PyG
Extending input types (adapter API)
Encoders are strict for native pymimir (advanced) types, but you can register explicit adapters
for custom wrappers:
import mifrost
mifrost.register_state_adapter(MyStateType, lambda s: s.to_advanced_state())
mifrost.register_domain_adapter(MyDomainType, lambda d: d.to_advanced_domain())
mifrost.register_literal_adapter(MyLiteralType, lambda l: l.to_advanced_literal())
mifrost.register_action_adapter(MyActionType, lambda a: a.to_advanced_action())
Adapters are matched by exact concrete type.
Batch hard-break note:
- High-level
encode_batch(...)/encode_batch_pyg(...)use adapter registries during Python-side preprocessing before calling strict C++ batch parsing. - Direct low-level
_core._parse_*batch helper calls remain advanced-only and reject adapter-backed objects.
Development
Configure and build C++ targets
python configure.py --config Release --build_dir build
python cbuild.py build
Or use CMake presets:
cmake --preset local-release
cmake --build build/local-release
Build benchmarks:
python configure.py --config Release --build_dir build_bench --with_benchmarks
python cbuild.py build_bench --bench
Batch collation microbenchmark (batch_encodings, including pyobj collation):
python scripts/benchmark_batch_encodings.py --repeats 400 --warmup 50
Tests
Python tests:
pytest -q
C++ tests (after configure/build):
./build/<...>/src/mifrost_tests
Profiling
python scripts/profile_encoding.py --domain blocks --problem small
python scripts/profile_encoding.py --profile cprofile --include-goals
python scripts/profile_encoding.py --benchmark-pyg --no-export-node-names
Comprehensive scaling benchmark suite (diverse state batches, goals/actions combinations, transition encoders, horizon DAG-size sweeps):
python scripts/benchmark_encoder_suite.py \
--domain blocks \
--problem smedium \
--max-states 256 \
--batch-sizes 8,32,128 \
--horizon-dag-sizes 8,32,64 \
--horizon-batch-sizes 4,16 \
--include-lgan-values false,true \
--repeats 5 \
--warmup 1 \
--output-json /tmp/encoder_bench_suite.json
Include PyG conversion paths in the same run:
python scripts/benchmark_encoder_suite.py --benchmark-pyg
Output assembly notes
- Native-first:
encode(...)/encode_batch(...)returnBatchEncoding.BatchEncoding.as_pyg(...)converts to PyG.
- Convenience:
encode_pyg(...)/encode_batch_pyg(...)return PyG directly.
BatchEncodingsupportsas_dict(),schema_fingerprint(),save(...),load(...).mifrost.batch_encodings([...])batches single-graph encodings natively with schema checks.- Use
mifrost.encoding_to_tensors(encoding.as_dict())when feeding a custom downstream pipeline.
Encoder architecture note
- See
src/ENCODER_INHERITANCE_ARCHITECTURE.mdfor the C++/Python inheritance and config layering used by hetero encoders.
License
GPL-3.0-only
Project details
Release history Release notifications | RSS feed
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 mifrost-0.3.1.tar.gz.
File metadata
- Download URL: mifrost-0.3.1.tar.gz
- Upload date:
- Size: 399.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
362829146592be65aef774209e89acb802c530ebdaeaa62fd0ea8b07e38c128a
|
|
| MD5 |
3534344ce5527f3ca925e510c237325a
|
|
| BLAKE2b-256 |
ad172c24156bbe66995082f95919be96262b8f0ba6e612447fee8bd4cc051568
|
Provenance
The following attestation bundles were made for mifrost-0.3.1.tar.gz:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1.tar.gz -
Subject digest:
362829146592be65aef774209e89acb802c530ebdaeaa62fd0ea8b07e38c128a - Sigstore transparency entry: 1823749628
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bfc66f1ce1f82e4652b307e0dc89928dc7b9c1e4affd478e32241f8220d221a
|
|
| MD5 |
cd15b764f46097bd8721011b1fed8894
|
|
| BLAKE2b-256 |
8237c1f6e857e045875cad6021e7186f23f8dba32bc94aa526041efbad563f29
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp314-cp314-musllinux_1_2_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp314-cp314-musllinux_1_2_x86_64.whl -
Subject digest:
0bfc66f1ce1f82e4652b307e0dc89928dc7b9c1e4affd478e32241f8220d221a - Sigstore transparency entry: 1823751163
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 4.2 MB
- Tags: CPython 3.14, 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 |
f9f21beed8a43c3dfa24f4722673f80c59e3c16b719d99215fd517a1a02eb31e
|
|
| MD5 |
9e67948078337527b6c2926134e14b0d
|
|
| BLAKE2b-256 |
4f6c320bb5c3c066b6bc20882bc83de1d89577f7e3b5a19610b64dfedac7fae5
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
f9f21beed8a43c3dfa24f4722673f80c59e3c16b719d99215fd517a1a02eb31e - Sigstore transparency entry: 1823750151
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.14, 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 |
498ce5f789d9025bef847f1ac4177c92dc1a20c25dd9850dd550a7a6b0ca92a2
|
|
| MD5 |
4d5e7ffe487fb12d3a0c930444ec65b7
|
|
| BLAKE2b-256 |
878ebd1f675bdcdcfd0a21ecac67103f20781fd917bece3ab5df724e0a413e77
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
498ce5f789d9025bef847f1ac4177c92dc1a20c25dd9850dd550a7a6b0ca92a2 - Sigstore transparency entry: 1823750765
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a563f9dc57a86f7918386954b15d764666a54a5b7d9c7c5a539248d2be6dd504
|
|
| MD5 |
2bfbec636138548805fbf5754eddb9df
|
|
| BLAKE2b-256 |
cb82229dc0f097d221de50f2430c0cf7d2537b596f1d39de33e5cb2cdcd8b795
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl -
Subject digest:
a563f9dc57a86f7918386954b15d764666a54a5b7d9c7c5a539248d2be6dd504 - Sigstore transparency entry: 1823750552
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 4.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 |
76d9f5c4c8a97f078e908cac7d18698abb2d838955ff046771b409cbe27fad39
|
|
| MD5 |
c7a139e6608b17626a8b95ab546b4161
|
|
| BLAKE2b-256 |
f81e5496f89fa89eb775e893a6589b4991a0c04e9cd38b8b0809e779098d1914
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
76d9f5c4c8a97f078e908cac7d18698abb2d838955ff046771b409cbe27fad39 - Sigstore transparency entry: 1823750978
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.9 MB
- 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 |
69faa405d0213e2c1fa83d8d945c7e22516c33a4df63d13531fe4ad63093e771
|
|
| MD5 |
03f08c9569b71cab48c461586b994f09
|
|
| BLAKE2b-256 |
ea010bc151a76ffcfce3df0ab4172ea03924761da9e6cf1c1c21f07a197cd1a3
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
69faa405d0213e2c1fa83d8d945c7e22516c33a4df63d13531fe4ad63093e771 - Sigstore transparency entry: 1823750474
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05c4697626ebad01d85645809ee83a8c76091f23caac15106ff4a7a8c10181d4
|
|
| MD5 |
9c350dcb4cc17f32b66e1115ad458f3a
|
|
| BLAKE2b-256 |
dc4022d70efeba3c555dbefa89c8584f6831d172baf6425e7502c36e57ffdc3b
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl -
Subject digest:
05c4697626ebad01d85645809ee83a8c76091f23caac15106ff4a7a8c10181d4 - Sigstore transparency entry: 1823749753
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 4.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 |
981da8ea15d39154694ba9611a3cfa47a989196726cc3d240766f1406c901099
|
|
| MD5 |
a528891da2a89acf0e9e07f4d12fbe0c
|
|
| BLAKE2b-256 |
5d90919de95d3e68a236b6f4ecf93ebb346ebaad68219b0a1c24782ccc792369
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
981da8ea15d39154694ba9611a3cfa47a989196726cc3d240766f1406c901099 - Sigstore transparency entry: 1823750665
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.9 MB
- 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 |
f7cd795f5b57f46cf69611925603bfb4224d4a427c5f0ab1941bcc0fd3d6912d
|
|
| MD5 |
42b92a7efc772dd800e7b3df8a2a2ce1
|
|
| BLAKE2b-256 |
92b20d07f213d15e6e3b70dfb79344312dd0f65d63064e28332aede5368e54ff
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
f7cd795f5b57f46cf69611925603bfb4224d4a427c5f0ab1941bcc0fd3d6912d - Sigstore transparency entry: 1823751083
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3a150ccda0780aaddacc98ae7f0626ac627f64fc5ba01da8eec6a8207d052c9
|
|
| MD5 |
cd9d48aedb7a93bfab2477d4ea134be7
|
|
| BLAKE2b-256 |
a5327b7c8eaf6fa87275d46b5efbeb3a9391a7e1002a9d054c48923439fa9baa
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl -
Subject digest:
d3a150ccda0780aaddacc98ae7f0626ac627f64fc5ba01da8eec6a8207d052c9 - Sigstore transparency entry: 1823749909
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 4.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 |
3165993b6de6ce305d9460416de904d30e8cc8c0ab634d48cea6a58f76fdd2de
|
|
| MD5 |
d518920459d367a72c831f9a04c145af
|
|
| BLAKE2b-256 |
e207d7bfb01fc07c20e13c3b5864e0fedb4ea0aa538e53115f10857c15fe9416
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
3165993b6de6ce305d9460416de904d30e8cc8c0ab634d48cea6a58f76fdd2de - Sigstore transparency entry: 1823749836
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.9 MB
- 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 |
66467903b0a72c9c0ddb29aa164cbce6dcebfdd4eadb7a32ec171505d3a4c245
|
|
| MD5 |
489d9e678445a25f4cb55825761d58d4
|
|
| BLAKE2b-256 |
d29bbcf5854d6bd47d1c0db8fc941c72498ccaa35a682c0c12c02dc3c1a18007
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
66467903b0a72c9c0ddb29aa164cbce6dcebfdd4eadb7a32ec171505d3a4c245 - Sigstore transparency entry: 1823750384
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fc3698da270fef18a0dc36d66aa5eb29c545599c22c0f4892e3080631b09fd3
|
|
| MD5 |
703f75e6c7119f6dd37e0c2e7a1af768
|
|
| BLAKE2b-256 |
3ac8d498250ab52f3cfb4d830557d9c48405d14c2bbded78d185fa501d920c79
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl -
Subject digest:
8fc3698da270fef18a0dc36d66aa5eb29c545599c22c0f4892e3080631b09fd3 - Sigstore transparency entry: 1823750032
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 4.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 |
fc7351982dbc16df9f6093f2ca72cbdd7bccb1588090789360c8c95d09c3b26a
|
|
| MD5 |
d51a8292830096a11c6ffbfbe2b088c6
|
|
| BLAKE2b-256 |
f5117bb60987e58b63f50ca1b881b793148e4f3beb4f89107c6e9c7aadd03b91
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
fc7351982dbc16df9f6093f2ca72cbdd7bccb1588090789360c8c95d09c3b26a - Sigstore transparency entry: 1823750877
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mifrost-0.3.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: mifrost-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.9 MB
- 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 |
f15327de7143993d1cd65fa3ee9f4829a155683cff0caba6c145fa2e79c12e1e
|
|
| MD5 |
af219ea91d81af51c3b8194f933c726f
|
|
| BLAKE2b-256 |
0e62ed89ba2894d0fee747016a9d83035f5d6346aea3db7cad712745a63e4a57
|
Provenance
The following attestation bundles were made for mifrost-0.3.1-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on maichmueller/mifrost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mifrost-0.3.1-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
f15327de7143993d1cd65fa3ee9f4829a155683cff0caba6c145fa2e79c12e1e - Sigstore transparency entry: 1823750261
- Sigstore integration time:
-
Permalink:
maichmueller/mifrost@390f8090430944521df7c322996af8aa89f78469 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/maichmueller
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@390f8090430944521df7c322996af8aa89f78469 -
Trigger Event:
push
-
Statement type: