Skip to main content

An efficient CPU implementation of farthest point sampling (FPS) for point clouds.

Project description

fpsample

pypi package version badge python version badge license badge star badge

Python efficient farthest point sampling (FPS) library, 100x faster than numpy implementation.

fpsample is coupled with numpy and built upon Rust pyo3 bindings. This library aims at achieving the best performance for FPS in single-threaded CPU environment.

🎉 PyTorch version with native multithreading, batch ops, Autograd and CUDA supports is in pytorch_fpsample. 🎉

Installation

Install from PyPI

numpy>=1.16.0 is required. Install fpsample using pip:

pip install -U fpsample

NOTE: Only 64 bit package provided.

If you encounter any installation errors, please make an issue and try to compile from source.

Build from source

The library is built using maturin. Therefore, rust and cargo are required for compiling.

pip install -r requirements.txt

C++ compiler must support C++14. For example, gcc>=8 or clang>=5.

Build the library and install using:

maturin develop --release

Compile options

For macos users, if the compilation fails to link libstdc++, try to pass FORCE_CXXSTDLIB=c++ as an environment variable.

For users that want larger maximum dimension support (currently set to 8), modify build_info.rs and compile.

Direct porting of QuickFPS

See src/bucket_fps/c_warpper.cpp and src/bucket_fps/_ext/ for details.

Usage

import fpsample
import numpy as np

# Generate random point cloud
pc = np.random.rand(4096, 3)
## sample 1024 points

# Vanilla FPS
fps_samples_idx = fpsample.fps_sampling(pc, 1024)

# FPS + NPDU
fps_npdu_samples_idx = fpsample.fps_npdu_sampling(pc, 1024)
## or specify the windows size
fps_npdu_samples_idx = fpsample.fps_npdu_sampling(pc, 1024, k=64)

# FPS + NPDU + KDTree
fps_npdu_kdtree_samples_idx = fpsample.fps_npdu_kdtree_sampling(pc, 1024)
## or specify the windows size
fps_npdu_kdtree_samples_idx = fpsample.fps_npdu_kdtree_sampling(pc, 1024, k=64)

# KDTree-based FPS
kdtree_fps_samples_idx = fpsample.bucket_fps_kdtree_sampling(pc, 1024)

# Bucket-based FPS or QuickFPS
kdline_fps_samples_idx = fpsample.bucket_fps_kdline_sampling(pc, 1024, h=3)
  • FPS: Vanilla farthest point sampling. Implemented in Rust. Achieve the same performance as numpy.
  • FPS + NPDU: Farthest point sampling with nearest-point-distance-updating (NPDU) heuristic strategy. 5x~10x faster than vanilla FPS. Require dimensional locality and give sub-optimal answers.
  • FPS + NPDU + KDTree: Farthest point sampling with NPDU heuristic strategy and KDTree. 3x~8x faster than vanilla FPS. Slightly slower than FPS + NPDU. But DOES NOT require dimensional locality.
  • KDTree-based FPS: A farthest point sampling algorithm based on KDTree. About 40~50x faster than vanilla FPS.
  • Bucket-based FPS or QuickFPS: A bucket-based farthest point sampling algorithm. About 80~100x faster than vanilla FPS. Require an additional hyperparameter for the height of the KDTree. In practice, h=3 or h=5 is recommended for small data, h=7 is recommended for medium data, and h=9 for extremely large data.

NOTE: In most cases, Bucket-based FPS is the best choice, with proper hyperparameter setting.

Determinism

For deterministic results, fix the first sampled point index by passing the start_idx parameter.

kdline_fps_samples_idx = fpsample.bucket_fps_kdline_sampling(pc, 1024, h=3, start_idx=0)

OR set the random seed before calling the function.

np.random.seed(42)

Performance

Setup:

  • CPU: Intel(R) Core(TM) i9-10940X CPU @ 3.30GHz
  • RAM: 128 GiB
  • SYSTEM: Ubuntu 22.04.3 LTS

Run benchmark:

