derivationtree

An efficient derivation tree implementation for grammar fuzzing and other applications.


License
GPL-3.0
Install
pip install derivationtree==0.4.3

Documentation

DerivationTree: An Efficient, Trie-Based Derivation Tree Implementation

Python Version Build Status Code style: black

TODO

Build, Run, Install

DerivationTree requires Python 3.10.

Install

Usually, a simple pip install derivationtree should suffice. We recommend installing DerivationTree inside a virtual environment (virtualenv):

python3.10 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install derivationtree

Build

DerivationTree is built locally as follows:

git clone https://github.com/rindPHI/derivationtree.git
cd derivationtree/

python3.10 -m venv venv
source venv/bin/activate

pip install --upgrade pip
pip install --upgrade build
python3 -m build

Then, you will find the built wheel (*.whl) in the dist/ directory.

Testing & Development

For development, we recommend using DerivationTree inside a virtual environment ( virtualenv). By thing the following steps in a standard shell (bash), one can run the ISLa tests:

git clone https://github.com/rindPHI/derivationtree.git
cd derivationtree/

python3.10 -m venv venv
source venv/bin/activate

pip install --upgrade pip
pip install -r requirements_test.txt

# Run tests
pip install -e .[dev,test]
python3 -m pytest tests

Changelog

See CHANGELOG.md.

Copyright, Authors and License

Copyright © 2022 CISPA Helmholtz Center for Information Security.

The DerivationTree code and documentation was, unless otherwise indicated, authored by Dominic Steinhöfel.

DerivationTree is released under the GNU General Public License v3.0 ( see COPYING).