Skip to main content

A Python wrapper for the FAPEC data compressor.

Project description

FaPyc

A Python wrapper for the FAPEC data compressor. (C) DAPCOM Data Services S.L. - https://www.dapcom.es

The full FAPEC compression and decompression library is included in this package, but a valid license file must be available to properly use it. Without a license, you can still use the decompressor (yet with some limitations, such as the maximum number of threads, the recovery of corrupted files, or the decompression of just one part of a multi-part archive). You can get free evaluation licenses at https://www.dapcom.es/get-fapec/ to test the compressor. For full licenses, please contact us at fapec@dapcom.es Once a valid license is obtained (either full or evaluation), you must define a FAPEC_HOME environment variable pointing to the path where you have stored your fapeclic.dat license file.

Usage

There are 3 main execution modes:

  • File: When invoking Fapyc or Unfapyc on a filename, it will (de)compress it directly into another file.
  • Buffer: You can load the whole file to (de)compress on e.g. a byte array, and then invoke Fapyc/Unfapyc which will leave the result in the output buffer. Obviously, you should be careful with large files, as it may use a lot of RAM.
  • File-to-buffer decompression: You can directly decompress a file (without having to load it beforehand) and leave its decompressed output in a buffer, which you can use afterwards.
  • Chunk: FAPEC internally works in 'chunks' of data, typically 1-8 MB each (and up to 384MB each), which allows to progressively (de)compress a huge file while keeping memory usage under control. For now, this feature is only available in the FAPEC CLI, in WinFAPEC and in the C API, not in Fapyc/Unfapyc yet.

Examples

Compress and decompress a file

In this example we use the kmall option of FAPEC, suitable for this kind of geomaritime data files from Kongsberg Maritime:

from fapyc import Fapyc, Unfapyc, FapecLicense

filename = input("Path to KMALL file: ")

# Here we invoke FAPEC to directly run on files,
# so the memory usage will be small (just 10MB or so)
# although it won't allow us to directly access the
# (de)compressed buffers.
f = Fapyc(filename, chunksize = 2048576, blen = 512)
# Check that we have a valid license
lt = f.fapyc_get_lic_type()
if lt >= 0:
    ln = FapecLicense(lt).name
    lo = f.fapyc_get_lic_owner()
    print("FAPEC",ln,"license granted to",lo)
    f.compress_kmall()
    # Let's now decompress it, as a check
    print("Preparing to decompress %s" % (filename + ".fapec"))
    uf = Unfapyc(filename + ".fapec")
    uf.decompress(output=filename+".dec")
else:
    print("No valid license found")

Decompress an image into a buffer and show it

With this example we can view a colour image compressed with FAPEC:

from fapyc import Unfapyc
import numpy as np
from matplotlib import pyplot as plt

filename = input("Path to FAPEC-compressed 8-bit RGB image file: ")
# For now, the API does not provide yet the image dimensions (it will be added soon), so we have to manually indicate them
w,h = input("Width and height (in pixels) of the image (two space-separated values): ").split()
w = int(w)
h = int(h)
# Decompress the file into a byte array buffer
uf = Unfapyc(filename = filename)
uf.decompress()
# Check consistency (image dimensions vs. buffer size)
if len(uf.outputBuffer) != 3*w*h:
    print("Image dimensions inconsistent with file contents!")
else:
    # Reshape this one-dimensional array into a three-dimensional array (height, width, colours) to plot it
    ima = np.reshape(np.frombuffer(uf.outputBuffer, dtype=np.dtype('u1')), (h, w, 3))
    plt.imshow(ima)
    plt.show()

Compress and decompress a buffer

In this example we use the tab option of FAPEC, which typically outperforms gzip and bzip2 on tabulated text/numerical data such as point clouds or certain scientific data files:

from fapyc import Fapyc, Unfapyc

filename = input("Path to file: ")
file = open(filename, "rb")
# Beware - Load the whole file to memory
data = file.read()
f = Fapyc(buffer = data)
# Use 2 threads
f.fapyc_set_nthreads(2)
# Invoke our tabulated-text compression algorithm
# indicating a comma separator
f.compress_tabtxt(sep1=',')
print("Ratio =", round(float(len(data))/len(f.outputBuffer), 4))

