Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,24 @@ Python wrapper for interfacing to IntrepidCS Hardware.
- Mac builds use [libicsneo](https://github.com/intrepidcs/libicsneo) and are built using cibuildwheel
- libicsneolegacy.dylib is bundled with the wheel and python_ics will automatically use it.

## Versioning

Starting with **1!26.3.9**, python_ics versions track the Vehicle Spy
version they were generated from (Vspy 3.26.3.9 → python_ics 26.3.9).

The `1!` prefix is a [PEP 440 epoch](https://peps.python.org/pep-0440/#version-epochs).
Earlier releases used the icsneo40 DLL version (e.g. 923.11), which sorts
*above* 26.x, so the epoch tells pip the scheme changed:

- `pip install python_ics` and `pip install -U python_ics` correctly
resolve `1!26.3.9` as newer than `923.11`.
- Exact pins must include the epoch: `python_ics==1!26.3.9`.
- Range pins work with or without it: `python_ics>=1!26.3`.

**Release tagging:** tags are `v1!<version>` (e.g. `v1!26.3.9`). Every
future tag keeps the `1!` prefix — a bare `v26.x` tag would sort below
the historical 923.x releases and pip would ignore it.

# Basic usage

```python
Expand Down
6 changes: 6 additions & 0 deletions build_libicsneo.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@
LIBUSB_BUILD = f"{LIBUSB_ROOT}/build"
LIBUSB_INSTALL = f"{LIBUSB_ROOT}/install"

# NOTE: this pin's vendored icsnVC40.h predates Vspy 3.26.3.9
# (SRADGalaxy2Settings 840 vs 1204, no Comet3/Gigastar2), so Linux/macOS
# wheels lag the Windows ABI. Newer upstream doesn't help yet: master
# (4ed29b4, 2026-07-07) still has the old header AND adds a mandatory
# icspb protobuf dependency whose codegen fails on clean CI runners.
# Bump once upstream syncs the header and icspb builds.
LIBICSNEO_VERSION = "830fe1a"
LIBICSNEO_ROOT = f"{ROOT}/libicsneo/{LIBICSNEO_VERSION}"
LIBICSNEO_SOURCE = f"{LIBICSNEO_ROOT}/source"
Expand Down
Loading
Loading