Module imandra.u.reasoners

Sub-modules

imandra.u.reasoners.acl2
imandra.u.reasoners.clingo
imandra.u.reasoners.core
imandra.u.reasoners.cvc5
imandra.u.reasoners.eprover
imandra.u.reasoners.mace4
imandra.u.reasoners.metitarski
imandra.u.reasoners.nqthm
imandra.u.reasoners.otter
imandra.u.reasoners.prover9
imandra.u.reasoners.qepcad
imandra.u.reasoners.z3
imandra.u.reasoners.zipperposition

Classes

class ApiError (*args, **kwargs)
Expand source code
class ApiError(Exception):
    pass

Common base class for all non-exit exceptions.

Ancestors

  • builtins.Exception
  • builtins.BaseException
class Client (reasoner=None, api_key=None, scheme=None, host=None, api_version=None)
Expand source code
class Client:
    _class_reasoner = None

    def __init__(
        self, reasoner=None, api_key=None, scheme=None, host=None, api_version=None
    ):
        self._reasoner = reasoner or self._class_reasoner
        if self._reasoner is None:
            raise ValueError("Please provide a reasoner")
        self._config = auth.Config(
            api_key=api_key, scheme=scheme, host=host, api_version=api_version
        )

    def eval(self, input: str, config=None):
        headers = self._config.get_headers()
        base_url = self._config.get_url()
        url = f"{base_url}/reasoners/{self._reasoner}/eval"

        json = {"input": input}
        if config:
            json["config"] = config

        response = requests.post(url, headers=headers, json=json)

        if response.status_code != 200:
            raise ApiError(response)

        return response.json()

Subclasses

Methods

def eval(self, input: str, config=None)
Expand source code
def eval(self, input: str, config=None):
    headers = self._config.get_headers()
    base_url = self._config.get_url()
    url = f"{base_url}/reasoners/{self._reasoner}/eval"

    json = {"input": input}
    if config:
        json["config"] = config

    response = requests.post(url, headers=headers, json=json)

    if response.status_code != 200:
        raise ApiError(response)

    return response.json()