Skip to main content

Moveset

Explicit linear composition of selected Python capabilities. Python 3.11+.

from hidden_moves import Moves
from hidden_moves.adapters import CapabilityCatalog
from moveset import Input, Pipeline, Ref, Step

def normalize(text: str) -> str:
    return " ".join(text.lower().split())

moves = Moves()
moves.learn(normalize)
selected = CapabilityCatalog(moves, ["normalize"])
definition = Pipeline("example", version="1", steps=(
    Step("clean", "normalize", {"text": Input("text")}),
), outputs={"text": Ref("clean")})
bound = definition.bind(selected, catalog_version="text-v1")
assert bound.run({"text": " Hello WORLD "}).outputs == {"text": "hello world"}

Definitions snapshot nested arguments and outputs. Input("payload")["key"][0] selects run data; Ref("clean") selects an earlier result. Mappings are explicit: scalar results are never automatically wrapped in objects. Binding validates selected capability names and known argument shapes. Run preflight validates all known inputs before effects; dynamic result paths and values are checked before the dependent call. Hidden Moves owns its documented schema subset and callable binding. No provider is activated by creating or executing a pipeline.

arun(inputs) awaits mixed sync/async steps in order. run rejects declared async steps before executing anything. Cancellation propagates; ordinary runs start fresh. Results are caller-owned finite JSON snapshots, bounded to 1 MiB with depth 32; definitions have at most 256 steps. StepError identifies the step/capability and retains the original cause. There is no retry, persistence or concurrency in the core.

The bound fingerprint includes mappings, schemas, async flags and catalog version. Change catalog_version when callable behavior, resources, defaults or configuration change; this is not source authentication. The optional lifecycle adapter belongs in the sequence profile and delegates durable execution to func_seq.

This source development profile pins Hidden Moves to an immutable revision. It is independently built and versioned; release requirements and publication are tracked separately in the Wispsy Composition Project.

Build with uv build --out-dir dist; python scripts/qualify.py dist installs the wheel and source archive outside the checkout and runs the contract tests. CI qualifies Python 3.11 on Linux/Windows and Python 3.14 on Linux/macOS/Windows.

Metadata

Release files for moveset 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for moveset 0.1.0
File Size Uploaded Provenance Actions
moveset-0.1.0.tar.gz 14.0 kB With provenance Details for moveset-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for moveset 0.1.0
File Interpreter ABI Platform Actions
moveset-0.1.0-py3-none-any.whl Python 3 none any Details for moveset-0.1.0-py3-none-any.whl

Total release size: 24.6 kB

Release files / moveset-0.1.0.tar.gz

Download URL moveset-0.1.0.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
989123c3a3c80b67103ce62435e898d0bbb496610d4169c72e5d1b108b1099c2
BLAKE2b-256 checksum
How to use checksums
8ad109938a9f7f275ae07ab8629e5d13a47914f34d7b05bd8f60dc48a1f4272c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Release files / moveset-0.1.0-py3-none-any.whl

Download URL moveset-0.1.0-py3-none-any.whl
Size 10.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e6af70ab7b8092ec6cddb36af4f8a8051a751d995867bac184c03758ffec171c
BLAKE2b-256 checksum
How to use checksums
c1a143f4554fb656b13f757167edd4900c4cc3e31c8b732d9f2449b33448a79e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Security for moveset 0.1.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for moveset-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page