pytest bench/ --benchmark-columns=mean,stddev --benchmark-sort=mean

Results:

---------------- benchmark '1024 of 4096': 7 tests -----------------
Name (time in ms)                   Mean            StdDev
--------------------------------------------------------------------
test_bucket_fps_kdline_4k_h5      1.9469 (1.0)      0.0354 (1.54)
test_bucket_fps_kdline_4k_h3      2.0028 (1.03)     0.0750 (3.27)
test_fps_npdu_4k                  3.3361 (1.71)     0.0229 (1.0)
test_bucket_fps_kdline_4k_h7      3.6899 (1.90)     0.0548 (2.39)
test_bucket_fps_kdtree_4k         6.5072 (3.34)     0.4018 (17.52)
test_fps_npdu_kdtree_4k          12.3689 (6.35)     0.0380 (1.66)
test_vanilla_fps_4k              14.1073 (7.25)     0.4171 (18.20)
--------------------------------------------------------------------

----------------- benchmark '4096 of 50000': 7 tests -----------------
Name (time in ms)                     Mean            StdDev
----------------------------------------------------------------------
test_bucket_fps_kdline_50k_h7      25.7244 (1.0)      0.5605 (1.0)
test_bucket_fps_kdline_50k_h5      30.0820 (1.17)     0.5973 (1.07)
test_bucket_fps_kdline_50k_h3      59.9939 (2.33)     1.0208 (1.82)
test_bucket_fps_kdtree_50k         98.2151 (3.82)     5.1610 (9.21)
test_fps_npdu_50k                 129.3240 (5.03)     0.5638 (1.01)
test_fps_npdu_kdtree_50k          287.4457 (11.17)    8.5040 (15.17)
test_vanilla_fps_50k              794.4958 (30.88)    5.2105 (9.30)
----------------------------------------------------------------------

------------------- benchmark '50000 of 100000': 7 tests -------------------
Name (time in ms)                         Mean              StdDev
----------------------------------------------------------------------------
test_bucket_fps_kdline_100k_h7        247.6833 (1.0)        4.8640 (6.85)
test_bucket_fps_kdline_100k_h5        393.8612 (1.59)       3.8099 (5.37)
test_bucket_fps_kdtree_100k           419.4466 (1.69)       8.5836 (12.09)
test_bucket_fps_kdline_100k_h9        437.0670 (1.76)       2.8537 (4.02)
test_fps_npdu_100k                  2,990.6574 (12.07)      0.7101 (1.0)
test_fps_npdu_kdtree_100k           4,236.8786 (17.11)      3.3208 (4.68)
test_vanilla_fps_100k              20,131.7747 (81.28)    155.4407 (218.91)
----------------------------------------------------------------------------

Reference

The nearest-point-distance-updating (NPDU) heuristic strategy is proposed in the following paper:

@INPROCEEDINGS{9919246,
  author={Li, Jingtao and Zhou, Jian and Xiong, Yan and Chen, Xing and Chakrabarti, Chaitali},
  booktitle={2022 IEEE Workshop on Signal Processing Systems (SiPS)},
  title={An Adjustable Farthest Point Sampling Method for Approximately-sorted Point Cloud Data},
  year={2022},
  volume={},
  number={},
  pages={1-6},
  doi={10.1109/SiPS55645.2022.9919246}
}

Bucket-based farthest point sampling (QuickFPS) is proposed in the following paper. The implementation is based on the author's Repo. To port the implementation to other C++ program, check this for details.

@article{han2023quickfps,
  title={QuickFPS: Architecture and Algorithm Co-Design for Farthest Point Sampling in Large-Scale Point Clouds},
  author={Han, Meng and Wang, Liang and Xiao, Limin and Zhang, Hao and Zhang, Chenhao and Xu, Xiangrong and Zhu, Jianfeng},
  journal={IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems},
  year={2023},
  publisher={IEEE}
}

Thanks to the authors for their great work.

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

fpsample-0.3.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl (329.5 kB view details)

Uploaded PyPy manylinux: glibc 2.28+ ARM64

