Skip to main content

Minimalistic Python client for interaction with the Apalache model checker over JSON RPC

Project description

Apalache RPC Client

Minimalistic Python client for interaction with the Apalache model checker over JSON RPC.

This project is hosted at GitHub. See apalache-rpc-client.

Why? Because now you can write your own test harnesses and symbolic search tools that interact with TLA+ and Quint specifications. Use it with an AI agent, and you have got superpowers!

Minimalistic. Connections usually require tinkering with the parameters. This library only provides a thin wrapper around the JSON-RPC calls to the Apalache server. Start with this library, to get the initial setup working. Once, you have hit the limits, just fork this project and extend it to your needs.

Server API. Refer to the [Apalache JSON-RPC API][] for the interaction details.

For an end-to-end JSON-RPC example that loads and explores examples/circular-buffer/MC10u8_BuggyCircularBuffer.tla, see the repository README at the project root.

For ordered multi-step exploration in one round trip, use the sequence builder:

with client.sequence() as seq:
    init = seq.assume_transition(0)
    step = seq.next_step()
    view = seq.query(["OPERATOR", "TRACE"], operator="View")

assert init.result.snapshot_id >= 0
assert step.result >= 0
assert "operatorValue" in view.result
assert "trace" in view.result

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

apalache_rpc_client-0.7.2.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

apalache_rpc_client-0.7.2-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file apalache_rpc_client-0.7.2.tar.gz.

File metadata

  • Download URL: apalache_rpc_client-0.7.2.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for apalache_rpc_client-0.7.2.tar.gz
Algorithm Hash digest
SHA256 d2c2413869c37a6e44c13d37d0afdee0ab95c3c34e0351c492fb00fa4b85b6a1
MD5 04810031c58cf5013330076703c45ad4
BLAKE2b-256 b0a363881ac645df3e356623fd24fddf559f33e9e5d9ea4341faf489e0676329

See more details on using hashes here.

Provenance

The following attestation bundles were made for apalache_rpc_client-0.7.2.tar.gz:

Publisher: publish.yml on konnov/apalache-rpc-client

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

File details

Details for the file apalache_rpc_client-0.7.2-py3-none-any.whl.

File metadata

File hashes

Hashes for apalache_rpc_client-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9a8fba320684d327cc010fed36f9d50d9d7bf1af808f21075314a7e9c23055e6
MD5 a7d9b3102c3e14f85dc9c15abdbd13b6
BLAKE2b-256 41b01218305b2609b7415ad4b6f79a4fafa21efa77ec8ad32fd2046ab36ae396

See more details on using hashes here.

Provenance

The following attestation bundles were made for apalache_rpc_client-0.7.2-py3-none-any.whl:

Publisher: publish.yml on konnov/apalache-rpc-client

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