Skip to main content

Fast Python bindings for AIS-catcher's NMEA-to-JSON AIS decoder

Project description

aiscat

A fast, complete Python library for decoding AIS NMEA into structured dicts. Built on the AIS-catcher decoder; messages come out compatible with the AIS-catcher JSON format.

Why

Python has two established AIS decoders: pyais (pure-Python, MIT) and libais (C extension, Apache 2.0). Both have gaps:

  • pyais is ~20× slower than what's achievable in C.
  • libais's stream layer does not reassemble multi-part AIVDM — it silently drops every type-5 message (and other multi-part types).

aiscat closes both gaps by exposing AIS-catcher's mature decoder as a Python extension: full multi-part handling, lookup-table text fields (status_text, shiptype_text, …), country-code resolution, message 6/8 ASMs — everything AIS-catcher decodes — at C++ speed, in a dict shape that matches what AIS-catcher itself emits.

For live decode of a single station (~50 msg/s) any of these libraries is fast enough. aiscat earns its keep when throughput matters: replay of historical recordings, multi-receiver fan-in, batch analysis, and research workloads on millions to billions of messages.

Tradeoffs. aiscat is a C++ extension, so pip install either picks up a pre-built wheel for your platform or falls back to a source build that needs CMake and a C++11 compiler. The API is deliberately small — feed bytes, get dicts — without the configuration knobs, custom output formats, or filter chains pyais offers. And the licence is GPLv3 (inherited from AIS-catcher), so linking aiscat into a closed-source application makes that application GPL too. If any of those matter more to you than throughput, pyais is the right choice; aiscat is the right choice when you want the AIS-catcher JSON format produced quickly and reliably from Python.

Quickstart

pip install aiscat
import aiscat

dec = aiscat.Decoder()
dec.feed(b"!AIVDM,1,1,,A,15MgK45P3@G?fl0E`JbR0OwT0@MS,0*4E\r\n")
print(dec.next())
# {'type': 1, 'mmsi': 366730000, 'channel': 'A', 'rxuxtime': 1777739134.027,
#  'lat': 37.803802, 'lon': -122.392532, 'speed': 20.8, 'course': 51.3,
#  'status': 5, 'status_text': 'Moored', ...}

Benchmark

2,000,000 AIS messages (mixed types 1–4), Apple M-series, single thread:

Tool Time msg/s µs/msg vs fastest
AIS-catcher CLI (-r txt -o 5) 1.04s 1,922,000 0.52 1.00×
aiscat (this library) 1.05s 1,906,000 0.52 1.01×
gpsdecode (gpsd, BSD-2) — CLI 3.14s 636,000 1.57 3.02×
libais 0.17 (C, Apache 2.0) 5.33s 375,000 2.67 5.12×
pyais 3.0.0 (pure Python, MIT) 22.36s 89,000 11.18 21.49×

aiscat sits within 1% of the native AIS-catcher CLI despite producing rich Python dict objects (the CLI just stringifies JSON to stdout). It's 3× faster than gpsdecode, 5× faster than libais, and 21× faster than pyais.

The full benchmark — including the test-fixture generator — is in benchmarks/. Types 1–4 (single-line position reports / base station reports) are used because libais's stream API does not reassemble multi-part AIVDM groups; on a mixed corpus including type 5 (multi-part static data), libais silently drops every type-5 message. AIS-catcher, gpsdecode, and pyais handle multi-part correctly.

For perspective: a busy AIS shore station produces ~50 msg/s. Throughput matters when you're replaying recordings or aggregating dozens of receivers, not for live decode of a single antenna.

API

class Decoder:
    def __init__(self) -> None: ...
    def feed(self, data: bytes | bytearray | str) -> int: ...
    def next(self) -> dict | None: ...
    def pending(self) -> int: ...

def iter_decode(chunks: Iterable[bytes | str]) -> Iterator[dict]: ...
  • feed(data) parses NMEA AIVDM/AIVDO sentences out of the buffer. Multipart messages are reassembled internally; partial chunks are buffered until completed. Returns the number of decoded messages waiting.
  • next() pops one decoded message as a dict, or None if the queue is empty. Pop in a loop after each feed().
  • The queue is unbounded — drain it after each feed, or memory grows.
# Streaming pattern
import aiscat
dec = aiscat.Decoder()
with open("session.nmea", "rb") as f:
    while chunk := f.read(65536):
        dec.feed(chunk)
        while (msg := dec.next()) is not None:
            handle(msg)