fpsample-0.3.3-cp312-none-win_amd64.whl (175.3 kB view details)

Uploaded CPython 3.12 Windows x86-64

fpsample-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl (331.3 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

fpsample-0.3.3-cp312-cp312-manylinux_2_28_s390x.whl (368.9 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ s390x

fpsample-0.3.3-cp312-cp312-manylinux_2_28_ppc64le.whl (367.1 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ ppc64le

fpsample-0.3.3-cp312-cp312-manylinux_2_28_armv7l.whl (319.1 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ ARMv7l

fpsample-0.3.3-cp312-cp312-manylinux_2_28_aarch64.whl (329.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ ARM64

fpsample-0.3.3-cp312-cp312-macosx_11_0_arm64.whl (272.4 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

fpsample-0.3.3-cp312-cp312-macosx_10_12_x86_64.whl (279.8 kB view details)

Uploaded CPython 3.12 macOS 10.12+ x86-64

fpsample-0.3.3-cp311-none-win_amd64.whl (174.6 kB view details)

Uploaded CPython 3.11 Windows x86-64

fpsample-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl (332.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

fpsample-0.3.3-cp311-cp311-manylinux_2_28_s390x.whl (380.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ s390x

fpsample-0.3.3-cp311-cp311-manylinux_2_28_ppc64le.whl (367.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ppc64le

fpsample-0.3.3-cp311-cp311-manylinux_2_28_armv7l.whl (319.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARMv7l

fpsample-0.3.3-cp311-cp311-manylinux_2_28_aarch64.whl (329.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARM64

fpsample-0.3.3-cp311-cp311-macosx_11_0_arm64.whl (273.0 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

fpsample-0.3.3-cp311-cp311-macosx_10_12_x86_64.whl (280.3 kB view details)

Uploaded CPython 3.11 macOS 10.12+ x86-64

fpsample-0.3.3-cp310-none-win_amd64.whl (174.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

fpsample-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl (332.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

fpsample-0.3.3-cp310-cp310-manylinux_2_28_s390x.whl (380.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ s390x

fpsample-0.3.3-cp310-cp310-manylinux_2_28_ppc64le.whl (367.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ppc64le

fpsample-0.3.3-cp310-cp310-manylinux_2_28_armv7l.whl (319.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARMv7l

fpsample-0.3.3-cp310-cp310-manylinux_2_28_aarch64.whl (329.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARM64

fpsample-0.3.3-cp310-cp310-macosx_11_0_arm64.whl (272.9 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

fpsample-0.3.3-cp310-cp310-macosx_10_12_x86_64.whl (280.3 kB view details)

Uploaded CPython 3.10 macOS 10.12+ x86-64

fpsample-0.3.3-cp39-none-win_amd64.whl (174.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

fpsample-0.3.3-cp39-cp39-manylinux_2_28_x86_64.whl (332.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

fpsample-0.3.3-cp39-cp39-manylinux_2_28_s390x.whl (381.0 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ s390x

fpsample-0.3.3-cp39-cp39-manylinux_2_28_ppc64le.whl (367.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ppc64le

fpsample-0.3.3-cp39-cp39-manylinux_2_28_armv7l.whl (319.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ARMv7l

fpsample-0.3.3-cp39-cp39-manylinux_2_28_aarch64.whl (329.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ARM64

fpsample-0.3.3-cp39-cp39-macosx_11_0_arm64.whl (272.8 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

fpsample-0.3.3-cp39-cp39-macosx_10_12_x86_64.whl (280.3 kB view details)

Uploaded CPython 3.9 macOS 10.12+ x86-64

fpsample-0.3.3-cp38-none-win_amd64.whl (174.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

fpsample-0.3.3-cp38-cp38-manylinux_2_28_x86_64.whl (331.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

fpsample-0.3.3-cp38-cp38-manylinux_2_28_s390x.whl (380.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ s390x

fpsample-0.3.3-cp38-cp38-manylinux_2_28_ppc64le.whl (367.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ppc64le

fpsample-0.3.3-cp38-cp38-manylinux_2_28_armv7l.whl (319.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ARMv7l

fpsample-0.3.3-cp38-cp38-manylinux_2_28_aarch64.whl (329.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ARM64

fpsample-0.3.3-cp37-none-win_amd64.whl (174.4 kB view details)

Uploaded CPython 3.7 Windows x86-64

fpsample-0.3.3-cp37-cp37m-manylinux_2_28_x86_64.whl (331.8 kB view details)

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

fpsample-0.3.3-cp37-cp37m-manylinux_2_28_s390x.whl (380.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.28+ s390x

fpsample-0.3.3-cp37-cp37m-manylinux_2_28_ppc64le.whl (367.7 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.28+ ppc64le

fpsample-0.3.3-cp37-cp37m-manylinux_2_28_armv7l.whl (319.5 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.28+ ARMv7l

fpsample-0.3.3-cp37-cp37m-manylinux_2_28_aarch64.whl (329.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.28+ ARM64

File details

Details for the file fpsample-0.3.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b01e6bad0713020c6a76e952f4df48e617598dbf5730cb7e7e455f62a5328855
MD5 7a53809e2bfcb5066547d50d83019a79
BLAKE2b-256 53dbd67288ced8f4fae37d937045b18542dc1c45b6255ab0165d3f654ef3b338

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 c7acfeed3c382b2ce8c4b8383d1f548df15d30c4586701091ea511e8cc7817c8
MD5 02b3f56f6952ee663b0440622c5c7789
BLAKE2b-256 36ae9454eaaacda5b08d29b1983a8d5cdfcb3a03db2cf7e887b5417e0742d129

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 178ea8ddc9a6e6da4d578ff0337087cbe462187f81be5761de7828b3422c6f50
MD5 78446ab9bbc25062077510cb632edc95
BLAKE2b-256 0760c108359f1a415b666bb0158535e2f45754af93c3e662fd08ae6c672577ea

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp312-cp312-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp312-cp312-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 2880e47e49b6dc8d46bb21e69d8ca39b4c64c43646b09d5d57f96202fc1245c2
MD5 1d5e7ab905d774c3fac3fa83d9b73739
BLAKE2b-256 c57b873d9f8d834cdcdd49ca0971d0ec9fdb0da9d8de122b71ba5bfbad6a1dee

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp312-cp312-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp312-cp312-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 3fdc73eea6845aa70636d9196bd3f3741f9f3ff138d0a1067d4887cf3a67c907
MD5 e47393f3e8fc5e99eaf6da916c81b073
BLAKE2b-256 8154c9f2c099466667d64a06a543b74b45beb19dd92b9d72ee13de5d1886d89e

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp312-cp312-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp312-cp312-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 0fbcaa6036b34f0bfbad1b5c92644e332e424ae0162216a2b82f48cc4e4657bd
MD5 485f6b78b03e745b69675a7684482e43
BLAKE2b-256 d56dc31277698b5f7ff61495191dc4ad3a537ef76f84ea1ec3cbc551fb00fa3e

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cdd2c083d86907a6ca1d3f62d06c9d3d34447e18dfd89992edfe77e5190fee36
MD5 f0356fd7256c5e5bdaa267a0aa053117
BLAKE2b-256 766ca2280daaf7be142f9530765e659b998b9ef920e43ddf2907c7b85d0b1438

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f917d60ed0ca554a1509f247d7d52fe82f6b5cef7a1c0edcb48ffeb99433afb
MD5 0046931be1f3729b5ee385a6c9e331c5
BLAKE2b-256 b06f68be7ff6655b4e79531fb7bd6595e56afcc69495f277c48eb71b727f0c7e

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9a353ddf3a633ea684b929b49aebdb2a12155e0589d95d488fc55aa571b9bc1d
MD5 da3aba15035b9851c3a5dc312955c4e4
BLAKE2b-256 a48e01f0f797a5e40bf925e1561c4d087f39a59d147e6309b969c52c2dcf6451

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 4c741f4e8648bf192c427474352cef5a8a599df94e8a358505c1e5744c1f48a5
MD5 94cd9f3fc37f4eaa1661875bbbe801ef
BLAKE2b-256 7d3b250c57927df998ea27695794bd55f77b959e357af64eee46bf8fe9b64aec

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be912030603108eb32b92fedb5c6afe541b933ab5ed4d713190970e438b18ff6
MD5 78aa29ce65505976ca4225243840a8d0
BLAKE2b-256 23ad694fcd9d718621e6460b9fd1b4b960166c82e99324f712e3ceddf5010cbb

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp311-cp311-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp311-cp311-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 fb58bccac54090508e975c572d2c0fdce74038697e677a7d3b6b2401a29a7993
MD5 8704018ea08b75220c7e7f01a3b7c2a1
BLAKE2b-256 03d6ee0de175b5039653506359e29ec15804052f9ec55b6243da402705d09404

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp311-cp311-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp311-cp311-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 9d8c0441229090c332cb0a0d301475d0f9cb9d7f43916c399168f9439ba689b6
MD5 c7ea972aeb63f43b6ce48c631b37275c
BLAKE2b-256 60200c093f41f3f824baa2ab8f87362a6495c349cc6b26d68e0afb15e00d4c62

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp311-cp311-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp311-cp311-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 71c74b513f2133959a2ae6f9ebc0d75066d8608d2e5954a1fbf1a259df4d7d3d
MD5 433a70c3a60eb0717411c655dba4cc8d
BLAKE2b-256 8ff6240db1b5f07cefe61c71a9c8f48115cbfa1e3ca017a03b5a0fc94a621677

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1a42d58cbb587dbfb6d88a3219c615b2ed8d0ab30ea8c6ae2a1db6c6ad0f7092
MD5 12b9d478dbcf3c41ece291953d72cb06
BLAKE2b-256 b7de7ca96761007a87e52d43372e9db325210e560e3ca111c797b87d491b0a7b

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8fb107d1b5be2ddbd7266c4ffaa0050afdc9681426add63012293be73a39a34f
MD5 1b6ea193e96085c21965724f3ef99376
BLAKE2b-256 48f2683548b534fd92866bc776ed9576abbeb05062a7b04f18d132b148866715

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7df9af8c342dde55830fcc8372d2c41ae3c4ba2b521045abd35e63d0eecf42ce
MD5 ac5ba5fa38ed097a9346a9d63b436e5b
BLAKE2b-256 122d03014d733fcf5a56d470110beb9aaf9374498451d2b55d4ad03a27f78711

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 262fba32b2328e0c9f90d93b95e9e72784bb10a3effd1a4489eb790da1eb3642
MD5 4ad62b5878db4b26bb6d1866c3cc1f44
BLAKE2b-256 d2a9d22d2e87826352a065846949a39ce5ddeb61832b42a00c305beca06c16a0

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3721f6ca25c1327b3367c9a96107e6a38555e61fa0b4981b1ac89a56ef4d56f7
MD5 3dda9990a1a07517c58ae691d98874d1
BLAKE2b-256 d54080f36394f336a2f577d3acd1e3edad35fa7d9542afdca0635b38910f38cd

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp310-cp310-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp310-cp310-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 dfe49d87a757a6805cdfaef63885f84c90cf8e032e000d5921a356eb076c576d
MD5 eb84458e0e815ca44c07c60a3810a543
BLAKE2b-256 ad011a20d2181733e82131c928c8ce828793237a8bc136d89655ac936e5d4445

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp310-cp310-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp310-cp310-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 e13da0bc789b6cc84b58cda2cbec970da1b08498117d1be4ce2bfa3fe59b3a8a
MD5 d781bb47591cec0a9097c99e89e7fda3
BLAKE2b-256 847815e3ae5674fd5f80f6c8c1f91986ca05938c98281d95391fd3410b8ab3c2

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp310-cp310-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp310-cp310-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 837de2b94312320ae5998dc40e883ddebd2a632655a314b0356005977df9d764
MD5 f4e8dc609d63503511bb8fd7175c64d1
BLAKE2b-256 bbc54b898ae46ca7dc73064aa5be9d3bb1e6c31312acdd2ad751272d662693b7

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2f1cf977347ca5383edbb1d9a2c564b8fca81b58550ae4603d84fa916d95f80a
MD5 3b687675cf1dfc27fd43fd7aa7d7f9d1
BLAKE2b-256 13155b209493307a148e0dfc8602495ffd33c2660e36698ca4125f6303701148

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25cdc2c45813e65226d0a24dc7bf7d24eafaaa46e675ae06561e990facd3ce0c
MD5 f774c61cca897607914fc9f8d4ff333f
BLAKE2b-256 580ba474665d1a58550d88d51093c25cc63d24464d489b137d36c25eb26d912a

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 72a15c86ad38b1d834ba685141e59e9615e9b735eeb3602a278b311e3a9debeb
MD5 f13ce336f9b03e0b728f95c60d221ef1
BLAKE2b-256 a602d945739d029b4c5fa7f9bff1ea47dc82b7f5cb1ae3afe3f825deaec337a8

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 3bcba19dd2401990c3fbd32cc640ff8e131c36bfe42f7e6aad5b12ec256fea2b
MD5 94b289665ab16145308aad617f7baea1
BLAKE2b-256 f8234a3640e92f07afd2d38aa61298e5fd7067525594ca767fc078010c48903a

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ea65e05ca778fe841d0f3eee312a4e524d474b711bbaef2822718b552e6ec4ea
MD5 c747ba365b349585e0793c2123bd9752
BLAKE2b-256 c84dda61a96917d08e028367f9dc3d7acd05d549a2284e902f125ee7f5995f46

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp39-cp39-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp39-cp39-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 3f7e7428dbc3f11454047099d15e477a94b15f1a7c3ab750653f56cc560afa3c
MD5 ff36dd733c09ea5ba7d4523e305e078c
BLAKE2b-256 9e001d94f338ee2c33919e045f2a2ccd1221c925e1e00e93494de44087802e35

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp39-cp39-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp39-cp39-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 ae661ca340dff515f5d1be3145eb5324ff78ac241d8ebdba1c2a1c34c38e4284
MD5 f87dbe27a10605c587afd829cb1b1175
BLAKE2b-256 335823a69e367eba76e11da1d1f747419a8d4943efc4c28501fc95dceed9d76a

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp39-cp39-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp39-cp39-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 270b425fc28b0b330e33a0bfd0b0e702e7cfa5be25fa8c06a837c99a72d5ee6c
MD5 dcacc30a97a118c3b88c2c3dc8d5b08c
BLAKE2b-256 fb035299a5efc4d2c2328e45d518d8635c0fe4ce65e945a3c0923bc4ecff8aa0

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 15157056bbe3e1f3e82fb47540e67cf9d2f768081b15e27a35199a71b72215eb
MD5 b51923baccadd97874cea13443f51ad2
BLAKE2b-256 41e9373a38c178398b47a4c36d27ecba00d1efedc3f1d9f92168dc8a91038330

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2c4a24807d43872afc6c7af2d7bcb5c8d5e0aa9a86a6f37fd094634b745d5d1
MD5 971db87c50fdcb349474a305a2ae0f57
BLAKE2b-256 53310f9e637233e24882ecec553b8e7d4932afbf0b1c6a34d24b00586317b5d9

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5d489279d774918b1c3b2574d091b6b798dc0178d0a70d4bbad026431e1506bc
MD5 249c5d96c6682ee7e845f3b8224d6232
BLAKE2b-256 f75eade92a3a619b1f2214734687a3ad67dfd4434d29c81df795ce5ed9486fdb

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 1b3f7768882a3aae88572d509a28f8010e36821b6e837d9e27c14b64d8dec022
MD5 848cf6b36334f42e50fc2bcb9426d26e
BLAKE2b-256 644276149099b8c58948db4daf9f1b05ddff6ab904261d7fd0a22991a415e8db

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0b28f90d7965a8df94be14a90e2d62927b29fcb423fad10462d2bc5a7d43a28f
MD5 a6dc2df76891b4a13a4a187176427859
BLAKE2b-256 f3beb6ad7d303e251e7fd28db62b82686625dfbe701c1e83f23446606ec8b496

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp38-cp38-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp38-cp38-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 6de7a93e59487523537f08ebcf2dc5f01b2b6c0e9fe0d237cd732c2602805079
MD5 d846c0125de60710cc36f1584b54c1ab
BLAKE2b-256 aad68f32a7f94f6f2ba734e0b1e4dde3e7b6de3db761d73b95352b68e8aee885

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp38-cp38-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp38-cp38-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 14e54a7662e57f4e52f7682a2225e2596275da95fbf50ef879f4403b9c629d94
MD5 44e4166bbbb1d4a6bf88d8dc40b5d0ee
BLAKE2b-256 17f42cf980b103ae6b1cd14cfc4dbcdcd371bddf69415a56bb96c1b79dbdf387

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp38-cp38-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp38-cp38-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 b2fde4ac7426f3b0901ea5c458e185873dbaa42ce796c632758c9f081db34d23
MD5 cb32de5348820fcdae900b0c73ae1040
BLAKE2b-256 47572387493aaaa95b53e0ad204e8a455d1a6529ae3c7b195dfd39b84db5243a

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8db0c38514b3dd9ce4c31c8e3a51aaf05d74f898ac5a8df7fee3e764c0801897
MD5 25053181c3d38e31a41c79b45bc2b63e
BLAKE2b-256 fae757ab1d4d3476f87aff99a85de88b15110fc6bcb09d914b82c8b3e24fabae

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp37-none-win_amd64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 30659e3290e8def5f1699f917e05d08eb803e5869a481a717dceafa994252674
MD5 4f06d3703a56c5871208d03158d48028
BLAKE2b-256 6ea7c20f368ce1ad96d50257cc4b0271f5a7b45dde56c1bcef86d25607dd077b

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp37-cp37m-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3e452961af05f009380b4c23b7efafd09333299ca41ecc67959e5af2df0f5afb
MD5 d4ddc18dbf667c6d739d68de1cca10aa
BLAKE2b-256 60bd0d40fdeea20a5096d3d487656130605839bb3c89970fe120b0e5e4875729

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp37-cp37m-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp37-cp37m-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 182ab23e6512a2f0b1f3adf3763733128b5b6c9513a764f96cf3c97b8b462fe1
MD5 20a0675eb290c5069e93df7144c34d01
BLAKE2b-256 398516e6be6d6675cf41fd8a65995d1cfd54089cfe103651687535f89228a634

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp37-cp37m-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp37-cp37m-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 e7cb3116637927fb2e5dc4331a3cc2e68a9ad0f80c740b1c865b2631fc8c9fd8
MD5 bbc4dfdb61fa7858e4767089ebe7da22
BLAKE2b-256 f47ad88577f9f0be5c971393a665d92b3cc804bb6e8d38651cf5efc2b1cfd3bb

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp37-cp37m-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp37-cp37m-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 0bc4409735ca737fb1eb40a5687d7755e5ab8527164430937477fc28f34e1156
MD5 ddc8e6e778f14c40fc55b2dc8e0881c2
BLAKE2b-256 3d0fd676a1e87a00881071b7e9dfc059a393bf883d6c8e36f07d86a01beef139

See more details on using hashes here.

File details

Details for the file fpsample-0.3.3-cp37-cp37m-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fpsample-0.3.3-cp37-cp37m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 435e9996fac46b9f5724099ad6f8bf02a72cadaef72e287795d02c074bda5723
MD5 9e2f54c6b426f3db83eacee1308c7943
BLAKE2b-256 40077f9030a5bbb3aecf599889fe80f3deaf0d2d7a0319e99df7c3c78275dcf1

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