A library for machine-to-machine interaction with the Coq proof assistant, providing serialization of Coq's internal datatypes to JSON or S-expressions.
SerAPI is a library that provides machine-friendly serialization for the Coq proof assistant, enabling external tools to interact with Coq programmatically. It solves the problem of accessing Coq's internal structures by converting them into formats like JSON or S-expressions, which is essential for building IDEs, analysis tools, and machine learning applications.
Developers building Coq IDEs, researchers working on machine learning for theorem proving, and tool authors needing programmatic access to Coq's internals for code analysis or automation.
Developers choose SerAPI because it offers a standardized, serialized interface to Coq's core datatypes, simplifying integration and enabling advanced use cases like in-browser execution and asynchronous processing that are difficult with native Coq interfaces.
Coq Protocol Playground with Se(xp)rialization of Internal Structures.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Converts Coq's internal OCaml datatypes to JSON or S-expressions automatically, enabling easy machine consumption for tools and analyses, as highlighted in the GitHub description.
Supports non-blocking proof checking and full-document parsing, ideal for IDEs and batch processing, specified in the key features.
Can run as a WebWorker thread, embedding a self-contained Coq system in browsers with load times under a second, demonstrated in the README.
Adopted by projects like CoqGym and Proverbot9001 for machine learning and analysis, showing real-world utility in research and tooling.
Development has stopped with the last release for Coq 8.20, and it's succeeded by coq-lsp, making it unsuitable for new or evolving projects.
The API is experimental and may change often, posing risks for long-term integration, as warned in the documentation with an 'API WARNING'.
Requires installation via opam or Nix and deep understanding of Coq's internals, which can be a barrier for developers not familiar with OCaml ecosystems.