ASPN-LCM
This Python module contains the Python variant of ASPN-LCM.
Release Versioning
This project implements a versioning scheme similar to semantic versioning SemVer, but much lighter. This project does not define an API and therefore has no concrete definition of what constitutes a breaking change.
Nonetheless, if a new release would require significant changes downstream we will attempt to communicate that by incrementing the major version. If there are new features or newly deprecated features, we will attempt to communicate that by incrementing the minor version. If the changes are primarily bug fixes, we will attempt to communicate that by incrementing the patch version.
However, we make no concrete promises about whether or not a given release will be compatible with your project downstream. You may experience breaking changes on minor or patch releases. If this is an issue for your project, we recommend you pin to a specific version of this project rather than a range.
Fingerprints
Each message defined by this project has a unique fingerprint, a hash calculated from all of the fields of the message, recursively. If any fingerprints change this indicates a hard incompatibility with previous versions of this project. In this case, we will increment the major version if any fingerprint changes. Additionally, we maintain a table of fingerprint changes so you can know which messages' compatibility changed.
Release Notes
2.0.1
Fixed a bug in the legacy submodule where it would import from the top-level module rather than the submodule.
2.0.0
This version includes breaking changes to the following ASPN messages, meaning that they have new fingerprints:
measurement_direction_2d_to_pointsmeasurement_direction_3d_to_pointsmeasurement_imagemeasurement_satnav_subframe
This occurred because certain fields were changed from int16_t to byte in order to better
represent ASPN in LCM. Specifically, this change was made to fields which represented opaque data
streams (e.g. image data). This change has the benefit of reducing the size of these fields by half,
which is important since some of these messages can be very large (e.g. images).
1.0.0
Initial release.
Legacy Submodule
The ASPN-LCM Python module ships with the latest version of the previous major release via the
legacy submodule. This submodule is provided as a convenience in order to more easily convert
legacy data to a format compatible with the latest version of ASPN-LCM after breaking changes are
made.
For example, if between 1.0 and 2.0 the fingerprint for the measurement_image message changed, it
will still be possible to decode that message using aspn23_lcm.legacy.measurement_image.
Only the previous major release will be provided.
Metadata
Release files for aspn23-lcm 2.0.1
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 | Actions Reset |
|---|---|---|---|---|
| aspn23_lcm-2.0.1-py3-none-any.whl | Python 3 | none | any | Details for aspn23_lcm-2.0.1-py3-none-any.whl |
Release files / aspn23_lcm-2.0.1-py3-none-any.whl
| Download URL | aspn23_lcm-2.0.1-py3-none-any.whl |
|---|---|
| Size | 280.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c2a98d3cfe77b4d41fb5cf4c91fc472ed0073ced119b69fedcffc1215849f23b
|
|
BLAKE2b-256 checksum How to use checksums |
28d9d557b077e368723214e4c10148ec3fb9fa8ab44321abd764de807799d051
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.9
|
Security for aspn23-lcm 2.0.1
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.