Output format

Each decoded message is a dict containing the AIS protocol fields plus a small reception envelope. AIS-catcher's internal "meta" fields that don't apply to a Python decoder (SDR signal levels, decoder version, the original NMEA echo, etc.) are suppressed.

Lookup-table values are decoded for you — status comes through as both the raw integer and status_text ("Moored", "Under way using engine", …); same for shiptype_text, aid_type_text, etc.

For the full field reference — every key, its unit, and the lookup tables — see the AIS-catcher JSON decoding documentation.

Type hints

Decoded messages are plain dicts at runtime — zero overhead. For static type-checking and IDE autocomplete, aiscat.types provides one TypedDict per AIS message type (1–28) plus an AISMessage union:

from aiscat import Decoder, AISMessage

def handle(msg: AISMessage) -> None:
    if msg["type"] == 1:
        # mypy narrows to Type1; knows msg["lat"] is float
        print(msg["mmsi"], msg["lat"], msg["lon"])

Licence

GPLv3, inherited from AIS-catcher. Linking aiscat into a closed-source application makes that application GPLv3.

If you need a permissive licence (BSD/MIT/Apache), use one of:

  • pyais — pure-Python, MIT, the de facto standard for Python AIS work
  • libais — older C extension, Apache 2.0

aiscat exists for users who want AIS-catcher's decoding (multipart handling, lookup tables, channel A/B disambiguation, country tables, message-type 6/8 ASMs) and can live with the licence.

Building from source

Requires CMake ≥ 3.15, a C++11 compiler, and Python ≥ 3.9 with development headers.

git clone https://github.com/jvde-github/AIS-catcher
cd AIS-catcher/python
pip install -e .

The build pulls a curated subset of AIS-catcher's source (Marine/, JSON/, Library/, Utilities/) — about 8K lines of C++ — and compiles them together with the binding into _core.cpython-*.so. Build takes ~10 seconds.

Status

Pre-1.0. The decoder itself is mature — it's the AIS-catcher decoder, battle-tested in shore-station and SDR deployments. The Python surface is new and may evolve — feedback welcome.

