Ashwa 🐎
Hardware accelerated routines for single substring search
💡 TIP:
ashwaprovides native CPython extension bindings powered by Rust and SIMD vectorization.
ℹ️ NOTE: The best available SIMD instruction set (AVX-512BW, AVX2, SSE4.2, SSSE3, SSE2, ARM NEON) is detected automatically at runtime on the host CPU with seamless fallback to SWAR routines.
Index
Supported Platforms
| Architecture | Target Platform | Target ISA | Fallback |
|---|---|---|---|
| x86_64 | Linux, macOS, Windows | AVX-512BW, AVX2, SSE4.2, SSSE3, SSE2 | 64-bit SWAR |
| i686 (x86) | Linux, Windows | SSE2 | 32-bit SWAR |
| AArch64 (ARM64) | Apple Silicon, Linux ARM64, Android, FreeBSD | 128-bit ARM NEON | 64-bit SWAR |
| ARMv7 | Linux ARM, Android | 128-bit ARM NEON | 32-bit SWAR |
Installation
Install ashwa using your preferred Python package manager:
pip install ashwa
API Reference
search_one(haystack, needle)
def search_one(
haystack: bytes | bytearray | memoryview,
needle: int,
) -> int | None:
...
Searches for the first occurrence of needle (an int 0–255) within haystack.
- Parameters:
haystack:bytes | bytearray | memoryview— The bytes-like object to search in.needle:int— The target byte value (0–255) to locate.
- Returns:
- The 0-based byte index (
int) of the first occurrence ofneedle, orNoneif not found.
- The 0-based byte index (
search_two(haystack, needle)
def search_two(
haystack: bytes | bytearray | memoryview,
needle: bytes | bytearray | memoryview | tuple[int, int] | list[int] | Sequence[int],
) -> int | None:
...
Searches for the first occurrence of a two-byte needle within haystack.
- Parameters:
haystack:bytes | bytearray | memoryview— The bytes-like object to search in.needle:bytes | bytearray | memoryview | tuple[int, int] | list[int] | Sequence[int]— A 2-byte sequence to locate.
- Returns:
- The 0-based byte index (
int) of the first occurrence ofneedle, orNoneif not found.
- The 0-based byte index (
search_three(haystack, needle)
def search_three(
haystack: bytes | bytearray | memoryview,
needle: bytes | bytearray | memoryview | tuple[int, int, int] | list[int] | Sequence[int],
) -> int | None:
...
Searches for the first occurrence of a three-byte needle within haystack.
- Parameters:
haystack:bytes | bytearray | memoryview— The bytes-like object to search in.needle:bytes | bytearray | memoryview | tuple[int, int, int] | list[int] | Sequence[int]— A 3-byte sequence to locate.
- Returns:
- The 0-based byte index (
int) of the first occurrence ofneedle, orNoneif not found.
- The 0-based byte index (
search_n(haystack, needle)
def search_n(
haystack: bytes | bytearray | memoryview,
needle: bytes | bytearray | memoryview | tuple[int, ...] | list[int] | Sequence[int],
) -> int | None:
...
Searches for the first occurrence of an arbitrary byte sequence needle within haystack.
- Parameters:
haystack:bytes | bytearray | memoryview— The bytes-like object to search in.needle:bytes | bytearray | memoryview | tuple[int, ...] | list[int] | Sequence[int]— An arbitrary byte sequence to locate.
- Returns:
- The 0-based byte index (
int) of the first occurrence ofneedle, orNoneif not found.
- The 0-based byte index (
Benchmarks
Benchmarks are evaluated across dedicated AWS EC2 hardware environments on Python
3.12.3,
x86_64 (x64)
- Instance: Intel(R) Xeon(R) Platinum 8488C (8C/16T)
- ISA: AVX-512BW
- Cache: L1d: 384 KiB · L1i: 256 KiB · L2: 16 MiB · L3: 105 MiB
- STREAM Triad (Read+Write): 25.76 GiB/s
- Max Single-Core Read Bandwidth: ~12.5 GiB/s
AArch64 (arm64)
- Instance: AWS Graviton3 ARM Neoverse-V1 (16C/16T)
- ISA: NEON
- Cache: L1d: 1 MiB · L1i: 1 MiB · L2: 16 MiB · L3: 32 MiB
- STREAM Triad (Read+Write): 75.48 GiB/s
- Max Single-Core Read Bandwidth: ~25.5 GiB/s
All benchmarks execute while pinned to a single physical core (mostly to 0th core). For out-of-cache RAM-bound payloads (>256 MiB), every search routine fully saturates the hardwares maximum single-core memory bandwidth ceiling (~12 GiB/s on x64, ~25 GiB/s on arm64). Execution is 100% memory-bandwidth bound rather than compute-bound searching data as fast as the physical memory bus can deliver bytes into the CPU registers.
search_one
| Level | Payload | Latency (x64) | Latency (arm64) | Throughput (x64) | Throughput (arm64) |
|---|---|---|---|---|---|
| L1 Cache | 32 KiB | 304.09 ns | 864.09 ns | 100.36 GiB/s | 35.32 GiB/s |
| L2 Cache | 512 KiB | 6.89 µs | 11.93 µs | 70.82 GiB/s | 40.94 GiB/s |
| L3 Cache | 16 MiB | 488.96 µs | 397.55 µs | 31.96 GiB/s | 39.30 GiB/s |
| RAM | 256 MiB | 20.35 ms | 10.33 ms | 12.28 GiB/s | 24.21 GiB/s |
| RAM | 512 MiB | 41.72 ms | 20.94 ms | 11.98 GiB/s | 23.88 GiB/s |
| RAM | 1 GiB | 83.63 ms | 39.15 ms | 11.96 GiB/s | 25.54 GiB/s |
search_two
| Level | Payload | Latency (x64) | Latency (arm64) | Throughput (x64) | Throughput (arm64) |
|---|---|---|---|---|---|
| L1 Cache | 32 KiB | 611.86 ns | 1.67 µs | 49.88 GiB/s | 18.31 GiB/s |
| L2 Cache | 512 KiB | 10.77 µs | 24.31 µs | 45.33 GiB/s | 20.08 GiB/s |
| L3 Cache | 16 MiB | 558.87 µs | 768.98 µs | 27.96 GiB/s | 20.32 GiB/s |
| RAM | 256 MiB | 19.94 ms | 13.03 ms | 12.54 GiB/s | 19.18 GiB/s |
| RAM | 512 MiB | 41.67 ms | 26.06 ms | 12.00 GiB/s | 19.18 GiB/s |
| RAM | 1 GiB | 83.56 ms | 52.04 ms | 11.97 GiB/s | 19.22 GiB/s |
search_three
| Level | Payload | Latency (x64) | Latency (arm64) | Throughput (x64) | Throughput (arm64) |
|---|---|---|---|---|---|
| L1 Cache | 32 KiB | 615.50 ns | 2.37 µs | 49.58 GiB/s | 12.87 GiB/s |
| L2 Cache | 512 KiB | 9.89 µs | 35.02 µs | 49.38 GiB/s | 13.94 GiB/s |
| L3 Cache | 16 MiB | 488.62 µs | 1.12 ms | 31.98 GiB/s | 13.89 GiB/s |
| RAM | 256 MiB | 19.33 ms | 17.92 ms | 12.93 GiB/s | 13.95 GiB/s |
| RAM | 512 MiB | 41.46 ms | 35.87 ms | 12.06 GiB/s | 13.94 GiB/s |
| RAM | 1 GiB | 87.15 ms | 71.73 ms | 11.47 GiB/s | 13.94 GiB/s |
search_n (where len(N) = 8)
| Level | Payload | Latency (x64) | Latency (arm64) | Throughput (x64) | Throughput (arm64) |
|---|---|---|---|---|---|
| L1 Cache | 32 KiB | 866.21 ns | 2.57 µs | 35.23 GiB/s | 11.86 GiB/s |
| L2 Cache | 512 KiB | 12.74 µs | 38.31 µs | 38.32 GiB/s | 12.75 GiB/s |
| L3 Cache | 16 MiB | 558.41 µs | 1.23 ms | 27.98 GiB/s | 12.65 GiB/s |
| RAM | 256 MiB | 21.19 ms | 19.53 ms | 11.80 GiB/s | 12.80 GiB/s |
| RAM | 512 MiB | 43.95 ms | 39.12 ms | 11.38 GiB/s | 12.78 GiB/s |
| RAM | 1 GiB | 88.85 ms | 78.08 ms | 11.26 GiB/s | 12.81 GiB/s |
Metadata
Release files for ashwa 1.0.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 | |
|---|---|---|---|
| ashwa-1.0.0.tar.gz | 45.5 kB | Details |
Built distributions (wheels)
Total release size: 6.5 MB
Release files / ashwa-1.0.0.tar.gz
| Download URL | ashwa-1.0.0.tar.gz |
|---|---|
| Size | 45.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab18da30e4d2c23404983015ee4ad9ab4b8d9c367b2d89b0432b436477c6ee2c
|
|
BLAKE2b-256 checksum How to use checksums |
33a46be882471590bb583dcfbe2838e58de840d56880bf19d2952da08985082a
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | ashwa-1.0.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 233.7 kB |
| Tags | Linux glibc 2.17+ x86-32 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
6eb9da4ea33e413e51622b45405d3e2519a8056f41ec5d63c865103e7b3b6cb2
|
|
BLAKE2b-256 checksum How to use checksums |
9536c8ff6e78af6cc470c02014a9cccb38e2cce361099146372e4ad95ab071bf
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 230.7 kB |
| Tags | Linux glibc 2.17+ ARMv7l PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
18e29162005c8fb13c744d1d9cdc81cd7ca789b8c0803bee9b2fc315cd010e52
|
|
BLAKE2b-256 checksum How to use checksums |
54a12fd4fe2c975894f6967b00e0c986468028a2aec92e378324d7db43e06b1a
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 230.9 kB |
| Tags | Linux glibc 2.17+ ARMv7l PyPy 3.10 PyPy 3.10 7.3 |
|
SHA-256 checksum How to use checksums |
87ee283dbb418a77cbb55c0686fad907a18889e634acf14f1f76eb59af40df22
|
|
BLAKE2b-256 checksum How to use checksums |
989b732f9653c886015b8941bc83402c992ee9c107e1ad1950ed34ca1da07cfa
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 231.3 kB |
| Tags | Linux glibc 2.17+ ARMv7l PyPy 3.9 PyPy 3.9 7.3 |
|
SHA-256 checksum How to use checksums |
73445261929465ad0ecf17efc08ab68422383ba4d67552a8f2122b9cfbed399b
|
|
BLAKE2b-256 checksum How to use checksums |
0f8a165ee1235b8f50124ee6757bbc5a6ff37911a871e7ea8ad13d6f39c73c35
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | ashwa-1.0.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 230.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
93fd793954a2778231b82ff07a229403deb6a37474f775c8ccf96b994df7a8d2
|
|
BLAKE2b-256 checksum How to use checksums |
565afb20fcbfa02241e343c0e76049cd6ad69533c69974bd85fb143048464d4a
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 226.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
ae93e6f14743e9630c0b7b672c569c68a6a8e4214e51bcff7b5ada3911958015
|
|
BLAKE2b-256 checksum How to use checksums |
faea49a5bb1d3442364a2fe9a0aca0ef5ca7e8bcb6704c2fddef3405a425c823
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp314-cp314-win_arm64.whl
| Download URL | ashwa-1.0.0-cp314-cp314-win_arm64.whl |
|---|---|
| Size | 107.8 kB |
| Tags | CPython 3.14 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
ea28975c967f9a6a1f56c52fe2bf2533a23cdcea28a85e845567b24ce7481411
|
|
BLAKE2b-256 checksum How to use checksums |
ae0b15cbb43cdb86a7b4aec6bc96244c01f76c2f26f9059420e1e523fb693afd
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp314-cp314-win_amd64.whl
| Download URL | ashwa-1.0.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 105.4 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7e16fa135c679891d283a278de97b6fb674b8028d934b357b3f6ebd4f48bf5bb
|
|
BLAKE2b-256 checksum How to use checksums |
50ea862b8e187320661a068f715f28284fa1e1f02af94a42b26088a0aa8bb120
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | ashwa-1.0.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 231.9 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
762cc8cf74484d5871fc9193ac50c3714dccc1e3042a52bb564b9e7a5775b462
|
|
BLAKE2b-256 checksum How to use checksums |
41bf0dbc6141f14a5534903167e3fb13f48a19eda2e453bb41d0b7a1d320808f
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 227.6 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
75ee366cc790fa7d8d0e4e2844d23aa0b5b71a64ed762741c44be180bb241e89
|
|
BLAKE2b-256 checksum How to use checksums |
d33710369f3d6eb6cf901ee0687131ed2ad437f20b083768c5553952f341d9f7
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | ashwa-1.0.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 201.9 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b95a73a154ce64561409a3182d3caa73c40c04a81b272410b46a272084f85821
|
|
BLAKE2b-256 checksum How to use checksums |
9d21703e94bdec69e8f4fc86ff8e7a544b5f40bb1bc1474477073b7ad9075f88
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp313-cp313-win_arm64.whl
| Download URL | ashwa-1.0.0-cp313-cp313-win_arm64.whl |
|---|---|
| Size | 107.9 kB |
| Tags | CPython 3.13 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
9a0e9d7996fcc10ba80b1c85837fe3f543ff59ca6f84cb95a0b210eca4fe4126
|
|
BLAKE2b-256 checksum How to use checksums |
42854c49a5998b75e1776ec7c004083c22937836f00d381b951272538e41c0fa
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp313-cp313-win_amd64.whl
| Download URL | ashwa-1.0.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 105.6 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6585530e8dbb3af86c098ca76fe8fc3f54e8f467e799adaac9eddb86daab6cf0
|
|
BLAKE2b-256 checksum How to use checksums |
44a21344a5f7a288e51348ff865e9ab5bd9391518adca86fd8926d8d89a51329
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | ashwa-1.0.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 232.2 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
38ff221426cf85922a6a702ad55877c2b5073526643601938755a365cc5cbdc8
|
|
BLAKE2b-256 checksum How to use checksums |
8f238f4b95d5ee6af01dc29ede8a3d029a4b8c1ad1193b32e09b87b67a555e4b
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 227.9 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
e10b5a2fa5045e17114a5c55150acb81b3ef74b8db711952cd064099d17da040
|
|
BLAKE2b-256 checksum How to use checksums |
30e08dda49ae4d6df523f50435ea8678dc3189230231e9e8a7b06d44424a474b
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | ashwa-1.0.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 202.1 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5390cb9209484c27791ecae73b652f4c6567d6c3ec0e756ab647c24aa4537870
|
|
BLAKE2b-256 checksum How to use checksums |
1af67bfc8c6145a3e497734a3a3b41aa928e654046c4e9efb72dcb61752bb8ff
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp312-cp312-win_arm64.whl
| Download URL | ashwa-1.0.0-cp312-cp312-win_arm64.whl |
|---|---|
| Size | 108.0 kB |
| Tags | CPython 3.12 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
a69229e856fff245e632d20e4fd8b55fe6fb42ff505f4005cf24369b877079ab
|
|
BLAKE2b-256 checksum How to use checksums |
9c525c0959a79ea4d955fff5668183ef08562e8e29c1cfbc983246225ca6380c
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp312-cp312-win_amd64.whl
| Download URL | ashwa-1.0.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 105.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e4a511ffacbc5d56cab2ee999c8e25e5761ddf8978ffa5154bfe18860ff2ffb9
|
|
BLAKE2b-256 checksum How to use checksums |
9053bddd549d1fb15b69685339760e53a3c56f844ec7e570357a239469e15a6f
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | ashwa-1.0.0-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 213.3 kB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
d197176e3d6c68996ae81fe0300e165c33618c81398eeb0db481b9468f7cbddf
|
|
BLAKE2b-256 checksum How to use checksums |
214c3164e80440b76fa68429ca45698ca36df3264569b7294192bf0643682ffd
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp312-cp312-manylinux_2_34_aarch64.whl
| Download URL | ashwa-1.0.0-cp312-cp312-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 218.0 kB |
| Tags | CPython 3.12 Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
0f46434c993af433dfef1bf34d516d05d3dd6cbe21fe4bd8ecbed13b1b3ce75d
|
|
BLAKE2b-256 checksum How to use checksums |
b6a86c386db90f9d52137d6a0c80e39877e34221047deddce560b22cc754c3a0
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | ashwa-1.0.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 232.2 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
c2b73f5b26296329c096a67ed69150b590ac3ad5e37202f1d133bfee1fc1f56f
|
|
BLAKE2b-256 checksum How to use checksums |
5c80244a552cd47a6717b29a48466b4440782f61664e0c8c6098a37d708ee563
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 227.9 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
e698cd45d8a7a11a67f0cabb1797a8371da5ce8c9fca10c5219fa8baa713d30d
|
|
BLAKE2b-256 checksum How to use checksums |
9247f664014599142e3d9dd4e12b00723ccee1e75dd717810fb70e6c4a9db2e9
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | ashwa-1.0.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 202.1 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4bdabec7096a8a0ea8c8bcef89e60853b70f3697b2c32e4262d8501952a58115
|
|
BLAKE2b-256 checksum How to use checksums |
8ecff106869834ea2563d58c8cba61c625dfc475b1a3ebb066bfb89b9b6a37c0
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp311-cp311-win_amd64.whl
| Download URL | ashwa-1.0.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 105.2 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3b7bae6cbecdea69a8fcb66ad2118fa29dce7ed8083367299ac06bbfcaea99a4
|
|
BLAKE2b-256 checksum How to use checksums |
6a6bfae86d8b1f5b242da9844bd0104cfbb3d03b05de26ca2d774146760c6327
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | ashwa-1.0.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 232.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
5058cc43558eaef020d882ebed347669b56b983fc1a6cbf45127d3b1fa99d88a
|
|
BLAKE2b-256 checksum How to use checksums |
1b2e4c54aca05c3f46d678380b371d800d8a2f49272562e33e99095e0197971b
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 229.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
15c75cde5932690e4543155f04834c12f15e675007fa0be49ce103e00d4b219a
|
|
BLAKE2b-256 checksum How to use checksums |
c9865534292399f30e658bb882143ee0d83e422cb2c9ad26c06327cf4c8f6c0e
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | ashwa-1.0.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 202.4 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a6efab9a4501b0a4b2dab1ff5431f467f72afca5ee02efb4bca608833d9c1e1d
|
|
BLAKE2b-256 checksum How to use checksums |
c67380bdd7fe4c932fc258fbc59a17a6cee5b9e44d81bba9a72a93aabcb41b3e
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp310-cp310-win_amd64.whl
| Download URL | ashwa-1.0.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 105.3 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4a7dd99542128c78c2dfdef88defb5c885815f6dc71c3ca5170a7660f38682c2
|
|
BLAKE2b-256 checksum How to use checksums |
f7ac1f11de10e56fa42e8ae51e3c11b98b55c0615f041ac3b5967d65b2059e11
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | ashwa-1.0.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 233.1 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
f5dcc9bbf68d54156e70fb800d9234e8452de8178af068af8697faacb4586bfd
|
|
BLAKE2b-256 checksum How to use checksums |
ada7d5382b1ae95ee6c9e0d913f5649a90e0186277580067172862b42c0f0284
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 230.0 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
4d3107c9f546bca8a4d7f2b812b369e2b6fb001d6b3475ce0d38c420e86f53dd
|
|
BLAKE2b-256 checksum How to use checksums |
d70578de01ba278a0be88d999a35357644ea27d94a2be4c1f8408e6bdf158859
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | ashwa-1.0.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 233.4 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
9d951e23133841cab97a388bf1f64e2ee470920fbd34a86f89f4f51b180c904f
|
|
BLAKE2b-256 checksum How to use checksums |
f42539676a86b467789fafc9d3562fea9f41ff8b6023dde24d3cf8fed17e1297
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 230.4 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
76d231e235136db174f19aad894b9f517d8f073c017248e6cf5fa327db8481b4
|
|
BLAKE2b-256 checksum How to use checksums |
cb22e4003451f194223c5d5ad3c411b7c5448ce9b3ab29818ded5659c0e6700e
|
| 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 Aug 31, 2026.
Transparency logRelease files / ashwa-1.0.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | ashwa-1.0.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 230.3 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
3293619f3adff1a8468143a1cea56869a5f7e86fe41f969020ad04e98093be74
|
|
BLAKE2b-256 checksum How to use checksums |
679e12cbfac65fcca433e26df4605844bf5ef25a5e1c511b94e08d2520962c03
|
| 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 Aug 31, 2026.
Transparency log