A SEG-Y tool developed by Computational Interpretation Group (CIG)
cigsegy is a tool for exchanging data between SEG-Y format and NumPy array inside Python environment.
It can be used to read and convert a SEG-Y format data into a Numpy array, even if the SEG-Y format data is missing some traces or its inline/crossline step is not equal to 1.
It can also be used to create a SEG-Y format data from a Numpy array. In this mode, users can use headers from a existed SEG-Y file or create new headers by setting some parameters.
Tutorial and reference documentation is provided at cigsegy.readthedocs.io. And the source code is always available at github.com/JintaoLee-Roger/cigsegy.
Core Features
Fast (Implemented in c++)
python wraping and numpy array supports
dealing with normal and irregular SEG-Y volume [1].
creating a SEG-Y file using the existed header of a SEG-Y
Quick Start
Install cigsegy via PyPi
pip install cigsegy
Print the 3200 bytes textual header of a SEG-Y file
>>> import cigsegy
>>> cigsegy.textual_header('rogan.sgy')
# C01 CLIENT: STUART PETROLEUM LTD AREA:COOPER BASIN SOUTH AUSTRALIA
# ...
# C06 INLINE RANGE: 360 - 1684(2) CROSSLINE RANGE 1764 - 2532(1)
# C07 -------------PROCESSING FLOW---------------
# ...
# C35 DESC BYTE LOCATION FORMAT
# C36 3D INLINE NUMBER 9- 12 32 BIT INTEGER
# C37 3D CROSSLINE NUMBER 21- 24 32 BIT INTEGER
# C38 CDP_X 73- 76 32 BIT INTEGER
# C39 CDP_Y 77- 80 32 BIT INTEGER
# C40
You can get some key information to read the SEG-Y file, such as inline location is 9 (C36), crossline location is 21 (C37), X location is 73 (C38), Y location is 77 (C39), inline step is 2 (C06), crossline step is 1 (C06).
Scan the SEG-Y file and get some meta information
>>> cigsegy.metaInfo('rogan.sgy', iline=9, xline=21, istep=2, xstep=1, xloc=73, yloc=77)
# In python, the shape is (n-inline, n-crossline, n-time) = (663, 769, 1001).
# shape: (n-time, n-crossline, n-inline) = (1001, 769, 663)
# sample interval: 4000, data format code: 4-bytes IBM floating-point
# inline range: 360 - 1684, crossline range: 1764 - 2532
# interval of inline: 35.0, interval of crossline: 17.5, time start: 0
# inline field: 9, crossline field: 21
# inline step: 2, crossline step: 1
# Is regular file (no missing traces): false
You will get some information about this SEG-Y file, such as, the data shape, intervals, data format …
Read the SEG-Y
Please note that the shape is like (n-inlines, n-crosslines, n-time_samples)
>>> d = cigsegy.fromfile('rogan.sgy', iline=9, xline=21, istep=2, xstep=1)
>>> d.shape
# (663, 769, 1001)
If you need a binary file without any headers, i.e., save the numpy array
>>> cigsegy.tofile('rogan.sgy', 'out.dat', iline=9, xline=21, istep=2, xstep=1)
Create a SEG-Y using a numpy array and headers from another SEG-Y file
- There is often such a workflow:
Display SEG-Y format data orig.segy in specialized software, such as Petrel.
Use Python code to process this data and obtain new data afterprocess, which is in NumPy array format
To display this processed data in specialized software, it needs to be converted back to SEG-Y format and use the headers from the original data, i.e., using the NumPy array afterprocess and the header of orig.segy to create a new SEG-Y file out.segy.
# assume the iline/xline/istep/xstep of **orig.segy** are 9/21/1/1
>>> cigsegy.create_by_sharing_header('out.segy', 'orig.segy', afterprocess, \
keylocs=[9, 21])
Create a SEG-Y using a numpy array and some parameters
# d is a numpy array, d.shape == (n-inlines, n-crosslines, n-time)
>>> cigsegy.create('out.segy', d, format=5, start_time=0, iline_interval=15, ...)
Access the SEG-Y file as a 3D numpy array, without reading the whole file into memory
>>> from cigsegy import SegyNP
>>> d = SegyNP('rogan.sgy', keylocs=[9, 21])
>>> d.shape # (ni, nx, nt), use as a numpy array, 3D geometry
>>> sx = d[100] # the 100-th inline profile
>>> sx = d[100:200] # return a 3D array with shape (100, nx, nt)
>>> sx = d[:, 200, :] # the 200-th crossline profile
>>> sx = d[:, :, 100] # the 100-th time slice, note, it may be slow if the file is large
>>> sx.min(), sx.max()
# get the min and max value, but they are evaluated from a part of data,
# so they may not be the real min and max value
>>> sx.ntrace # get the number of traces for the file
License
cigsegy is provided under a MIT license that can be found in the LICENSE file. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.
TODO
Add convenient functions to support unsorted prestack gathers.
Citations
If you find this work useful in your research and want to cite it, please consider use this:
Plain Text
Li, Jintao. "CIGSEGY: A tool for exchanging data between SEG-Y format and NumPy array inside Python environment". URL: https://github.com/JintaoLee-Roger/cigsegy
BibTex
@misc{cigsegy,
author = {Li, Jintao},
title = {{CIGSEGY}: A tool for exchanging data between SEG-Y format and NumPy array inside Python environment},
howpublished = {\url{https://github.com/JintaoLee-Roger/cigsegy}},
}
Release files for cigsegy 1.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 | |
|---|---|---|---|
| cigsegy-1.2.0.tar.gz | 76.3 kB | Details |
Built distributions (wheels)
Total release size:5.7 MB
Release files / cigsegy-1.2.0.tar.gz
| Download URL | cigsegy-1.2.0.tar.gz |
|---|---|
| Size | 76.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7cbb6127a075ad8b610758afd9a89eef5f1b9afcdc4d98d9377a55df826ee675
|
|
BLAKE2b-256 checksum How to use checksums |
aa5cc916ea65dafacea352d0b391979f4bc9be1f3b3876645f8ea2c6b6021273
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cigsegy-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 292.8 kB |
| Tags | CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
8427d313a6ce1888ed2319e86acaff64ec433510d2485642afab5e74ffd04f76
|
|
BLAKE2b-256 checksum How to use checksums |
9d2c2133b015dc0d74958f634f4a946ccc88e208ed83ed4549d2d97bc8caf1a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp313-cp313-win_amd64.whl
| Download URL | cigsegy-1.2.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 199.2 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7a73c79ade002c1ab60c2e18c203f40571001d0bdf7eee85013f46902bef9333
|
|
BLAKE2b-256 checksum How to use checksums |
8a227eb46d755c622c8f215979db02488f4075306d558e06b055809e262e7724
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cigsegy-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 291.9 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
11133da9e2ef1e3f222551a6dce797e7a71088a512c7c73e9d5577d4ae3dc069
|
|
BLAKE2b-256 checksum How to use checksums |
edad3b659a6414d454ec4e02c7da00529b96a166eea5db643b45e8df1c28708e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | cigsegy-1.2.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 257.4 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1d7a6c17906b857782c0003205c9cc39cad9e5944593a979ab3fdbd31339debd
|
|
BLAKE2b-256 checksum How to use checksums |
beed3fb33cf62cf24e57a279590ce1c54a972b1f55762fbc8dbc40aebe26e233
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp312-cp312-win_amd64.whl
| Download URL | cigsegy-1.2.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 199.1 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
28b15157ce7a2e52e0036499c746e03a2071a0525808cefd5bc44e4cd6e1174c
|
|
BLAKE2b-256 checksum How to use checksums |
93c16eee9cd6635037f22c03cf9ed56b3172d4d2ff930aa0507dc3ba06339e3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cigsegy-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 291.9 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ea71a0bf6d9fe3b3eb12eb9038e6c3176d3a69996035dee6328291cf9f43e020
|
|
BLAKE2b-256 checksum How to use checksums |
d971275081c6f34fce798bbebee2c401580ef250c785c652fc7494d91193ec1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | cigsegy-1.2.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 231.6 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5566d2cc8b5517da1e4c3a99b06ae9e989c525980da8230808ffabfa8cf7aeed
|
|
BLAKE2b-256 checksum How to use checksums |
b92ca6284569a45e6bd3a07c6debccba0043c5bc23405c275e9472884169c849
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp311-cp311-win_amd64.whl
| Download URL | cigsegy-1.2.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 198.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4e909e62ffefe1821cd0ae64951794501d2d20390bf5b15a6918042b2238b66b
|
|
BLAKE2b-256 checksum How to use checksums |
a7f5ee1dd64901b0773c07d4755b9a9f34343ceed932c65a419331ef4600a08d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cigsegy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 292.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
7d472b8a92ecb7a9462ef7b53b532946ff0e140dec0152c5e2a5e305526bb268
|
|
BLAKE2b-256 checksum How to use checksums |
9f70f539dee604d7366f20be9321e29a09f732822a807e758e4387225142cf6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | cigsegy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 231.4 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c0677044d91680156c74fa3242f71c970ccad7eeeab6e3a8ee081b8b0d83bc0a
|
|
BLAKE2b-256 checksum How to use checksums |
5b68fbad043c10af959a79fe5538f6e9fdbf0fcf6ce0ef6bf3fab528b752a882
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp310-cp310-win_amd64.whl
| Download URL | cigsegy-1.2.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 197.7 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ac05f25c1e35f7fefd60708c2a807be3f8fcfbf18f04c5623dda1c22d8fb1fa6
|
|
BLAKE2b-256 checksum How to use checksums |
b310be202947bc510bc8bafd55559b3b3ff01195b3fde257ac567ab1037d80a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cigsegy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 291.8 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
73cfc70a81cbc8fcb1333ee4e480bbd0c87b968b7e8072758910be403f68a20d
|
|
BLAKE2b-256 checksum How to use checksums |
dacf305afd909de711b433825803946c60c4a8ab2ed43a0d074c68179205a9fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | cigsegy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 230.3 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d35316acccf82808e081895cc9921d82dae02319a12afc1609e17297cd3269db
|
|
BLAKE2b-256 checksum How to use checksums |
02b80e128285770edcfa59b70c6eeb97bebdc0f9372691ffb37d375b2bc7374c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp39-cp39-win_amd64.whl
| Download URL | cigsegy-1.2.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 195.2 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
01c162fa3d83e2885f042d9746eeee90b186a5c76a2acf305d42b755a5f1ddf4
|
|
BLAKE2b-256 checksum How to use checksums |
a51dc98aeaf863a59ae653cbd65637df4fbf1bc1bab9936f68498f213e4f7097
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cigsegy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 291.9 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
f0e3aad72f50f5ab5b28fc5695e1d41b29dd3451345fdf34a39fcc3337867054
|
|
BLAKE2b-256 checksum How to use checksums |
961afbe56f5b78947f145e62db5b5887c88ebe7a666ed5ceaa6da6e55983da85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | cigsegy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 230.4 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0fc301dcfd20f0009128044e351ef80ccaa2b379d32f3b43ca0e48f7a227599e
|
|
BLAKE2b-256 checksum How to use checksums |
908cbf60a6aa092d517cbc0bb182136a54bcead83e875981bd26b12da449801f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp38-cp38-win_amd64.whl
| Download URL | cigsegy-1.2.0-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 197.6 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7faae5160a214e9f777ffdb0c956652416b9eab1b1e4e12593237550b445d9a3
|
|
BLAKE2b-256 checksum How to use checksums |
b0d26f0bf5280bef0f979c9cdf623c31e3387e7d8e101de7d79baa6daca40b96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cigsegy-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 291.6 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
955ffb0e68006e6e37d3c7c527e795276bb0d73962a9f4eb1bf307d85e528275
|
|
BLAKE2b-256 checksum How to use checksums |
d13003350798f527e6cb66b4c2cbf3587e49eab168459bf5181a169122a8536d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp38-cp38-macosx_11_0_arm64.whl
| Download URL | cigsegy-1.2.0-cp38-cp38-macosx_11_0_arm64.whl |
|---|---|
| Size | 230.2 kB |
| Tags | CPython 3.8 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3d462da7bc22812e3c0fd6e8f2e900a31e464989cde8cf16fa4624696d46dde7
|
|
BLAKE2b-256 checksum How to use checksums |
6d9c282a4a9e46a2e701c2286315f4f7224d1c629a51ead8137aab85bd136ab2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp37-cp37m-win_amd64.whl
| Download URL | cigsegy-1.2.0-cp37-cp37m-win_amd64.whl |
|---|---|
| Size | 198.1 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f6f6747f170833e7a40cdd895c98a4668186836fdc8caa5d480d09e74e482eae
|
|
BLAKE2b-256 checksum How to use checksums |
e8d9f28ce38d31dfc2d4ffcfffb2647fef58cec4a12d50438cc2a26fc2298db5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cigsegy-1.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 295.8 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
42de994cdf2470d025990d0f86ae49930989b16f56a1503e46f26499363f1e81
|
|
BLAKE2b-256 checksum How to use checksums |
35f39826099bb62cdc6c41106a662f8b2be1e8ca63f962c77b29ee060e541ed3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp36-cp36m-win_amd64.whl
| Download URL | cigsegy-1.2.0-cp36-cp36m-win_amd64.whl |
|---|---|
| Size | 198.3 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
85138e744293ad6ca5916d5eaea1e4ae578649ced9d5fb959aff822fcc774004
|
|
BLAKE2b-256 checksum How to use checksums |
847b751fba81cf7bcde58f0ab66623a733b561bae6fa40faaf52ef0b5d1e1841
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / cigsegy-1.2.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cigsegy-1.2.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 294.3 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
bad68efe5b846c8c116d8c02dc3bca8b277ec03df02add9d8e64536397e99b64
|
|
BLAKE2b-256 checksum How to use checksums |
c069cca9e8c26f4535c9aa7ad487ca266c8ee51315470f64deb55611b9159c52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|