This release is a pre-release and may not be stable for production use.
Mimir-RL
Mimir-RL is a Python library that implements RL algorithms using PyTorch and PyTorch RL that are tightly integrated with Mimir.
Dead-end detection
Pass an optional state/goal detector callable to a trajectory sampler:
import pymimir as mm
from pymimir_rl import BoltzmannTrajectorySampler, CachedDeadEndDetector
detector = CachedDeadEndDetector(mm.H2DeadEndDetector)
sampler = BoltzmannTrajectorySampler(
model, reward_function, temperature=0.5, dead_end_detector=detector,
)
For h², construct problems with generator="grounded". The cache creates one
native detector per problem. Trajectory calls it after sampling, in state order,
and propagates each proof forward for the same goal. Existing reward-function
proofs and actionless non-goal states also provide dead-end evidence.
Detected states with applicable actions do not terminate or prune rollouts.
Transition.successor_is_dead_end is separate from is_terminal, and ordinary
rewards are preserved. Optimizers assign fixed dead-end targets without
bootstrapping from those successors. Hindsight cloning recomputes labels for its
new goal using the same detector cache.
OffPolicyAlgorithm accepts dead_end_replay_buffer and hindsight_replay_buffer.
The former receives each trajectory containing a proven dead state, from the
index returned by the optional dead_end_cutoff(trajectory) callable onwards.
Without a callable, the whole trajectory is stored. Each optimization step
samples batch_size hindsight transitions and adds up to dead_end_batch_size
dead-end transitions (default batch_size // 2, at most one per stored
transition), passing both to the loss as one batch.
The cutoff only selects replay experience; it does not create dead-end labels or change targets. All sampled trajectories remain intact for hindsight refinement. Unproven horizon cutoffs do not qualify for the dead-end buffer.
Metadata
Release files for pymimir-rl 0.3.0b7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pymimir_rl-0.3.0b7.tar.gz | 59.8 kB | Without provenance | Details for pymimir_rl-0.3.0b7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pymimir_rl-0.3.0b7-py3-none-any.whl | Python 3 | none | any | Details for pymimir_rl-0.3.0b7-py3-none-any.whl |
Total release size: 118.5 kB
Release files / pymimir_rl-0.3.0b7.tar.gz
| Download URL | pymimir_rl-0.3.0b7.tar.gz |
|---|---|
| Size | 59.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
246c2da3f3f5adfabcb743bebd9dc522e0be1f6ab82e06f2a1ba4f88f57fdf13
|
|
BLAKE2b-256 checksum How to use checksums |
b3e01958e68acbd4169b59dee14aed3cf0c17160d6b6c5ae0503a4a0e0a963cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pymimir_rl-0.3.0b7-py3-none-any.whl
| Download URL | pymimir_rl-0.3.0b7-py3-none-any.whl |
|---|---|
| Size | 58.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
366b543951dee726c71f27fcf2b0df12a5b759c836efe6fe76c68792438b5aae
|
|
BLAKE2b-256 checksum How to use checksums |
c42753256c5b33f54ab716903cc815bf00e704ac851246eca525ddc3bacd4524
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for pymimir-rl 0.3.0b7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.