A client to Isabelle proof assistant server
Python client for Isabelle server
How to Install
The best way to install this package is to use pip:
pip install isabelle-client
Another option is to use Anaconda:
conda install -c conda-forge isabelle-client
One can also download and run the client together with Isabelle in a Docker contanier:
docker build -t isabelle-client https://github.com/inpefess/isabelle-client.git docker run -it --rm -p 8888:8888 isabelle-client jupyter-lab --ip=0.0.0.0 --port=8888
How to use
from isabelle_client import get_isabelle_client, start_isabelle_server # start Isabelle server server_info, _ = start_isabelle_server() # create a client object isabelle = get_isabelle_client(server_info) # send a theory file from the current directory to the server response = isabelle.use_theories( theories=["Example"], master_dir=".", watchdog_timeout=0 ) # shut the server down isabelle.shutdown()
For more details, follow the usage example from documentation, run the script, or use isabelle-client from a notebook, e.g. with Binder (Binder might fail with ‘Failed to create temporary user for …’ error which is well known and related neither to isabelle-client nor to the provided Dockerfile. If that happens, try to run Docker as described in the section above).
More documentation can be found here.
There are Python clients to other interactive theorem provers, for example:
Modules helping to inetract with Isabelle server from Python are parts of the Proving for Fun project.
How to cite
How to Contribute
Pull requests are welcome. To start:
git clone https://github.com/inpefess/isabelle-client cd isabelle-client # activate python virtual environment with Python 3.7+ pip install -U pip pip install -U setuptools wheel poetry poetry install # recommended but not necessary pre-commit install
To check the code quality before creating a pull request, one might run the script local-build.sh. It locally does nearly the same as the CI pipeline after the PR is created.
Reporting issues or problems with the software
Questions and bug reports are welcome on the tracker.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for isabelle_client-0.3.10-py3-none-any.whl