Mata: The Automata Library
Github | Verifit/libmata |
PyPi | pypi/libmata |
My contributions
- 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.
- 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.
- I was one of the main reviewers of the code, assuring for the quality of the code.
- 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:
- An efficient library implemented in C/C++
- 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
- Lukáš Holík (kilohsakul, holik@fit.vut.cz): the supreme leader, the emperor of theory;
- Ondřej Lengál (ondrik, lengal@fit.vut.cz): prototype developer and the world’s tallest hobbit;
- David Chocholatý (Adda0, chocholaty.david@protonmail.com): library maintainer;
- Tomáš Fiedor (tfiedor, ifiedortom@fit.vut.cz): python binding maintainer;
- Juraj Síč (jurajsic, sicjuraj@fit.vut.cz): library developer;
- Vojtěch Havlena (vhavlena, ihavlena@fit.vut.cz): library developer;
- Martin Hruška (martinhruska, ihruska@fit.vut.cz): library design advisor, former library developer;
- Tomáš Vojnar (vojnar, vojnar@fit.vut.cz): the spiritual leader;
Special Thanks To
- Tomáš Kocourek (kocotom, kocotom@seznam.cz): library developer for first AFA design;
- Michal Horký (MichalHorky, horky-michal@seznam.cz): RE2 parser interface developer;