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.6.1.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.6.1-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apalache_rpc_client-0.6.1.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.6.1.tar.gz
Algorithm Hash digest
SHA256 88966ed21f535d7fb2cc87cc52468619e3a7da0e11ff66dcdd3876ef4175ccf9
MD5 a6610841df2be5013a0c5bf469d33e0c
BLAKE2b-256 fe1294f5ab11fcad563a3119c706771d053b07eba1f887e9f253105f23da06e9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for apalache_rpc_client-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c9ee3a1e3029c289110ef56335c80a0f5f881149bf9ef1b71ee25fec4a7c62db
MD5 d22ff7ea5b1b47aa8c5f40031499c54f
BLAKE2b-256 3e957f6e17ae74edd99761e0d3871648d4ccb5215ddf83220c9d58a6ffae4ee6

See more details on using hashes here.

Provenance

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