# [RecordFlux](https://github.com/AdaCore/RecordFlux/)

[![PyPI](https://img.shields.io/pypi/v/RecordFlux?color=blue)](https://pypi.org/project/RecordFlux/)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5052/badge)](https://bestpractices.coreinfrastructure.org/projects/5052)

RecordFlux is a toolset for the formal specification and generation of verifiable binary parsers, message generators and protocol state machines.

See the [website](https://www.adacore.com/recordflux), the [user's guide](https://docs.adacore.com/live/wave/recordflux/html/recordflux_ug/index.html) and the [language reference](https://docs.adacore.com/live/wave/recordflux/html/recordflux_lr/index.html) for more information.

## Contribution and Feedback

Contributions and feedback to RecordFlux are very welcome. To discuss a bug or an enhancement, [open a ticket on GitHub](https://github.com/AdaCore/RecordFlux/issues/new/choose) and select the appropriate issue template. Please give sufficient information about your issue, the software version you are using and your environment such that the developers can understand and (if necessary) reproduce the problem. If none of the provided issue templates fit your needs, feel free to open [a blank issue](https://github.com/AdaCore/RecordFlux/issues/new).

See the [development guide](https://github.com/AdaCore/RecordFlux/blob/main/doc/development_guide/index.rst) on how to contribute to RecordFlux.

## Licence

This software is licensed under the `AGPL-3.0`. See the `LICENSE` file for the full license text.
