AEDAT is a fast AEDAT 4 python reader, with a Rust underlying implementation.
Run pip install aedat to install it.
Example
The aedat library provides a single class: Decoder. A decoder object is created by passing a file name to Decoder. The file name must be a path-like object.
import aedat
decoder = aedat.Decoder("/path/to/file.aedat")
print(decoder.id_to_stream())
for packet in decoder:
print(packet["stream_id"], end=": ")
if "events" in packet:
print("{} polarity events".format(len(packet["events"])))
elif "frame" in packet:
print("{} x {} frame".format(packet["frame"]["width"], packet["frame"]["height"]))
elif "imus" in packet:
print("{} IMU samples".format(len(packet["imus"])))
elif "triggers" in packet:
print("{} trigger events".format(len(packet["triggers"])))
Process frames
Pillow (PIL)
import aedat
import PIL.Image # https://pypi.org/project/Pillow/
index = 0
for packet in decoder:
if "frame" in packet:
image = PIL.Image.fromarray(
packet["frame"]["pixels"],
mode=packet["frame"]["format"],
)
image.save(f"{index}.png")
index += 1
OpenCV
import aedat
import cv2 # https://pypi.org/project/opencv-python/
index = 0
for packet in decoder:
if "frame" in packet:
image = packet["frame"]["pixels"]
if packet["frame"]["format"] == "RGB":
image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
elif packet["frame"]["format"] == "RGBA":
image = cv2.cvtColor(image, cv2.COLOR_RGBA2BGRA)
cv2.imwrite(f"{index}.png", image)
index += 1
Detailed example
This is the same as the first example, with detailed comments:
import aedat
decoder = aedat.Decoder("/path/to/file.aedat")
"""
decoder is a packet iterator with an additional method id_to_stream
id_to_stream returns a dictionary with the following structure:
{
<int>: {
"type": <str>,
}
}
type is one of "events", "frame", "imus", "triggers"
if type is "events" or "frame", its parent dictionary has the following structure:
{
"type": <str>,
"width": <int>,
"height": <int>,
}
"""
print(decoder.id_to_stream())
for packet in decoder:
"""
packet is a dictionary with the following structure:
{
"stream_id": <int>,
}
packet also has exactly one of the following fields:
"events", "frame", "imus", "triggers"
"""
print(packet["stream_id"], end=": ")
if "events" in packet:
"""
packet["events"] is a structured numpy array with the following dtype:
[
("t", "<u8"),
("x", "<u2"),
("y", "<u2"),
("on", "?"),
]
"""
print("{} polarity events".format(len(packet["events"])))
elif "frame" in packet:
"""
packet["frame"] is a dictionary with the following structure:
{
"t": <int>,
"begin_t": <int>,
"end_t": <int>,
"exposure_begin_t": <int>,
"exposure_end_t": <int>,
"format": <str>,
"width": <int>,
"height": <int>,
"offset_x": <int>,
"offset_y": <int>,
"pixels": <numpy.array(shape=(height, width), dtype=uint8)>,
}
format is one of "L", "RGB", "RGBA"
"""
print("{} x {} frame".format(packet["frame"]["width"], packet["frame"]["height"]))
elif "imus" in packet:
"""
packet["imus"] is a structured numpy array with the following dtype:
[
("t", "<u8"),
("temperature", "<f4"),
("accelerometer_x", "<f4"),
("accelerometer_y", "<f4"),
("accelerometer_z", "<f4"),
("gyroscope_x", "<f4"),
("gyroscope_y", "<f4"),
("gyroscope_z", "<f4"),
("magnetometer_x", "<f4"),
("magnetometer_y", "<f4"),
("magnetometer_z", "<f4"),
]
"""
print("{} IMU samples".format(len(packet["imus"])))
elif "triggers" in packet:
"""
packet["triggers"] is a structured numpy array with the following dtype:
[
("t", "<u8"),
("source", "u1"),
]
the source value has the following meaning:
0: timestamp reset
1: external signal rising edge
2: external signal falling edge
3: external signal pulse
4: external generator rising edge
5: external generator falling edge
6: frame begin
7: frame end
8: exposure begin
9: exposure end
"""
print("{} trigger events".format(len(packet["triggers"])))
Because the lifetime of the file handle is managed by Rust, decoder objects are not compatible with the with statement. To ensure garbage collection, point the decoder variable to something else, for example None, when you are done using it:
import aedat
decoder = aedat.Decoder("/path/to/file.aedat")
# do something with decoder
decoder = None
Install from source
Local build (first run).
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install maturin numpy
maturin develop # or maturin develop --release to build with optimizations
Local build (subsequent runs).
source .venv/bin/activate
maturin develop # or maturin develop --release to build with optimizations
After changing any of the files in framebuffers, one must run:
flatc --rust -o src/ flatbuffers/*.fbs
To format the code, run:
cargo fmt
Publish
-
Bump the version number in Cargo.toml and pyproject.toml.
-
Create a new release on GitHub.
Release files for aedat 2.2.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 | |
|---|---|---|---|
| aedat-2.2.0.tar.gz | 5.1 MB | Details |
Built distributions (wheels)
Total release size: 16.1 MB
Release files / aedat-2.2.0.tar.gz
| Download URL | aedat-2.2.0.tar.gz |
|---|---|
| Size | 5.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a2e2d36745863c85ef6723f6a7ab90ed972808f07f3dd7cd7f66d9d54cb527a0
|
|
BLAKE2b-256 checksum How to use checksums |
6dd01fc188807639d3942ee7e5627eb6945ee39df6c51961422622119d133247
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp313-none-win_amd64.whl
| Download URL | aedat-2.2.0-cp313-none-win_amd64.whl |
|---|---|
| Size | 271.0 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
56aa339f7376a220ca74e64a74dbd4e569e498b9429c989e86111ac492e2a4e0
|
|
BLAKE2b-256 checksum How to use checksums |
bf9603bcb636036e09834911ec44c570d618ea6adde7a0e2222af809e25781f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | aedat-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 559.9 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ec276f8ab67e6da92e27b423ffbbf21c7eff1e02a271f0a47fcf58eff667a7ca
|
|
BLAKE2b-256 checksum How to use checksums |
acb66de7efded6ee397fc31e884928e19df5f97c7c537f247e63bff8b7c45d78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | aedat-2.2.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 496.2 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a1e9f203d361610388d22ef8a1dc95a68606779a9873ea439e6c194426a47a99
|
|
BLAKE2b-256 checksum How to use checksums |
8f706f95cbaf3f63c041c1384aca72d4a8f5927c63fe98d3249b02e419395ec5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | aedat-2.2.0-cp313-cp313-macosx_14_0_arm64.whl |
|---|---|
| Size | 395.0 kB |
| Tags | CPython 3.13 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
fcae9b7a346abf8a673d24c7d32d48c26ce89f0127f1ab4e9cde47af4577b84d
|
|
BLAKE2b-256 checksum How to use checksums |
58fb2b83d7bc3187495280905d700d3043e846e5369b97501e91e38a0b7abaaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp313-cp313-macosx_13_0_x86_64.whl
| Download URL | aedat-2.2.0-cp313-cp313-macosx_13_0_x86_64.whl |
|---|---|
| Size | 457.8 kB |
| Tags | CPython 3.13 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
d7907f82b6524d70b0e6497ea5c31350f64214e684a0a8b0c864f5c62f8bef23
|
|
BLAKE2b-256 checksum How to use checksums |
14120310b9dc3ceaaadd1f99c1c5b0e20b38cf19e28e52d9f1b6aa6999c74073
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp312-none-win_amd64.whl
| Download URL | aedat-2.2.0-cp312-none-win_amd64.whl |
|---|---|
| Size | 271.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ce2f252b2810978dc0c2750f4d016020f6cef2a5f4a459057dabc0e5ce5863d6
|
|
BLAKE2b-256 checksum How to use checksums |
05628f6cc28e7405b9cc7bd1a5489f75792d4213bd9e1f9fdfc492ad2ee0b2d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | aedat-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 559.9 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
22cc7159373f1df9d3a3f178a9698658d44b1675a4d433a06979f37822f572af
|
|
BLAKE2b-256 checksum How to use checksums |
5c3ffb1b00fa6f1b8c10b1095df2737510c661626c57920073d06fdc678867cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | aedat-2.2.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 496.2 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1e9aa64294a4e07432acf3498d6933df75f6911d45d8745d1b4f3c57fb7675ca
|
|
BLAKE2b-256 checksum How to use checksums |
e53666538afa76961e3cc1dc8fe4ae1a83a3c4a0a9111dd6d426001c42f4f924
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | aedat-2.2.0-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 395.0 kB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f40695e88fee3a40636d20dbfed9f3d34e662c73f08b078b3e5224caa3947827
|
|
BLAKE2b-256 checksum How to use checksums |
6b5ee11cf88621d313b253eb18a6ddb8ed2cf47d5d766e806b62eee2e41143a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp312-cp312-macosx_13_0_x86_64.whl
| Download URL | aedat-2.2.0-cp312-cp312-macosx_13_0_x86_64.whl |
|---|---|
| Size | 457.8 kB |
| Tags | CPython 3.12 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
80972c7567c24e5631912f13b6e5da7588b127d593830a090f5ef10b28147f1a
|
|
BLAKE2b-256 checksum How to use checksums |
83314a3deb0fa21b7a6bf659d98aaa60be201be8903555ecc8789c35854f3bcf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp311-none-win_amd64.whl
| Download URL | aedat-2.2.0-cp311-none-win_amd64.whl |
|---|---|
| Size | 270.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
daa2d21149f9a8809c777ff3033b445f922dbfdbab2ccffe5686dad786afd837
|
|
BLAKE2b-256 checksum How to use checksums |
965274b6b918e150b87eeeb61c4cb65d70e8c3289922a1fdd4a6e2bcdc1027a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | aedat-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 562.7 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
bf2c1489e39df2dba5ce297a41eb9df990e623d5bb5bac9bb271d69602177c75
|
|
BLAKE2b-256 checksum How to use checksums |
b0e9d4898706e48500c860343f30629889a2aaae8b49e41f94436878c2aae12c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | aedat-2.2.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 498.8 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0c6e6d3c1aefd8648456ffa07d6d6a91d1fb839e715f6b79c1a7cc6c91a0bc7b
|
|
BLAKE2b-256 checksum How to use checksums |
3a6d4878e9f558d8c544a01e937884a72b4d708b02aa6e33f2b02f7e284a7f1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | aedat-2.2.0-cp311-cp311-macosx_14_0_arm64.whl |
|---|---|
| Size | 397.1 kB |
| Tags | CPython 3.11 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
558bb8eb07312349f7b351bf07647e58ba2089e220379a5fd018083622e07a32
|
|
BLAKE2b-256 checksum How to use checksums |
d11aa50a72da3dd8ca05d6eb2d98f493d14784df3865542f35f37c2e97618bc0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp311-cp311-macosx_13_0_x86_64.whl
| Download URL | aedat-2.2.0-cp311-cp311-macosx_13_0_x86_64.whl |
|---|---|
| Size | 459.3 kB |
| Tags | CPython 3.11 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
213c917421a8eb4a22eb88be79f806044ff20ea53f01856ad96ba03e411abfec
|
|
BLAKE2b-256 checksum How to use checksums |
33268aaab34190c073ce90dc62e16a866238e9940ef377a1eb041c1b8667ce17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp310-none-win_amd64.whl
| Download URL | aedat-2.2.0-cp310-none-win_amd64.whl |
|---|---|
| Size | 271.1 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f62dcaf8df01df203ba6880038e4a8e4599c6b7c6f63a7648f7a6bafaf4e3548
|
|
BLAKE2b-256 checksum How to use checksums |
19f0ef4af4cc35eac83e4c77e36c80b76f2135c7062d2b77832bdb82f682b520
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | aedat-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 563.1 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
c6a139683e767d33997e3fcc53e9a25645039b3b00546edd73952581e30cf21c
|
|
BLAKE2b-256 checksum How to use checksums |
5457bd70455937c072c1bfec8c0c266f582248de2df0f43bf3ebd3ae6fb7186c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | aedat-2.2.0-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 499.0 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f9853f015ab083184e0890f269156bf36dc50fd973e24676001900f7602a58d7
|
|
BLAKE2b-256 checksum How to use checksums |
688d6df891ce9c7bc3cac1bf7449cd88a9e2f14d7504b21d580391833cd49e84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp310-cp310-macosx_14_0_arm64.whl
| Download URL | aedat-2.2.0-cp310-cp310-macosx_14_0_arm64.whl |
|---|---|
| Size | 397.3 kB |
| Tags | CPython 3.10 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
486a7a2f948dcf193f3f55a9f83c4d92959168dad06ce1345dbc5987f2db3a5c
|
|
BLAKE2b-256 checksum How to use checksums |
712466711cd49ffffdaf01c282bc9e49bb67d5ec6a4cff839323a5d978262f80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp310-cp310-macosx_13_0_x86_64.whl
| Download URL | aedat-2.2.0-cp310-cp310-macosx_13_0_x86_64.whl |
|---|---|
| Size | 459.4 kB |
| Tags | CPython 3.10 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
f6dc3d6e6e053d54f5023d57f1b61cd38660cc4b6095f9a92c8d8e31359c4d17
|
|
BLAKE2b-256 checksum How to use checksums |
3f9f97dae1acbfe77d8adc0e20dea515d14e8cd299edb08425dc995d8a48cd27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp39-none-win_amd64.whl
| Download URL | aedat-2.2.0-cp39-none-win_amd64.whl |
|---|---|
| Size | 271.6 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
207f3075a465881e339a7bcaaa40411fced0d5bf9b36e4048c44d3c955fb5919
|
|
BLAKE2b-256 checksum How to use checksums |
e33e48ea3747a6d3bd87bc9e5b282878ddd0e10d682f0d9a08711f99f7438061
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | aedat-2.2.0-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 563.7 kB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
271a37e61ff26d0efd9c077c4e89f2fe808a72fc4f84ddb2b6e838ec21c1cb84
|
|
BLAKE2b-256 checksum How to use checksums |
272ae4d4c25c759399c64d07865be8b2ef2aa354a1dacc89da5677fd974b958d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
| Download URL | aedat-2.2.0-cp39-cp39-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 499.7 kB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
acf4aafaaa0d29c6a142622223df0ca6b9cf0f0f8e1da20dc5b0f3e321702f39
|
|
BLAKE2b-256 checksum How to use checksums |
0a1a0f0a6f912b33d7ae48a5947c64d888d2215bf906cb46bb5bff6ee958d8c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp39-cp39-macosx_14_0_arm64.whl
| Download URL | aedat-2.2.0-cp39-cp39-macosx_14_0_arm64.whl |
|---|---|
| Size | 397.9 kB |
| Tags | CPython 3.9 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8806b17773efc7773ccf2fb20a0ac1e7e68ce41fa5f2f35cf4140412e495048e
|
|
BLAKE2b-256 checksum How to use checksums |
c6305d6e0e11840a62cfa813278035aa890b3eb075106252c378326f8ad7f08e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|
Release files / aedat-2.2.0-cp39-cp39-macosx_13_0_x86_64.whl
| Download URL | aedat-2.2.0-cp39-cp39-macosx_13_0_x86_64.whl |
|---|---|
| Size | 459.9 kB |
| Tags | CPython 3.9 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
4c44c1c6f8b463a4799e9e01f63af9a3df742494dbe37fe84f6facde5f7eee1c
|
|
BLAKE2b-256 checksum How to use checksums |
fd2c3192b748fcbc2e04bfcadfcb819172e05ec7547ad5cd50c02e628b444c92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.8
|