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.4.0-cp312-cp312-win_amd64.whl (809.6 kB view details)

Uploaded CPython 3.12 Windows x86-64

fapyc-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (904.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

fapyc-0.4.0-cp312-cp312-macosx_13_0_x86_64.whl (526.3 kB view details)

Uploaded CPython 3.12 macOS 13.0+ x86-64

fapyc-0.4.0-cp312-cp312-macosx_13_0_arm64.whl (481.5 kB view details)

Uploaded CPython 3.12 macOS 13.0+ ARM64

fapyc-0.4.0-cp311-cp311-win_amd64.whl (809.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

fapyc-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (898.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

fapyc-0.4.0-cp311-cp311-macosx_13_0_x86_64.whl (525.5 kB view details)

Uploaded CPython 3.11 macOS 13.0+ x86-64

fapyc-0.4.0-cp311-cp311-macosx_13_0_arm64.whl (481.0 kB view details)

Uploaded CPython 3.11 macOS 13.0+ ARM64

fapyc-0.4.0-cp310-cp310-win_amd64.whl (809.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

fapyc-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (863.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

fapyc-0.4.0-cp310-cp310-macosx_13_0_x86_64.whl (524.6 kB view details)

Uploaded CPython 3.10 macOS 13.0+ x86-64

fapyc-0.4.0-cp310-cp310-macosx_13_0_arm64.whl (480.5 kB view details)

Uploaded CPython 3.10 macOS 13.0+ ARM64

fapyc-0.4.0-cp39-cp39-win_amd64.whl (816.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

fapyc-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (865.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

fapyc-0.4.0-cp39-cp39-macosx_13_0_x86_64.whl (525.3 kB view details)

Uploaded CPython 3.9 macOS 13.0+ x86-64

fapyc-0.4.0-cp39-cp39-macosx_13_0_arm64.whl (481.0 kB view details)

Uploaded CPython 3.9 macOS 13.0+ ARM64

fapyc-0.4.0-cp38-cp38-win_amd64.whl (816.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

fapyc-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (871.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

fapyc-0.4.0-cp38-cp38-macosx_13_0_x86_64.whl (525.6 kB view details)

Uploaded CPython 3.8 macOS 13.0+ x86-64

fapyc-0.4.0-cp38-cp38-macosx_13_0_arm64.whl (481.4 kB view details)

Uploaded CPython 3.8 macOS 13.0+ ARM64

fapyc-0.4.0-cp37-cp37m-win_amd64.whl (816.3 kB view details)

Uploaded CPython 3.7m Windows x86-64

fapyc-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (840.9 kB view details)

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

fapyc-0.4.0-cp37-cp37m-macosx_13_0_x86_64.whl (524.7 kB view details)

Uploaded CPython 3.7m macOS 13.0+ x86-64

fapyc-0.4.0-cp37-cp37m-macosx_13_0_arm64.whl (480.5 kB view details)

Uploaded CPython 3.7m macOS 13.0+ ARM64

fapyc-0.4.0-cp36-cp36m-win_amd64.whl (820.3 kB view details)

Uploaded CPython 3.6m Windows x86-64

fapyc-0.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (826.7 kB view details)

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

fapyc-0.4.0-cp36-cp36m-macosx_13_0_x86_64.whl (521.5 kB view details)

Uploaded CPython 3.6m macOS 13.0+ x86-64

fapyc-0.4.0-cp36-cp36m-macosx_13_0_arm64.whl (476.6 kB view details)

Uploaded CPython 3.6m macOS 13.0+ ARM64

File details

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

File metadata

  • Download URL: fapyc-0.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 809.6 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.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2e099f91657f28f104cad3f431c7f1edf6585de671dddadf5aded1a8a6da2e24
MD5 076497b24e0368a9eda2027f5202e6ac
BLAKE2b-256 74bd8f0daf1c4d108572ba60e94fe83e4b68afe219fad677c82cff3d58f44feb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd344d012d58dc8e6d4fb024eecea7f684cd60a0678739600de5605557fde425
MD5 73853c3e62ffd775107936e2b63253fa
BLAKE2b-256 a80f3ad666d274ae05c5485f8e58cf4def2c34ba3511f5672fb8dd80832893ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0a80b58dbea4891b6c2cb4f4f153e66e6c8c7695fbbe71a0bfdf712131ad8dd2
MD5 76b0518a8f489b342bc3df03819709b2
BLAKE2b-256 d203bd5a9d7022c2c590e6835484148df26de863ed83e60cc58f4d65c5877020

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e86629c48b0bcfc8902803cf5948b4ea6f6bb3b25953bc4a90ba1982db1a2677
MD5 4e6e09cd45559f541c17f79c12152190
BLAKE2b-256 0fe1cdb88f801a7f52ada9601fb87363c3caa9c08cda510c83d37fb1e6deda62

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fapyc-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 809.3 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.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 522a8e94242f9bd762dcf981fd724e83a194199713ede78a7abf8b8fba476c28
MD5 1565d2d4778b28f563347dd396d5ada5
BLAKE2b-256 cb30dac4f9aff9c3b440f69a42e1d7940d6424383a86f2618b5693ea680cb008

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 029eb6a83a749de43336e507efbecc4911c6ddf62fb15fbfe2968d2a950f65a7
MD5 eaf6999e25872f8abb6c4b2df4720d47
BLAKE2b-256 945a1094281e7f6d08d6f4f155b97d5aa1d819a037adab585d197699bfb822d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6f31e632d2180bfb943afc65effdbb8e6f6717378e9f14d382c125509fe3db6d
MD5 6eeef1192ec9ae8d56454fa0c542aa2f
BLAKE2b-256 b962b35b30ef768b583f2321eb9943f482665d6f32b9b9dfa5cca7db3c125edc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 90808d903129e6f2f0b6f953362be42a36a3675436e11b5b21883c41b34fc6ae
MD5 5116e8950bfedf82ef284f42d1b3ac33
BLAKE2b-256 1f9d503cdb9e33969e4762315800d032b50d82ad1e5e29a8345c300d2e89ca2e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fapyc-0.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 809.3 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.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7736e66a24373bea88558d430185ed8edbde2f88497c6c1430112becb7fc20e1
MD5 74830ade5a14251b15eedec4dcc4c486
BLAKE2b-256 ddb10c1254e419cccfee84bb6e5f7aef6fd3af742b57090115896f8a9c3bdc92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2685ddbff0d6ec38df8c13e1ae4f39a564689a498f594342d775125bbd10ee4
MD5 610f5e8b6775d5ae23dd21e1dc807068
BLAKE2b-256 1c3979d2c1e590e337c35e00f9791195782d2f985cc6360f2fce204afdfd83e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 587bbad78c4c121adb7057d774854347b544f7251ac8addf8323c1e34de3fb08
MD5 9e6532015b136045d7d245f6451ca149
BLAKE2b-256 f6ee8b7280604043cabd7b71889f22351f800d1de2b49999496566aad3c49267

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 845f892c4d42de9bfd53653c4deac0221334222d78de519f3ec5c228027734c4
MD5 bbd2917a8cb6575f8cd8cfa383ad3a22
BLAKE2b-256 9ebb1a5465264ccc29c3d16d9bda11d269af18912984e40c226cbb3aeb033b88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fapyc-0.4.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 816.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.4.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0817265bd503b41367392ca5b7283fdfbcb8b45adf7459b3ffc8bbb4c43ddb8e
MD5 f386b297d89eaf1c44fd2174da19bd83
BLAKE2b-256 7fb26a0ec403f1b05f0b03f8674222a0be7f5e0a2fe166cd70659f0cd75878c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8bbcf4f371ed011faffa21580a45e2bd7df9ce9b740d39b090a2b9e46de9d97
MD5 2f6e56936ed635f48f3f751d0de9b122
BLAKE2b-256 b0df37d5e7ee325c3d19903838be810e24306db26a54082da37c9667da614044

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 8c3f8954aa30819685990f4fccfdabada7af381ed989859d38924c7bba8b45b2
MD5 aff7a40e65b7b77daee3149e4c9b6cb1
BLAKE2b-256 7f8ebdfa281d4510290ce7120d00aee4c7d9059b5ea51c6e07ce662aa2684b02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp39-cp39-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 735131b36ed4c62b025fa489a65d126a71534d34d2b011306483c8be7b373c8c
MD5 8183257e7f1ff17c78f35a64e16da579
BLAKE2b-256 43bc61af14a9c6e73ff9ffed20262b22bc49881d6c03c42833dd0fb53d5f4969

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fapyc-0.4.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 816.8 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.4.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9c5eb37d4ae0a9104e98d9d0a5b047debcd79a1cb3a195cffca8e33b04001c08
MD5 a0cfcf87f08d34292b4a5b5363bd57e0
BLAKE2b-256 c2baa5af0634824466010400f8ee5e58936b1f9ecae45cb7f14e66b10181ac95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 053cbbe26eb5bff13d02edc7aa8ddad17294583b679c28490c20186886e542b1
MD5 8fab000dd3f57e1e52b0e4d97fa19dc1
BLAKE2b-256 60cc85610b5be8f277c0e1693a25ba9f895a30bf8100a4b1dcb81bd050693136

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a3f419368a813c6b5773f7faad0963e05e8a1bb62ce2d0d93fa135cfbcf4ef11
MD5 5a9bb665e5b6678693895659fb163b89
BLAKE2b-256 56305ef20e7d4264c07c4b4dc4976222053164c7c39158efa2788fb0e15c1b65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp38-cp38-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 bfb43a7faf8f229276caf218b38f4157f80342d302fd2daad64d5fb6dd1c2c1f
MD5 9709741acdd482cf9565f08d257297d3
BLAKE2b-256 8e879d295d30950f34ad27319ac8afc6ae4f37841a1fc24a4fe8dc0ee22bab46

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fapyc-0.4.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 816.3 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.4.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 7467e1c4b99651326b3c30fc004aab31130892d3e3d6d0d7acd646b9ec7c1f10
MD5 3d62ae6427ecb8fcfb95e72717b6c961
BLAKE2b-256 895fdc92c1a44d68c14eadf17ef1b63e7203dd99c9e8304e5c0f5bfb9d4ebb92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 342716dd37f383029bbf96d98d138866a5d962f21e55d35752a98009084ab979
MD5 c158cb9e38feffdc7a25a26a079840d6
BLAKE2b-256 fa482e7080484332f4ded775c1e2a65cd1feff790006c9d28d66fe54a5c95796

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f57e844d6c09809736413d0c92ba28d95ac3da2c11fdd3bf1b9125325420c804
MD5 07d2eddb5976da4258ab6173076edb9c
BLAKE2b-256 89018ff4c1871114fa6bd1b6cc1cfbde9a0aabd9b252d4b1890e3ef843fbd795

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp37-cp37m-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3cbaaf4837d861be53cf33786c7a2d42c9ea45a70ddf52c9a5f2010c1a23cff9
MD5 6c2b34242ee45630d6151709b600e5ff
BLAKE2b-256 94bc6169e212d983ea29eb13fc5cf29335f6ddfd8e214ae39eceea98f082dfad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fapyc-0.4.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 820.3 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.4.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 66c7697cc1c9835a3b42b80b574da04e247a382795c8d76489a602ab5f908d24
MD5 a37e5ea9b00724b97b2e724be30d9f5d
BLAKE2b-256 487d70497ba98bf71e0e48465358a9e9e5e37480c25cd319c7a3dc0c37a797b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e40c7369d7f0b53e2fd664fce517a46560d2718147bfb3a8775c101565cf222
MD5 dfe837e6431c5296c92ab0fc7b3839b4
BLAKE2b-256 c47df868d59d3ad71873b79fcbd420c522ef014d7b7cc26e003a033ded852098

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d5b347ed9c56b554b59399f3a47d954f4d107b117a33577fb29d32cffed61a61
MD5 2214586ab8ce686512a12f58a81d8fa1
BLAKE2b-256 73965cf562de6c862f8fd4e6951797357e2e2368ae9c5fceae5a349fe48f072a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fapyc-0.4.0-cp36-cp36m-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e26cc0db9cb3cd1d1e43e33df47f7e7b3325b3ee9dbdd0e13bb87fc9e5125e5a
MD5 2c10540925e85dcb4071413d0dc0f037
BLAKE2b-256 920f803fdac4130f04d826aef4bbc1112e68bc160b22535b41fb4becd2a59a7e

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