# Now we decompress the buffer into another buffer
uf = Unfapyc(buffer = f.outputBuffer)
uf.fapyc_set_useropts(0, 3, 0, 0, 0)
uf.decompress()
print("Decompressed size:", len(uf.outputBuffer))

Decompress a file into a buffer, and do some operations on it

Here we provide a quite specific use case, based on the ESA/DPAC Gaia DR3 bulk catalogue (which is publicly available as FAPEC-compressed CSVs). In this example, we decompress two of the files, and while getting their CSV-formatted contents with Pandas we filter the contents according to some conditions, and generate some plots. This is just to illustrate how you can directly work on several compressed files. Note that it may require quite a lot of RAM, perhaps 4GB. You may need to install pyqt5 with pip.

from fapyc import Unfapyc
from io import BytesIO
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import colors
import gc

filename = input("Path to GaiaDR3 csv.fapec file: ")
filename2 = input("Path to another GaiaDR3 csv.fapec file: ")

### Option 1: open the file, load it to memory (beware!), and decompress the buffer; it would be like this:
#file = open(filename, "rb")
#data = file.read()
#uf = Unfapyc(buffer = data)

### Option 2: directly decompress from the file into a buffer:
uf = Unfapyc(filename = filename)

# Here we'll use a verbose mode to see the decompression progress
uf.fapyc_set_useropts(2, 3, 0, 0, 0)
uf.fapyc_set_nthreads(2)
# Invoke decompressor
uf.decompress()

# Define our query (filter):
myq = "ra_error < 0.1 & dec_error < 0.1 & ruwe > 0.5 & ruwe < 2"

# Regenerate the CSV from the bytes buffer
print("Decoding and filtering CSV...")
df = pd.read_csv(BytesIO(uf.outputBuffer), comment="#").query(myq)

# Repeat for the 2nd file
uf = Unfapyc(filename = filename2)
uf.fapyc_set_useropts(2, 3, 0, 0, 0)
uf.fapyc_set_nthreads(2)
uf.decompress()
print("Decoding, filtering and joining CSV...")
df = pd.concat([df, pd.read_csv(BytesIO(uf.outputBuffer), comment="#").query(myq)])
# Remove NaNs and nulls from these two columns
df = df[np.isfinite(df['bp_rp'])]
df = df[np.isfinite(df['phot_g_mean_mag'])]
# Delete Unfapyc and force garbage collection, to try to free some memory
del uf
gc.collect()

print("Info from the filtered CSVs:")
print(df.info())

# Prepare some nice histograms for all data
plt.subplot(2,2,1)
plt.title("Skymap (%d sources)" % df.shape[0])
plt.xlabel("RA")
plt.ylabel("DEC")
print("Getting 2D histogram...")
plt.hist2d(df.ra, df.dec, bins=(200, 200), cmap=plt.cm.jet)
plt.colorbar()

plt.subplot(2,2,2)
plt.title("G-mag distribution")
plt.xlabel("G magnitude")
plt.ylabel("Counts")
plt.yscale("log")
print("Getting histogram...")
plt.hist(df.phot_g_mean_mag, bins=(100))

plt.subplot(2,2,3)
plt.title("Colour-Magnitude Diagram")
plt.xlabel("BP-RP")
plt.ylabel("G")
print("Getting 2D histogram...")
plt.hist2d(df.bp_rp, df.phot_g_mean_mag, bins=(100, 100), norm = colors.LogNorm(), cmap=plt.cm.jet)
plt.colorbar()

plt.subplot(2,2,4)
plt.title("Parallax error distribution")
plt.xlabel("G magnitude")
plt.ylabel("Parallax error")
print("Getting 2D histogram...")
plt.hist2d(df.phot_g_mean_mag, df.parallax_error, bins=(100, 100), norm = colors.LogNorm(), cmap=plt.cm.jet)

print("Plotting...")
plt.show()

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

