Mata: The Automata Library

GitHub tag Quality Python-Binding (build-&-test) codecov

  
GithubVerifit/libmata
PyPipypi/libmata

More on github!

My contributions

  1. I was the main developer of the Python binding (David Chocholatý took over from me), which is almost as efficient as the native C/C++ library.
  2. I took care of the DevOps aspects of the libmata: CI/CD (in form of github actions), testing, performance testing, documentation generation, and many other aspects.
  3. I was one of the main reviewers of the code, assuring for the quality of the code.
  4. I was the main designer for the experimental evaluation: how the benchmarks were run, how the benchmarks were evaluated, and how the results were presented (currently unpublished). I also created a replication package for evaluating the strenghts of our library.

I am currently inactive (rather a passive watcher) developer of the libmata.

Installation

To install the libmata, run the following:

git clone https://github.com/VeriFIT/mata
cd mata
make release

To install Python binding (ready to use in Python interpreter) run the following:

pip install libmata

You can check out either our C/C++ examples (at examples directory) or our Jupyter notebookes ( at examples/notebooks directory).

Note, that we suggest to use virtual environment for installation from pip.

If you encounter any problems with installing libmata, please refer to the README.

Overview

Mata is an open source automata library that offers interface for different kinds of automata (NFA, etc.). Currently, Mata offers two interfaces:

  1. An efficient library implemented in C/C++
  2. A flexible wrapper implemented in Python that uses the efficient library

Licence

The code of Mata is licensed under MIT licence.

Other contributors

This list reflects only the core team around Mata, and it may be incomplete.

For a list of all people who have contributed to the codebase, see GitHub’s list of contributors.

The Core Mata Group

Special Thanks To