stamplint
stamplint reads a ROS 1 or ROS 2 recording and reports what is wrong with the timestamps in it: stamps that sit a leap second offset away from the receiving clock, stamps that go backwards, stamps that freeze, stamps of zero, dropouts, and clocks that drift apart. It then collapses the findings into a short verdict that names the probable cause instead of listing symptoms per topic.
It is pure Python and does not need a ROS installation. Bags are read through rosbags, and stamps are taken straight from the serialized bytes; only the first message of each topic is deserialized, to validate the parser against it.
It ships with bagmutate, which writes a copy of a bag with one known timestamp fault injected, so every check has a positive control.
Usage
pip install stamplint
stamplint /path/to/bag
stamplint /path/to/bag --topics /scan --topics /imu --limit 5000
stamplint /path/to/bag --stats
stamplint /path/to/bag --json-verdict
bagmutate clean.bag out --pathology tai
Exit code is 0 when no error finding was raised, 1 when at least one was, and 2 on bad usage or a bag that could not be read.
More
Full documentation, the live ROS 2 monitoring node and a catalog of the real world failures behind each check: https://github.com/sa1ntsinner/stampdoctor
Licensed under Apache 2.0.
Metadata
Release files for stamplint 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| stamplint-0.1.0.tar.gz | 31.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stamplint-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.8 kB
Release files / stamplint-0.1.0.tar.gz
| Download URL | stamplint-0.1.0.tar.gz |
|---|---|
| Size | 31.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d0bd3878d9544790b978b850bfd799867a23a4a210d7aa0a3e7df098d536b19
|
|
BLAKE2b-256 checksum How to use checksums |
662625aacb721a3fee3fa017634ed5041dbd0877bd120016e0f7d7f5855dfbe7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / stamplint-0.1.0-py3-none-any.whl
| Download URL | stamplint-0.1.0-py3-none-any.whl |
|---|---|
| Size | 22.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4f5fe378b25fdc9c63bff54546463adc9867342e7b1af1bcec0286ba7a8583f2
|
|
BLAKE2b-256 checksum How to use checksums |
cc5be99edfb18b426cc2862759cf2e9f75fdebbee6beaedc2658d9a2a7c79ad4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Security for stamplint 0.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.