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.1.tar.gz (10.6 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.1-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apalache_rpc_client-0.7.1.tar.gz
  • Upload date:
  • Size: 10.6 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.1.tar.gz
Algorithm Hash digest
SHA256 c46914c24aaa004bf1b8fe98ac8bb74295cecfe84067062c8e1148fc3b8e5328
MD5 dbf5216b4b5395bb87a7bcb85b1c4780
BLAKE2b-256 eee1e74b719d37524be67ff12fafcd782962cfe1fe0487089a7c4177c7f6c5dd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for apalache_rpc_client-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f9b61818237a1e3173c8de7a3417b96135e5c68ab6a8b486fb0c7e0e4aead3c7
MD5 66354b14a5886790e2eebad075b1d7df
BLAKE2b-256 8b8be25fd4610e0609ddfa02ffbe81296d0668a07ff87926fdf99b2a902b8d8a

See more details on using hashes here.

Provenance

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