trlc 3.0.0Latest published 21h ago
MODULE.bazel
bazel_dep(name = "trlc", version = "3.0.0")
README

Treat Requirements Like Code (TRLC)

TRLC is a domain-specific language developed at BMW for writing (and linking) requirements with meta-data.

The repository contains:

The implementation is not very fast, but designed to be pedantically correct in following the language definition. The tools also include a powerful static analysis tool to find issues with types and user-defined check rules.

The Python implementation can be used for several purposes:

  • It can be used to validate other TRLC implementations.

  • It can be used to validate a body of requirements (e.g. a CI check that all requirements are well formed)

  • The API can be used to write other tools based on TRLC (for example a tool to render the requirements in HTML, a tool to diff requirements or perform an impact analysis, or a tool to perform software traceability, etc.)

Documentation

For normal users

For advanced users

For TRLC developers

Tools Available

  • TRLC_RST Convert TRLC Requirements for Sphinx Build

Dependencies

Run-time

  • 3.8 <= Python3 <= 3.14
  • PyVCG
  • PyPI CVC5(GNU/Linux only) (required when using the --verify option)

Acknowledgements

Special thanks to Florian Schanda for his many valuable contributions to this repository.

About

Treat Requirements Like Code

@bmw-software-engineering/trlc@bmw-software-engineering
Homepage
107stars
4:49 AM (21 hours ago)
@castler#9649 Publish trlc@3.0.0 (#9649)

Languages

Python94.7%
Starlark4%
Makefile1%
SMT0.1%
Shell0.1%

Maintainers

@AAmbuj
@Rahul-Sutariya

Versions

3.0.0 +17d2026-07-13
2.0.5 +1.8mo50% 12026-06-25
2.0.450% 12026-04-30