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.5.0.tar.gz (10.4 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.5.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apalache_rpc_client-0.5.0.tar.gz
  • Upload date:
  • Size: 10.4 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.5.0.tar.gz
Algorithm Hash digest
SHA256 b160f661d19642b41b1b87a0dfe3135c62c938474684b5eeaf8adf9ef0dbf542
MD5 d0f39508141a76b0d40d3da12365ec96
BLAKE2b-256 a23b77f9247f741a2b3d4f544d270edc9e50fad2f377ad4d82b340346d2115d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for apalache_rpc_client-0.5.0.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.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for apalache_rpc_client-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a5d8ed827c0aaec1ecf442c34f3e92c4336daf49dfe0e46b8f6470ecec44f845
MD5 e2515aba0f47ee236f78de34230b1abd
BLAKE2b-256 f047cc57ef8d0cfd7a5dd49451113383a0430a0d717fc2c7a3b796fe4abc0da3

See more details on using hashes here.

Provenance

The following attestation bundles were made for apalache_rpc_client-0.5.0-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