Versioning tracks AIS-catcher's: 0.68.x uses AIS-catcher v0.68's decoder. Patch releases bump independently for binding-only changes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiscat-0.68.0a5.tar.gz (97.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

aiscat-0.68.0a5-cp314-cp314-win_amd64.whl (166.4 kB view details)

Uploaded CPython 3.14Windows x86-64

aiscat-0.68.0a5-cp314-cp314-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

aiscat-0.68.0a5-cp314-cp314-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

aiscat-0.68.0a5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (254.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiscat-0.68.0a5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (238.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

aiscat-0.68.0a5-cp314-cp314-macosx_11_0_arm64.whl (183.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

aiscat-0.68.0a5-cp313-cp313-win_amd64.whl (160.8 kB view details)

Uploaded CPython 3.13Windows x86-64

aiscat-0.68.0a5-cp313-cp313-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

aiscat-0.68.0a5-cp313-cp313-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

aiscat-0.68.0a5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (254.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiscat-0.68.0a5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (238.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

aiscat-0.68.0a5-cp313-cp313-macosx_11_0_arm64.whl (183.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

aiscat-0.68.0a5-cp312-cp312-win_amd64.whl (160.8 kB view details)

Uploaded CPython 3.12Windows x86-64

aiscat-0.68.0a5-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

aiscat-0.68.0a5-cp312-cp312-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

aiscat-0.68.0a5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (254.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiscat-0.68.0a5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (238.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

aiscat-0.68.0a5-cp312-cp312-macosx_11_0_arm64.whl (183.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

aiscat-0.68.0a5-cp311-cp311-win_amd64.whl (160.9 kB view details)

Uploaded CPython 3.11Windows x86-64

aiscat-0.68.0a5-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

aiscat-0.68.0a5-cp311-cp311-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

aiscat-0.68.0a5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (254.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiscat-0.68.0a5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (238.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

aiscat-0.68.0a5-cp311-cp311-macosx_11_0_arm64.whl (183.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aiscat-0.68.0a5-cp310-cp310-win_amd64.whl (161.0 kB view details)

Uploaded CPython 3.10Windows x86-64

aiscat-0.68.0a5-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

aiscat-0.68.0a5-cp310-cp310-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

aiscat-0.68.0a5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (254.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiscat-0.68.0a5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (238.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

aiscat-0.68.0a5-cp310-cp310-macosx_11_0_arm64.whl (183.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

aiscat-0.68.0a5-cp39-cp39-win_amd64.whl (161.0 kB view details)

Uploaded CPython 3.9Windows x86-64

aiscat-0.68.0a5-cp39-cp39-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

aiscat-0.68.0a5-cp39-cp39-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

aiscat-0.68.0a5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (254.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiscat-0.68.0a5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (238.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

aiscat-0.68.0a5-cp39-cp39-macosx_11_0_arm64.whl (183.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file aiscat-0.68.0a5.tar.gz.

File metadata

  • Download URL: aiscat-0.68.0a5.tar.gz
  • Upload date:
  • Size: 97.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiscat-0.68.0a5.tar.gz
Algorithm Hash digest
SHA256 c76fbe09dd4d1453e87ad7329010126a3c8ca3850f64725a7b5d9bd7152388ec
MD5 cc077847a8faf7136716926e7bcc44ca
BLAKE2b-256 fd7ae9b0edb1f39d7d8bd625a49f140786b4ebb8b6f57a828ffda922267300d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5.tar.gz:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: aiscat-0.68.0a5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 166.4 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiscat-0.68.0a5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6cae5c4a9b5cf2bddcd755a9f3f7b3b5ca68b7ec6c43c021c289a6c6c0270167
MD5 079d2b2be5ec89a8b5972ecbe03cfdc6
BLAKE2b-256 8a5a7522c04e2747a802cf06794591c92e5c464f880d1de3b96bf46f07e1e920

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp314-cp314-win_amd64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6fa37856dc87ff8d8c70dc801836c48f7cab0f605810f6d4658efa8aaadc9c6f
MD5 9f1305a3942241cd3c524555bf70ea87
BLAKE2b-256 997794f1fae5d9eea2c93e71db933ee419cf3adf05091cb5b901f9e73ea50b54

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a180c952b714048352d828d6f6e48853bf0645fed449dbff0fd2a9f81f5cbe41
MD5 5d31e68f02c5cd406701a3774b387942
BLAKE2b-256 f82a8a24f11c05267b3d9160de63ab99055e03288c31c55707432b23d598ae4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28b8bf925656156ea948b252d3ee73c010d76673ed3350ac80e08fd817323373
MD5 ebf6ec99aee4a7b64d8f364175d68c76
BLAKE2b-256 dcaf8a22c9bac5281510984dc6579cf2f4330a68e0377c349e5e4a34eb0be246

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 14b46c2d672558e01571269c0d2614eb306c7841fe7b085d09623d1dc55ab7e4
MD5 b22493251881ca261e2ae2c08f150c64
BLAKE2b-256 a0c06facac277afb620cc6f0f5c7ba5b414dd09b16b6ba8f257dec6ab3c5aa24

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 673aaaac21588479c6dcc50a42ad29826fdb3ce676e52f1e45e8cb2508c3a97b
MD5 169c1bed77389b52d51b5b16e92d4829
BLAKE2b-256 80a16278062bd9ab9243a04fec262eef8942b902c4c4813c91459c19fff6bcf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: aiscat-0.68.0a5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 160.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiscat-0.68.0a5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0b55f3984792647bd6498871e545da1b1814ba6db0c7294edf64753ed43a6166
MD5 1cd534bc7209c605ee11bc7db3aed45e
BLAKE2b-256 e49eefe668f691a49eae32cac2c450df30e061e04e23bd7fe1153a367bf0105c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp313-cp313-win_amd64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f0c91819a9697f54f0157d621cc02511438deac024d168e4661c6a1ce657876b
MD5 3e052e5e987ffe9e548537d9ec475064
BLAKE2b-256 540bd76e2a699c477b4369148eb33cdf9b27236ae9540945a899b0f5aacf8d18

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b9fb6867e701778324f0645c4edaa091f144e3a61ce630520c532a7cc6ae41fe
MD5 0a6d7017a84e24e211fa0cf56145b18c
BLAKE2b-256 87f289d40088f622c5e65495dc0a3e84dbd4a2995c7f10be2abc7018bdc462d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7274564fafd5d63d8165b5d55a86076970e4646ee5a9ea0a7e8743d75fc9493
MD5 2f1274cb4e9e622759804731f2bac6c8
BLAKE2b-256 ae87ee375cc0a542bfa8a38f63fe77b125c28eb3a0adec960623ce701b86de86

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 af59fa70e7ceea10b9d2841092452d7fa3559f2d10391260a850eec06ef7efed
MD5 e76b7cc22d74913007f1be92e5cc995b
BLAKE2b-256 88f8751924f869fda32917a2ba9ed03b40e1d6c5ac1075169aa5bd3ae949c445

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8a5fa88d25038fd4dcad76fcd96cb763a8f922b3e3573480039b0a54462640c3
MD5 f2568b7b3e61ad3ebd6e72667a51e13b
BLAKE2b-256 06fb742f3c2718dd69404555486b6f0cfa498bdc333af98b8c982b79669d9603

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: aiscat-0.68.0a5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 160.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiscat-0.68.0a5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7696cc439db2da2a15f992ff3200a62a1c173e8ee0f08044bd202f208b78f448
MD5 812caa8a7d352629b7f3e5d571075e70
BLAKE2b-256 b3468aa83eaf7a53f192b1c7debf80378050d7aedc35b14db603989e97f304b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp312-cp312-win_amd64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 123c5e34dcb7bd3837fedf6a2f620a061e5badff49fdcbc98edd7bfa311cf5cc
MD5 853e30c7131964a0c6a98ea92d5ee84c
BLAKE2b-256 ede0679934983c7bf0ee51d4e7ec38c9c0eed8cf82c6067ac97879d8270e3e29

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2ea4d4128a760bd001ecfb6ae37ce6be84dda267640a55ee32afd935998f9f09
MD5 0844fc8e6c7e067e80de7dc643534679
BLAKE2b-256 fa4a29761fa29ed7a39f7c56229e48901b676a7c74c025af42cad861ba565350

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4a58787b9e50ca4a03ed74fd66b0ef5a14356f040ff136373ebbfe610087f1c6
MD5 a1f5e15b68da635fd465d77e5c2e4c88
BLAKE2b-256 360ded678380a18c737563f0f12918d76c06e35653e27d4adef2c31443d213a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9d425abcdf5c217c8e263803e87b27045d748ce1d2cbcba30365d06c9b7dcda2
MD5 ff95934cdec5af9aa35afecc53d9367e
BLAKE2b-256 7ab585b6a101ec779112cc042e1b8664c26b31db3b3479bf0f208ee36cf92ec9

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0fef2767a29e41c07ed93f1264b028d5b0d2090dadb339c0b0f105805bea285
MD5 d1bbea0c39d3bdc580b9441ca921ee3d
BLAKE2b-256 bb1f21544272d5dcb90ab7f0a60e71d88111af3dac1215babc71b5f9f85eeeed

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: aiscat-0.68.0a5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 160.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiscat-0.68.0a5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 45589d21775d7df7330643548077b8ad305808b2ea00d120bb7fcf4be2794b9b
MD5 4c188a6e68308c887d185f1dd1354bf5
BLAKE2b-256 daaddb9fdf5a091a1f93b818657dc54a7a2eb8fcad51ef0e53a378412572f257

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp311-cp311-win_amd64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5527bf48b5ffebe11ebb78430914a433a3efa4c9011536b623a612715adfb3b0
MD5 85a15f1397d6afd79b68d6c9cbef3ee6
BLAKE2b-256 f50ec93b882dcb27657505695a9193a514063035933c77dc2c217bc6af479553

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4bf63e9151fb181062b1f8295937a32e3960bd36dbaaa078f6e491901f199060
MD5 9febeea3803391c3b4bd3eba8beb3249
BLAKE2b-256 66a8fd7f0fbed6474c0529536f0dc9f071c6308854435a0b8296ca49d7f493db

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 55710fd92124689658a6309a0b847faaa757b64747709a795a17f6b5017f947c
MD5 281169d4fbac01078b93842593954a9c
BLAKE2b-256 a538eb603ac332dd2b1a5d697beed1169824de23ae7082660a5c029abd91958f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 16e7ddf776301517da504170314d4990958a770393db4934e20258454f684efd
MD5 a3471f8f7e3b23e3ca714da631d2380b
BLAKE2b-256 b00a8e69d79472db53b094e0762e019adc25c31164070394702e9fffc7d4af29

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd1c5d7fb3b39c1f1a4ec30eecf96dd64a612fb53e792edd8c9ada6b5269c228
MD5 998c0ce9151bf1f7734ffaf1748d22c0
BLAKE2b-256 52acc0069f309e9e937ac50fef98b656d5f4b8a014ff8cb01d14884494c43d2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: aiscat-0.68.0a5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 161.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiscat-0.68.0a5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 84ee5f0b74d110fa7ae07db24c8d67e5524daf733cfa5e3c7b570699e44be17d
MD5 4a423012d8feeca5519af9687ac8fc54
BLAKE2b-256 cb48117cab36b4133ad061712ff0998f078e49a5ac06fc5fddfa480ceaec47ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp310-cp310-win_amd64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb4969e8ef1e9f0ff82b04642917d95c28810ec1d3b31f633200c9ea150f4dce
MD5 54a7aa221a7cd6146514bbb4cbdcc1d4
BLAKE2b-256 e5af7114b23405c3564f4b9d8749fabdd920a2b43cb3ff9fb5f4f04c6db6e46e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7e571b6a1a100fcff9eb83ba23b18ae7b73e637a7633a913818ffc30e48ebdbe
MD5 c30bdd5ea5c2ac0ffb86cf2271641d8d
BLAKE2b-256 db782ced6688dcd437bf5dae75949fce767f6c4dae502bb6c220f2e51fa4b07e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 53e6877435f1641ba32c701e4fb6b9a785f7194b5ec52c26f186da39666545a4
MD5 0aa507033c7fbb9835c57c26ddd8109c
BLAKE2b-256 767c91722da7ea9ff12b7679cf8b1fd22718e984180cee9697c3e38e9dc998a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cf49f449f7ce3a06438df31a225c996de570ce4adf8e5d3c2721083d3dad7146
MD5 d98be3104864878af3a064074a730990
BLAKE2b-256 efc457543ffb2d88a620e1a5ee3ceff872304671e219878fc06d7613f7ac5e98

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db963ded970a91ca999e7579d03aa7bacf554ad4336b887ba0ad9474162816ee
MD5 b4e2c80b24cc6d86cba1a9afda2c4c4d
BLAKE2b-256 62b37deeaa9fc0b136370a2d921956b265b873b12d0fbf6e93ed07df62f77650

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: aiscat-0.68.0a5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 161.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiscat-0.68.0a5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8bfdd7639a1bdd38951bbc4d8c815bc787719734ba9998d0dbcf4f04917a1cb8
MD5 ea812f7c0d43c76a3c0ba4139b656a51
BLAKE2b-256 fa16fb90616054748e391265df73de750a024607be400e4bcaca5464851f4d9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp39-cp39-win_amd64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b6fd7b3ca1f0767f8ba04c5f5e114a6e13fdd63b6b155985fddc9ee99e906c43
MD5 6b816aef3af14cc9a6c82d532b95e15b
BLAKE2b-256 3590733d0896eeaae8b07dc45dab360e38049e77ae277aea2ccf7bab6149c0ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8d167b16dff1761537c6eb2ff59937c96b0f6f514bf32cc5d9c78373f89d6bc1
MD5 90276df564e24f875cdb94edfe2053d1
BLAKE2b-256 56358185046643a2d7ffde6160f4f43df962822e02e86912490946f047c3676b

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ea18017832050a1ac5d2a5f56c9ec9535d51f683109f41fb41d467348172801e
MD5 28934ff62699cda64d35b76667ff4619
BLAKE2b-256 d6c24449bc6e238f43ad43302c2f27a786a4bd3799e00f79d0316abe231e5291

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c1d437790e22226aa79a23d5a93e287626c20874863014c4cb9b39c249eff7dc
MD5 c2f0d5042f7baf520474c3d0c9045dd2
BLAKE2b-256 fec68220ae771cb673c22612717fe8861b3a7f1af17c881b7371b26f789bafbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiscat-0.68.0a5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiscat-0.68.0a5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f27dcf60e6abad8f4d05327ed5102cc031964b1025500cc79142f5ffe30b894
MD5 16f78e947d0e83b772d939ef7a5bfb2a
BLAKE2b-256 5fbdf8be158aae6f5ee389f4e84d3d0c12c9084c877fcd9f36d43bc2fcf04bda

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiscat-0.68.0a5-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: aiscat-release.yml on jvde-github/AIS-catcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page