LOBSTER
The Lightweight Open BMW Software Traceability Evidence Report allows you to demonstrate software traceability and requirements coverage, which is essential for meeting standards such as ISO 26262.
This package contains a tool to extract tracing tags from Python3 source code or Bazel files.
Tools
lobster-python: Extract requirements from Python3 code or from Bazel
Usage
This tool supports:
- Python code
- Python PyUnit/unittest unit tests
- Bazel files
lobster-python was invented for Python code
and throughout this document we only refer to Python.
But the tool also works for Bazel files because they are very similar to Python code.
For either code or tests you can embedd tracing tags like this:
def potato(self):
# lobster-trace: something.example
return "potato"
You can add justifications as well:
def potato(self):
# lobster-exclude: a very good reason is here
return "potato"
For classes, you have a choice on how you trace them: you either annotate the class itself, or each individual method. If you choose to annotate the class itself, then you will get warnings for each method with an annotation.
Normal Code
For normal code the usage is:
lobster-python FILES_OR_DIRS
Note that FILES_OR_DIRS should not contain any tests.
They will be treated as regular code otherwise.
Tests
For tests (pyunit or unittest) the usage is:
lobster-python --activity FILES_OR_DIRS
Here FILES_OR_DIRS may contain additional code (like the implementation of mock classes), but only functions with
names that stick to the following pattern will be taken into
account:
- start with
_testortest, - or end with
test.
That means you don't need to manually exclude your setup or tear down code, only individual tests will be included.
Please note that the generated output json files always use PyTest as framework indicator, even if unittest is used:
{
"framework": "PyUnit",
"kind": "Test"
}
Copyright & License information
The copyright holder of LOBSTER is the Bayerische Motoren Werke Aktiengesellschaft (BMW AG), and LOBSTER is published under the GNU Affero General Public License, Version 3.
Metadata
Release files for bmw-lobster-tool-python 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bmw_lobster_tool_python-1.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Release files / bmw_lobster_tool_python-1.0.6-py3-none-any.whl
| Download URL | bmw_lobster_tool_python-1.0.6-py3-none-any.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b599bc24f1cd64b8088960530e734737690d8327c96430d23a6dfe4dd0cd9431
|
|
BLAKE2b-256 checksum How to use checksums |
0625ccd7d5b8a203f5996217d72a060880cd2b938dceca04663da11f0bd8f90b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency log