Cython code for reading binary files from RPG cloud radar.
Project description
rpgPy
RpgPy is a Python / Cython software for
- Reading RPG cloud radar Level 0 and Level 1 binary files
- Calculating spectral moments from RPG Level 0 data
- Converting RPG binary data to netCDF4 format
Installation
From PyPI
python3 -m pip install rpgpy
NOTE: A C-compiler is required because the Cython code is compiled locally during installation.
If you get an error about missing Python.h
, you need to install the missing header files with $ apt install python3-dev
(or similar).
From source
git clone https://github.com/actris-cloudnet/rpgpy/
cd rpgpy/
python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install .
python3 setup.py build_ext --inplace
Quickstart
Converting RPG binary files into netCDF4
>>> from rpgpy import rpg2nc
>>> rpg2nc('rpg-data.LV1', 'rpg-file.nc')
This writes a compressed netCDF4 file and works with both Level 0 and Level 1 data.
Several RPG files can be concatenated into singe netCDF file using wildcard. With Level 0 data, this can lead to a very large file.
>>> rpg2nc('/path/to/files/*.LV0', 'huge-file.nc')
Converting multiple files individually
Multiple RPG files can be converted into corresponding individual netCDF4 files using rpg2nc_multi
.
>>> from rpgpy import rpg2nc_multi
>>> filenames = rpg2nc_multi(file_directory='/path/to/files')
Default functionality is that every file with an extension .LV0
, .lv0
, .LV1
or .lv1
in every subdirectory of the specified path will be converted.
Creating custom Level 1 netCDF4 file
rpgpy
can estimate spectral moments from Level 0 data. The estimation is based on the most
prominent peak of each time / range point.
>>> from rpgpy import spectra2nc
>>> spectra2nc('rpg-data.LV0', 'level1.nc')
This calculates spectral moments from Level 0 data and writes the results in a netCDF4 file.
Reading RPG binary file
If you don't need the netCDF4 file:
>>> from rpgpy import read_rpg
>>> header, data = read_rpg('rpg-data.LV1')
Calculating spectral moments
>>> from rpgpy import read_rpg, spectra2moments
>>> header, data = read_rpg('rpg-data.LV0')
>>> moments = spectra2moments(data, header)
This works only with Level 0 data.
API reference of spectra2moments
API reference
Index
rpg2nc
Convert RPG cloud radar file(s) into single netCDF file.
rpg2nc(path_to_files, output_file, **kwargs)
Positional arguments:
Name | Type | Description |
---|---|---|
path_to_files |
str | pathlib.Path |
Filename of single file, or multiple files identified using a wildcard, e.g., /foo/bar/*.LV0 . |
output_file |
str | pathlib.Path |
Output file name. |
Keyword arguments:
Name | Type | Default value | Description |
---|---|---|---|
global_attr |
dict |
None |
Additional global attributes. |
rpg2nc_multi
Convert RPG cloud radar files into several corresponding netCDF files.
filenames = rpg2nc_multi(**kwargs)
Default functionality:
- Input files are searched recursively starting from the current working directory
- Files with the suffix
.LV0
,.lv0
,.LV1
or.lv1
suffix are converted - netCDF4 files are written to the current working directory
Keyword arguments:
Name | Type | Default value | Description |
---|---|---|---|
file_directory |
str | pathlib.Path |
current working directory | Root path of the search. |
output_directory |
str | pathlib.Path |
current working directory | Path name where the netCDF4 files are written. |
include_lv0 |
bool |
True |
If False , excludes Level 0 files. |
recursive |
bool |
True |
If False , does not search input files recursively. |
base_name |
str |
None |
Optional filename prefix for the converted files. |
global_attr |
dict |
None |
Additional global attributes. |
Returns:
Type | Description |
---|---|
list |
Full paths of the successfully created netCDF files. |
spectra2nc
Calculate moments from RPG Level 0 spectra and write a netCDF4 file.
spectra2nc(input_file, output_file, **kwargs)
Positional arguments:
Name | Type | Description |
---|---|---|
input_file |
str | pathlib.Path |
Filename of RGP Level 0 file. |
output_file |
str | pathlib.Path |
Output file name. |
Keyword arguments:
Name | Type | Default value | Description |
---|---|---|---|
global_attr |
dict |
None |
Additional global attributes. |
n_points_min |
int |
4 | Minimum number of points in a proper spectral line. |
read_rpg
Read RPG cloud radar binary file.
header, data = read_rpg(filename, **kwargs)
Positional arguments:
Name | Type | Description |
---|---|---|
filename |
str | pathlib.Path |
Filename of RPG cloud radar Level 1 or Level 0 binary file. |
Keyword arguments:
Name | Type | Default value | Description |
---|---|---|---|
rpg_names |
bool |
True |
If True , uses RPG manual names in the returned dictionary, else uses more human-readable names. |
Returns:
Type | Description |
---|---|
tuple |
2-element tuple containing header and data dictionary. |
spectra2moments
Calculate spectral moments from Level 0 spectral data. A call to read_rpg
is required before using this function.
moments = spectra2moments(data, header, **kwargs)
Positional arguments:
Name | Type | Description |
---|---|---|
data |
dict |
Level 0 data dictionary from read_rpg . |
header |
dict |
Level 0 header dictionary from read_rpg . |
Keyword arguments:
Name | Type | Default value | Description |
---|---|---|---|
spec_var |
str |
"TotSpec" |
Spectral variable to be analyzed: "TotSpec" or "HSpec" . |
fill_value |
float |
-999.0 | Value for the clear sky data points. |
n_points_min |
int |
4 | Minimum number of points in a proper spectral line. |
Returns:
Type | Description |
---|---|
dict |
Dictionary containing Ze (reflectivity), MeanVel (mean velocity), SpecWidth (spectral width), Skewn (skewness) and Kurt (kurtosis), which are 2D numpy arrays (time x range). |
Development
Install test-dependencies and pre-commit hooks:
python3 -m pip install -e .[test,dev]
pre-commit install
Compile Cython (repeat if you change .pyx
files):
python3 setup.py build_ext --inplace
Tests
Run unit tests:
pytest
Run end-to-end tests:
for f in tests/e2e/*/*runner.py; do $f; done
Force pre-commit
checks of all files:
pre-commit run --all
Performance
For reading RPG binary files, depending on the radar settings, RpgPy is roughly 20-30 times faster than equivalent native Python or Matlab implementations.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for rpgPy-0.15.1-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c82aad377551c56e6d64e94f98e0e7d0ec5cc3ba149015660657e38a1eac3b0a |
|
MD5 | 9e121ead65ef214ab087fccb605ed6bf |
|
BLAKE2b-256 | 9263b61754e06fe353934ebb5e2b681e349888f63c942f4c01b32fb87f935e04 |
Hashes for rpgPy-0.15.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d7b804588256c22d97ad8d38c8bc070896e2de33f30c30831f80a69e7625353 |
|
MD5 | ebaf8c598c3945a0970f2196cb1eb0c9 |
|
BLAKE2b-256 | a24ac12296929b343b69925f80e374a07b2ec37debb0a5a0f6d30cadca5f14e4 |
Hashes for rpgPy-0.15.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20e16cb402d8f998687e10513cfdcb58531a5f60c98b615454e152e1b754fd71 |
|
MD5 | b8ba7de288acca0e58d6a764607dce5d |
|
BLAKE2b-256 | 3fcfc162929b2554289f8192effa319644fa4b953f861f9a0966411f7312e0c0 |
Hashes for rpgPy-0.15.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d05530152378a065d8a848a5a8b975d067d622e90186bd72ebcecad9b66f9d73 |
|
MD5 | ac236fd58aeeab20f5e131057a650778 |
|
BLAKE2b-256 | 80c834d7e2e1df4d68825696f78a503790ea45500d4875f422339ec0c03ac6d4 |
Hashes for rpgPy-0.15.1-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 158e5f68ba306dd94a286000959ee47ec4f42a0497d1fcab1544909c69be41b4 |
|
MD5 | f22c9788335abec43ba95859e84c25ad |
|
BLAKE2b-256 | 2f0c5dc298fc569a6dd1c20ae2df9c40e13ccd7b084acd55f8954800aab761d4 |
Hashes for rpgPy-0.15.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9a53eefdba97148c2a366019bbcb4c90787ed1cb8eda60f309bf9eb9c1cdd45 |
|
MD5 | a96c746f5e3922ea3b00e371ce1f1f2e |
|
BLAKE2b-256 | 941ae2c55f23635769447d084de49ceff3c64f18472a9601a6ecc5b3f782c9aa |
Hashes for rpgPy-0.15.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66324e1cbfe727bb896b5a8b56349247774b27b7eb0cff32258c2b5eea05075f |
|
MD5 | 5d3d2eec22a3b664d5b24cd340e9848a |
|
BLAKE2b-256 | 3df6e80dde71f9b1eb9d3f9994f09223c3de92a779e238822083cc8c176fc074 |
Hashes for rpgPy-0.15.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b006173d5c7f414f249e3bb7af6b1ae8e66cde1b54b77588e30e12670f2de22b |
|
MD5 | b459c9c33135abe3ebac3051291820c0 |
|
BLAKE2b-256 | 8353f79a547a9dbf3b65533435cf3bec5750e18f4458044d2b442dde50dabcc7 |
Hashes for rpgPy-0.15.1-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a89cda4caedb26139cba938b3a45a0cab0bc6e30d1510eb613df757bdba2d3c |
|
MD5 | 28cea3bfbc6b9a9dd265c4ad91d7d4d5 |
|
BLAKE2b-256 | 46608260c7032e5bd17a22fa1504a915a23ca9cbfdf29b5efaaf00b3b788079c |
Hashes for rpgPy-0.15.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 573eba54c1604271ed0c14196a80adcaaf2015be8c7b42abe8da2c8149bfc9b4 |
|
MD5 | c7b6309a27bf9d2bf96b3304298108c0 |
|
BLAKE2b-256 | ab8c03d9ee56e5909dcf1cab23ffe4ca66f3fa87eaf12d3ff09d88a37d137f2a |
Hashes for rpgPy-0.15.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbbeae95d9e58c46fb859990f502965624a29e6b8267213a7a88f1f9a74ebb5e |
|
MD5 | 2d9de943239074452b9179c6cbea566f |
|
BLAKE2b-256 | e3a3d0b15c83cd950c9286343ab704cf93acef25ce34ebd254ea04fe8c1f55b6 |
Hashes for rpgPy-0.15.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56efdc9f9486c5e398354f472df66a01b018dd676720a67d0e2269e861e00c43 |
|
MD5 | fe7e3712f4f2f0c06784bbd850c44acf |
|
BLAKE2b-256 | ff8ba46f36f98c9fdb5f3fd5579e714ce64bbece2182b5c040721f0a539260f7 |
Hashes for rpgPy-0.15.1-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7e007040187d311de71a6f6eb804e16ce01f70ecc6a671b24974127f067a59a |
|
MD5 | 7853677806109cd578aa903219ff2104 |
|
BLAKE2b-256 | 41528705a101795f0cdc0aa2acc64a02722378c311c59b9d2b2e8145bbe51410 |
Hashes for rpgPy-0.15.1-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e28d931aaf146c1f21474321aff8129d89075e37c307a4b50788a65ed4719ab |
|
MD5 | c28d9085ece1e78bcdec5a50b5d5fe31 |
|
BLAKE2b-256 | e2447a981e4e72eb5be8ee2049c53272710c2486f37c8c33347f796811e9999e |
Hashes for rpgPy-0.15.1-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03791a4e8e244dee957dcfc592023eb2854bfbfdccf1a63c44eb6683d26ab08c |
|
MD5 | 992a68e5146db4140d6de262d2923b1b |
|
BLAKE2b-256 | 74ed044a2a86f592c2bca9961c109ec52609eb66f246a2d10d33f196fc118a95 |
Hashes for rpgPy-0.15.1-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d707215da8187813301d4b3255cbb4ab8c13b2d56f54f64a9fdc968492505f09 |
|
MD5 | f8e33c3138c644b62294b8975198fc63 |
|
BLAKE2b-256 | 7f1b12baae0723463dfabca771ccfe14b67b093a82a25fef1f7c58f7b92d86ed |
Hashes for rpgPy-0.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b621b48a61d2376305bc79fcb3152eb4ec8adae79d2f6eff62c255197da2511a |
|
MD5 | c6da14b360444dc93a80ec210a3c0392 |
|
BLAKE2b-256 | b0b3757e25674ea1276d05c64eba4c5f9c1354904f22888721833c6d21304b33 |
Hashes for rpgPy-0.15.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c29b5fc142843482893f571ad61c429dfacec38027622fc77d0e60f9aa992eda |
|
MD5 | 4654261d448054d2c468bad22f3e8781 |
|
BLAKE2b-256 | 373119de222ee214ecc67a05956b64b7dee7cd7f3285cde4370e766a92b46eec |
Hashes for rpgPy-0.15.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccd532197948f2463745f90902fd7235beeae979de22c9f3e0d0272f464efd00 |
|
MD5 | b7bdf2264b3fdeb49959e27cbc975792 |
|
BLAKE2b-256 | e9a84eba7fd94fc24e21896e45141977625b2606cd391251cfee240ace721442 |
Hashes for rpgPy-0.15.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9a70d76f7e10ffd41f4a4359522b20951795775d3420b679b7d74295b64d97e |
|
MD5 | a6f39d0c3004f9324392b64295a8a6cc |
|
BLAKE2b-256 | 0830022e90008ab72d05e6136434222eacd04cc176880b9e015718a51bb8ceb7 |
Hashes for rpgPy-0.15.1-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f88de10c73232f1dc9069804e8f8751915f239d3c7e1fd6bf5a4269270319a5 |
|
MD5 | 17b4e4f90921b3b5f57a201ccf07f7e0 |
|
BLAKE2b-256 | 311c27dbf99d602ff6349ca9c24b9b875dde4c5a5537795fe80053de4b1f322e |
Hashes for rpgPy-0.15.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e9ff8ac6f7eb28ca2063a77847053661f136dcaf0f7d72b95fe32b18b87e1b2 |
|
MD5 | a130764c0be61d1fed781e2215182f64 |
|
BLAKE2b-256 | d45b053464b118d001bd16818144200c10334aba76d7691bd75f95c48f1b0d91 |
Hashes for rpgPy-0.15.1-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e73b1195911650fb077bbc035956525b6b9520135ec13523b9a503687ab1a720 |
|
MD5 | 36e1718d3cf09a3b7b0fadbcc137a820 |
|
BLAKE2b-256 | 3e4ae1051778acca916716593b5466aa980b1c7daee976a7acc3475eab48a5db |
Hashes for rpgPy-0.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa6f37a08dd13d7abe8de682730e0d155b8218f62938840aedd6ff0d724eee94 |
|
MD5 | c0ede6af3943f2deec86d85bb145cfb9 |
|
BLAKE2b-256 | 9a0845d9f1c6de7d4822282215473629169d7558fa86f5eac809d93d8b732995 |
Hashes for rpgPy-0.15.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 097dc2fc3526d6db1d70d8f75c71ff56434f87d963b6434986d2c41c120b0acd |
|
MD5 | dd5b83e31d31b37e30dc6ee0186ddea4 |
|
BLAKE2b-256 | 69076d7d2fcd3e796d66e3baecdd60c0270e586ffeb7c5f0a3750e770c72872f |
Hashes for rpgPy-0.15.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc59ecb686bf757902434932a5743f6314b4c48bd3816a9ceba178cb59a2fb43 |
|
MD5 | e12fbfa122cf72ca11d861ae5aa1e5e2 |
|
BLAKE2b-256 | 82bdca87bf519ace4b25ebf7fe23c786fbe7ced313e6985cf4d7cca198028912 |
Hashes for rpgPy-0.15.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88c7636b33087793ed7b8b02a24d4754867372e34c1167b5c5ac7882ec9149e6 |
|
MD5 | 9c9c9db475281d6f1703f5af1046e0f0 |
|
BLAKE2b-256 | 90215b9761582e030dc9a897e7c4d28b8e357ad01e209c25d4737e3d20a2e5e0 |
Hashes for rpgPy-0.15.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 378cbac2508884bc0e5e0b4772e91c15c1e3f5991a2ac1fd2a3f3905677a6869 |
|
MD5 | 6f547a13526aed8921881ac9deedae2e |
|
BLAKE2b-256 | 1487bc6177c172803da3272c03c2bd407e078e60a33534374bf7c0eaeeaa8536 |
Hashes for rpgPy-0.15.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18436acdbd36b97f6542a070c2c9c21532e8b421aa0b15d10561623cd6a40e78 |
|
MD5 | 45c97f52c36d6d617af3070ab835bd32 |
|
BLAKE2b-256 | 427dbada92e5eabec8c12cb487fe387ae8f6d929997bdb0d849968e833dac7f1 |
Hashes for rpgPy-0.15.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c41063d09289ebcc1618ea30a98e0d93564616e8bfbb2b80fe36ca30fe69e692 |
|
MD5 | cd34dca5aafb49da5a7ed9516d47af42 |
|
BLAKE2b-256 | 2ef89b67c7f9a2859cb1a50a79a14817fb874969edd79bc996f6c59a99b4043c |
Hashes for rpgPy-0.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08e38e3b100cccd514c3305767fa956dfd6d5e5dbf2f7eaa3afb5947ab62ebc9 |
|
MD5 | 2cebdc8a1ba5924c987aae5c1449c121 |
|
BLAKE2b-256 | 71f7a350b7cc2d67377593c483644c97390cd6db39da8f6bcee5a79545766496 |
Hashes for rpgPy-0.15.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33ecf00ba79e32ae6887674882edd87e5d739d59a1e90938472f15b6fcc2e226 |
|
MD5 | 716d1e3f1b426ac7fa2d03015e42181e |
|
BLAKE2b-256 | 6cc514bdb683a133cb2c449f728bd8094abd453f2738ff7cac8433f0b4cf4046 |
Hashes for rpgPy-0.15.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d77316281a401b8c46c7cc4071c87a3eeb71c1df53bfecbebd856d34a5c5be73 |
|
MD5 | 475fc8638f3acde9c0811b5a411b9675 |
|
BLAKE2b-256 | f833f53bcd4a77dae0d6a2cd855b0f37bd063dfec423c3bf8202196934fbcf22 |
Hashes for rpgPy-0.15.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f8e531aba5a1da4d6f3465e26348a3f47dc5d7e64861d32a53ec6dc3825e0b5 |
|
MD5 | b7f059909d537b07294cce125eeece17 |
|
BLAKE2b-256 | 59ce3ab2c84ca71c85f09e86a49045615d82cbb9ff8813e1117e185640edac04 |
Hashes for rpgPy-0.15.1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e491504ae0316e9b6bf4cb56907c91ed570e9aac6737a1cd451d63446f5e06c1 |
|
MD5 | dc00aa5cbbd7d18d988ac75b4fe06289 |
|
BLAKE2b-256 | b62626c47c6dc28e0e7b8174773646a132e18963b714aece9596dbe1ed824b47 |
Hashes for rpgPy-0.15.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a85b8574de05b25cdec29437d263779bd1de608f17e841339c096b70f71ca3c9 |
|
MD5 | 92793e8a25690da1ee1b29f3199ef2e9 |
|
BLAKE2b-256 | 57f0d870f3440b4552e60e53a2a4a63d72c59d86be369a7d94e72f60e3e60609 |
Hashes for rpgPy-0.15.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5df1e4a8f5852c46f90a2cf011c1d57ff134f963c2458f18ddada8c01d293215 |
|
MD5 | 670a5c30bdaed5d2b13095345fe6f8fb |
|
BLAKE2b-256 | 54caeab16292e3f257b411ccf6622d4ad99d71e9cd36229d44621dab98c12140 |
Hashes for rpgPy-0.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f408ae04986d6913a3a1a9388e18120cd39ba2864ecb9f881b4872be7db11780 |
|
MD5 | 05d281a8716051240b844e32c6113cba |
|
BLAKE2b-256 | 1b4aa911ac5015347e20d2a7b29993f3465dcccf26a8710939bda60713fb8ea9 |
Hashes for rpgPy-0.15.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d335bc71a80a8d8cd60a9590368b7558a44b9f2f2e30d744c991702b5a96eb85 |
|
MD5 | b87b4c42a91a7b2b0bbbfed00521879a |
|
BLAKE2b-256 | 18fab1acbae40e0f21abfeb816d841b98dd752f9037a0dace82c55aacbda8074 |
Hashes for rpgPy-0.15.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad47f5cf581c81207089b5ed25c960a2fe4500d051ed407ea6dd68695905aa47 |
|
MD5 | 9e15c645ee5872d12a675d6c95797166 |
|
BLAKE2b-256 | 02d1caeb999c6e2ce212bc00dba54759b826887c14d7b8c8b57ca06a5d1e6026 |
Hashes for rpgPy-0.15.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a965f1e8d06c1a1835b17b770ac16030a9dd0423d1c4ceaf9e6daa1068ea1feb |
|
MD5 | 929cd2da3633fcbd00c9613e5e915a1f |
|
BLAKE2b-256 | d3c7af2e5b7b8a1e63deedd2da5da410a35cfa8b4d6e8d783ff395977464dd31 |
Hashes for rpgPy-0.15.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00b209d140b5153b054e082cdee4fcc240f399600349c118b7d715d8d4337812 |
|
MD5 | af12616d419f401d1877275e9326381b |
|
BLAKE2b-256 | 609837b8d63b04e460ccfe631a4729e1ea1651612aeb92e2893b3fcae6b7273c |
Hashes for rpgPy-0.15.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91674f34ac80747153dc113a56c5ed443bebd3588bc331f3f06e81d1bdce1872 |
|
MD5 | b718cc1820994f80881d68f5551cddf9 |
|
BLAKE2b-256 | 1d84bd0613d0f8ab4ec478880994e7d357e4ac402216ef2700c0bdf00539f6d1 |
Hashes for rpgPy-0.15.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49720f25b0a82fab2dd2beed0bca22860796e89b21846e4c37dea6e8f5afd7e7 |
|
MD5 | 26a149ed2178e2f13c5b84a0539d1b18 |
|
BLAKE2b-256 | d3e5ba6ce78d758d149c6b3ec7c7676393700ea6eca0c8dfb7794d6ba9a874ea |
Hashes for rpgPy-0.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dc76e650306cca88777ebdf3360f5cf6ea7b2d461ccbb92cc52fe5ab03351eb |
|
MD5 | bfb5518ce179b9adda04c79c8d2d3302 |
|
BLAKE2b-256 | 5e000735118fed6f3fbebbdd95ccb5a4e4285f03279836c14cd6d274cffd5eb7 |
Hashes for rpgPy-0.15.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f98ae0053eb7eab8968eb07b2e5077f3fc6bc77ba4d72f9789c81a2e4ff744d2 |
|
MD5 | e153e4dfe8da3cd074a6b07c1009989f |
|
BLAKE2b-256 | ffc9c2835ef59b93b231174ff8d5eae20f218b6b38cbd2784bf35b41d727137d |
Hashes for rpgPy-0.15.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f18a4918e0ccc4e4ac9301b71e12396e94fbf03af023cd1c5bc99826e69071b |
|
MD5 | 10eddd6d1ae8e0fa898ef2d5b34f5602 |
|
BLAKE2b-256 | 693cb27f8c7b1f93440ed03e14b3a9d9b49a2cc1dac555dce2932f74cca41ef4 |