fapyc-0.3.7-cp312-cp312-win_amd64.whl (804.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

fapyc-0.3.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (863.3 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

fapyc-0.3.7-cp312-cp312-macosx_13_0_x86_64.whl (519.4 kB view details)

Uploaded CPython 3.12 macOS 13.0+ x86-64

fapyc-0.3.7-cp312-cp312-macosx_13_0_arm64.whl (475.4 kB view details)

Uploaded CPython 3.12 macOS 13.0+ ARM64

fapyc-0.3.7-cp311-cp311-win_amd64.whl (804.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

fapyc-0.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (859.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

fapyc-0.3.7-cp311-cp311-macosx_13_0_x86_64.whl (519.1 kB view details)

Uploaded CPython 3.11 macOS 13.0+ x86-64

fapyc-0.3.7-cp311-cp311-macosx_13_0_arm64.whl (474.8 kB view details)

Uploaded CPython 3.11 macOS 13.0+ ARM64

fapyc-0.3.7-cp310-cp310-win_amd64.whl (804.4 kB view details)

Uploaded CPython 3.10 Windows x86-64

fapyc-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (827.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

fapyc-0.3.7-cp310-cp310-macosx_13_0_x86_64.whl (518.2 kB view details)

Uploaded CPython 3.10 macOS 13.0+ x86-64

fapyc-0.3.7-cp310-cp310-macosx_13_0_arm64.whl (474.3 kB view details)

Uploaded CPython 3.10 macOS 13.0+ ARM64

fapyc-0.3.7-cp39-cp39-win_amd64.whl (811.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

fapyc-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (830.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

fapyc-0.3.7-cp39-cp39-macosx_13_0_x86_64.whl (518.9 kB view details)

Uploaded CPython 3.9 macOS 13.0+ x86-64

fapyc-0.3.7-cp39-cp39-macosx_13_0_arm64.whl (474.9 kB view details)

Uploaded CPython 3.9 macOS 13.0+ ARM64

fapyc-0.3.7-cp38-cp38-win_amd64.whl (811.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

fapyc-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (834.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

fapyc-0.3.7-cp38-cp38-macosx_13_0_x86_64.whl (519.1 kB view details)

Uploaded CPython 3.8 macOS 13.0+ x86-64

fapyc-0.3.7-cp38-cp38-macosx_13_0_arm64.whl (475.2 kB view details)

Uploaded CPython 3.8 macOS 13.0+ ARM64

fapyc-0.3.7-cp37-cp37m-win_amd64.whl (811.5 kB view details)

Uploaded CPython 3.7m Windows x86-64

fapyc-0.3.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (807.9 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

fapyc-0.3.7-cp37-cp37m-macosx_13_0_x86_64.whl (518.3 kB view details)

Uploaded CPython 3.7m macOS 13.0+ x86-64

fapyc-0.3.7-cp37-cp37m-macosx_13_0_arm64.whl (474.5 kB view details)

Uploaded CPython 3.7m macOS 13.0+ ARM64

fapyc-0.3.7-cp36-cp36m-win_amd64.whl (815.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

fapyc-0.3.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (793.3 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

fapyc-0.3.7-cp36-cp36m-macosx_13_0_x86_64.whl (515.1 kB view details)

Uploaded CPython 3.6m macOS 13.0+ x86-64

fapyc-0.3.7-cp36-cp36m-macosx_13_0_arm64.whl (471.2 kB view details)

Uploaded CPython 3.6m macOS 13.0+ ARM64

File details

Details for the file fapyc-0.3.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fapyc-0.3.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 804.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for fapyc-0.3.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f39566ac2ee8e3072e4defd92266dc1a9c4627e99fa28da23386da8230e5736f
MD5 228b9d2b4566b63e1306531b653f364e
BLAKE2b-256 73ce39a0b4d92f631372fc92b21a62c9d459f0de8e59ec4a3435cd7682034700

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99f52687e1fa4640f7b4007ea320f23672642eb2550c06b3e7a4c00bb0bf94e0
MD5 ad0aad0e7a9e0200703cfef308c65b3b
BLAKE2b-256 b3e7a3300c755f745899b6cb7ff21f7ea0c85717ef45c508a0acf4ec55ec3af2

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 8b3511f2df2d627fc9d3ab5cbaf438e33abce9b94797deceddf6437e868f8ce0
MD5 61b7798a629b8a92c6ad0ee4d967c5a1
BLAKE2b-256 fd607fcebfca2991833104111fdc980446a023e4618cbbe6376171a2f3963723

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d6ddd2dd4569f876d47700a5b13d57a726f8921f72436d90e76548e85cfaa3a6
MD5 38b10be9f8cd2f2ae6f75ab07c4c8084
BLAKE2b-256 f96ee1b97657df54f70e608a43251840a24a4a32899cb032df4d6e2b2baf040a

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fapyc-0.3.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 804.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for fapyc-0.3.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2c70395b9b3910015c457b5f6a7ec475a00de6ef940b31885b4bc8f1d3e59cda
MD5 73497ace015f3cffd3750884d2d117b8
BLAKE2b-256 1cd79bee0803a52b39e2181699fe1cdfd61116a0fde88f83a03e373c5d9af8be

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2e06fe26aa9773ef7005ae3297db187c966fe016aaccee2ac80c4c62c4c449d
MD5 93f960800403dc5009140fd8985d8a4b
BLAKE2b-256 f33ea11c828524ede8d2d8e8f939ef089504f1edf9674f8cd5593f85c1fbf65a

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 960265b14138629f7cfabf6849a8dd46709dd24c9b4704f09821ce804e2b65b3
MD5 209efcfc9251a2355f567243a9db2064
BLAKE2b-256 35ce10e122d6628eeb75acfc216d53ce97291c015e69d06085960dda8a55c36c

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e39b4984a5755d3a53c22142a397587f364923baa1d50335b863fbe74fac3cb1
MD5 6b4606bcfdf4e1afa945ee9e0b4ac9a4
BLAKE2b-256 2a609308eeaaac58b4912c1eb909f57639992654d349102a30d05cd8c099d337

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fapyc-0.3.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 804.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for fapyc-0.3.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b2ad2ff5bd72362808ab94f107d07bd9e5f75081071a2f74321cb70099d55b4d
MD5 600e6cebd41f67a9dde69862ad756503
BLAKE2b-256 0ab6ccfee98b974e4193bcbca26016ea9deac316f89e05e0e10e0db006ccb2ed

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 06bd4f1cc496488347900dd101b4fbf58805754b177e3035969699df45cdfa60
MD5 16e9e7193fac67443524a330f9a3cc60
BLAKE2b-256 19620cba9e26e325d7b5e9356e618af5d7d6c1ed7210a6f48913bf7a2ef5ea05

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e13e777d42c1f58a6491bd96601a45fa0bbadbd30648562429b183313f71362b
MD5 dde8ab4e825f25d839027952eef00d2b
BLAKE2b-256 b2f24ceec7ba0e6c7529473a44743a9fa6cdae7ec36fd4dab4bd6abcc037a58b

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 23e1618157aa72cb0a3271bc4355220a25993b4b805826083970e9eae6608c22
MD5 62bc1116d942cc18a4b6eed75ee2dd7f
BLAKE2b-256 06f9464f992a6f524e29dde7a60503407b8ef8a22a52e7f2cd86ee1d17fca6f9

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fapyc-0.3.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 811.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for fapyc-0.3.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6bb0bc616c55a07023c742abc2d77a313660a57e7ef7fe22b741b8d0a96419e6
MD5 9f040de28f2554edfc8cbc97b81ad8dd
BLAKE2b-256 7af95af732c688ac4bb68802e723f15eb1906e1a2f240910e70199354138c26d

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f26fa86b5b82249fac319d5ae49c97249f60dafd995e74822ddd126391546de3
MD5 cd4b130a6745c7219ba656be5e1fa3b6
BLAKE2b-256 474231530356f6b6a45975e638094c332ffbaecb97e8d11fdbdabb6b7598bb4f

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 fa6bfc0e4318c42c2a6177b974eeee90a9a78dc2814c6522ca5d173cbd6cec1c
MD5 c9ec007bf74106568288f8a42713cc3b
BLAKE2b-256 75b7382d449cc468cdc274761df5c8fdef1b851a911b4c30342627f737cc2256

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp39-cp39-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp39-cp39-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7d50a035e77d05b82c2b67196d01e610ff28b64bf5390e4aecb4c5f4a651365c
MD5 6149c330f5874d7f7c8b64dc8193702b
BLAKE2b-256 a14f5a719e64b50fceb08c0f3c7d7fa0da80fa468bde9355128fa3ffd53af9bb

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: fapyc-0.3.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 811.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for fapyc-0.3.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 76090e3f56c3bd336a0fd3ad0e7d360782a73f237ea32845e1387dba67659901
MD5 5b589d2e3cd6ef7070cdce611ffd0467
BLAKE2b-256 2153ae377f13e9c67167cdbba2c601baec15bb9a36b2e0a0c527c8e543f5e814

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b41a5baf7d27853623642582c4c4eea716f38143c72ed980ec25bdc2b54317b1
MD5 2675ccfc8171b7593db0b7b316671e19
BLAKE2b-256 d92849380fead21edf582e8d3e0701f6d502093d6da81b1985bc6cea90e1e6bf

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp38-cp38-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 75730cadf20c35221b62f462bf8047172464752dc70e5788d65e28aacebe3d72
MD5 029c673276c7562c2aa989ebf4752199
BLAKE2b-256 1e90009cda96b1d020cf936de2caff6cb79ec4b329793ec627e591027935e5c8

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp38-cp38-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp38-cp38-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 09fe46fd28e4bb854556e4a5fcf489fed192c82e7f23d29bb175014d4c883522
MD5 c2f92913d3d1653b0d2eeb23e5cfeec3
BLAKE2b-256 77308c3219af230c52291d4b6006d08d9f46ebcb9bad756e0f4ec0398826cbaf

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: fapyc-0.3.7-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 811.5 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for fapyc-0.3.7-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8a50f3ec7cd4ea7a3de468cc4b75051be479739680d8f3cca085da7bc18936c4
MD5 0f94ae75d05e6e35611a0e078eacb4a4
BLAKE2b-256 67dd4844351560ae8ffe516483ac3ab609e4daaf3f1a51a59229b6c2aa5f4551

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5914e09fec68ee5323bf0f8082e4ca8d2d3cf08646938b37743a1c92b7e047d
MD5 c2eb606a7ebcf388fffab904bca57cce
BLAKE2b-256 2694295840971dae7039aba3b21e25972177b10b5e860d4419efc0bda503d722

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp37-cp37m-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 9d1bede0528ab9eac48b0a2b21104dfc2a344ae9a3bc9ca2ca57d1c42249301c
MD5 e763b4107008b5757fc05a303acaaa71
BLAKE2b-256 adfd175abc2d2a2154f9e4a1e0cd92b3f08f846f3400e9b95dfd7f0516b1c316

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp37-cp37m-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp37-cp37m-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d1bddabe7f5e16678d11589bb447e41b6ccde3000363430f924285a85cc38c0a
MD5 3d80bd10e5209f7f556573b318371f18
BLAKE2b-256 ad510f125ed9bed714004c96f472dd2d5c6bfe580d0c9a9d7f29bd7891858e38

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: fapyc-0.3.7-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 815.7 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for fapyc-0.3.7-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 661ce2925df4cca3ae1ea494cd26ff2f1697f6e880889a65b2d5574d8ac3f60f
MD5 4be8edbeddb5f44d52ae453544fc79fc
BLAKE2b-256 81771e020ddb8e7bacac890d650d7a0e64f4e96b6517187052e252a1393ebdc0

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 047bdb862aff27b24016fab2bb1c59383de7fcdab10bd05fbcc1dd4a285f2e46
MD5 0a83af3f920ce26a33397d43ea56d88f
BLAKE2b-256 8578adae239de3b0ab73e907b811ad24158187c511be1270aad92792e5c2fae2

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp36-cp36m-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0db2bed7373e23485af31cbeafe1d52cc349539a7b353ae16982772196d011b2
MD5 c1b4374c6ba2a43f37eb95685b4a336a
BLAKE2b-256 672b127a39ae05073bbb30625b3270ca89b07d033a320fdac2e5eccd58c00839

See more details on using hashes here.

File details

Details for the file fapyc-0.3.7-cp36-cp36m-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fapyc-0.3.7-cp36-cp36m-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 355352d11950244729055f856ef7ffcbc1f649eaf0bdbd77ffdf757383fb9775
MD5 f9f66e586a241c9fe3a249d5f1bd598f
BLAKE2b-256 261484d1ed904afbe02379779d73a044ee1a2c1e4455d5a2b86dbff68c439672

See more details on using hashes here.

Supported by

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