Skip to main content

FPCS - Feature-Preserving Compensated Sampling

License: MIT

FPCS is a high-performance time series downsampling algorithm designed to preserve critical visual features (peaks and valleys) while significantly reducing data size. It is particularly well-suited for real-time visualization and streaming data applications.

Implementation based on the Feature-Preserving Compensated Sampling for Time Series Visualization publication.


Why FPCS?

Unlike simple decimation or even some advanced algorithms like LTTB, FPCS retains the min/max within each sampling window, helping preserve prominent peaks and valleys while allowing smaller local extrema to be dropped.

Visual Comparison (FPCS vs LTTB)

FPCS maintains the full range of the signal even at high downsampling ratios, whereas LTTB may miss sharp spikes in noisy datasets.

Comparison

Key Features

  • High Performance: Cython-optimized core is competitive with optimized LTTB (see benchmarks below).
  • Streaming data: Supports incremental processing via FPCSDownsampler.
  • Feature preserving: Guarantees retention of min/max points within each window.
  • Robust: Native handling of NaN and Inf values.
  • Batched processing: Efficiently downsample multiple series at once.

Installation

# Install from PyPI
pip install fpcs

Requirements

  • Python >= 3.11
  • NumPy

Optional (for the Cython extension)

  • C compiler and Python headers
  • Cython (the package falls back to the pure Python backend if Cython isn't available)
# Install from source (local checkout)
pip install .

# For development (includes Cython, pytest, benchmarks)
pip install -e ".[dev]"

Usage

Batch Downsampling

Processing existing datasets:

import numpy as np
from fpcs import downsample

# Generate 1M points
x = np.arange(1_000_000, dtype=np.float64)
y = np.sin(x * 0.01) + np.random.randn(1_000_000) * 0.5

# Downsample by a factor of 100
x_ds, y_ds = downsample(x, y, ratio=100)

print(f"Original: {len(x)} points | Downsampled: {len(x_ds)} points")

Streaming data

Processing data in real-time:

from fpcs import FPCSDownsampler

downsampler = FPCSDownsampler(ratio=10)

# Simulate a stream
for xi, yi in zip(stream_x, stream_y):
    # .add() yields retained points immediately
    for rx, ry in downsampler.add(xi, yi):
        update_plot(rx, ry)

# Flush any remaining points at the end of the stream
for rx, ry in downsampler.flush():
    update_plot(rx, ry)

API Reference

downsample(x, y, ratio)

The main entry point for batch processing.

  • Parameters:
    • x (Array-like): The x-coordinates (e.g., timestamps).
    • y (Array-like): The y-coordinates.
    • ratio (int): The sampling window size (R). Must be >= 1.
  • Returns:
    • (np.ndarray, np.ndarray): A tuple of (x_downsampled, y_downsampled).
  • Notes:
    • The first and last input points are always retained in batch mode.
    • NaN values are always retained to preserve gaps.
    • ±Inf values are treated as extrema.
    • Integer inputs are supported; the Cython backend converts them to float64.

FPCSDownsampler

Class for streaming/incremental downsampling.

__init__(ratio: int)

Initialize the downsampler.

  • ratio: Sampling window size. Must be >= 1.

add(x: float, y: float) -> Iterator[tuple[float, float]]

Add a single point to the downsampler.

  • Yields: Tuples of (x, y) for any points retained during this step.
  • Notes:
    • Streaming mode does not auto-include the first/last points; if you need them, add them yourself.
    • NaN values are always retained and ±Inf values are treated as extrema.

flush() -> Iterator[tuple[float, float]]

Flush any remaining points from the internal buffer (e.g., at the end of a stream).

  • Yields: Tuples of (x, y) for remaining points.

reset()

Resets the downsampler state to initial conditions.

Advanced / Optimization API

These functions are available when the Cython extension is successfully compiled. You can check the active backend with get_backend().

downsample_into(x, y, ratio, out_x, out_y) -> int

Downsample into pre-allocated output buffers to reduce memory allocation overhead.

  • Parameters:
    • x, y: Input arrays (integer inputs are supported and converted to float64).
    • out_x, out_y: Output buffers (contiguous float64, must be large enough).
  • Returns: Number of points written.
  • Notes: Recommended output buffer size is `((len(x) + ratio - 1) // ratio)
    • 2 + 2`.

downsample_batch(x_arrays, y_arrays, ratio) -> List[tuple]

Efficiently process a list of time series. Reduces Python overhead compared to a loop.

Backend Availability

  • downsample and FPCSDownsampler are always available.
  • downsample_into and downsample_batch are only available with the Cython backend (they are None when using pure Python).
  • Use get_backend() to check which backend is active ("cython" or "python").

Performance

Comparison between FPCS (Python/Cython) and a C implementation of the LTTB algorithm.

Algorithm comparison

Name (time in ms) Min Max Mean StdDev OPS
Cython FPCS 1.2370 1.3534 1.2546 0.0162 797.0606
LTTB (C impl) 2.5252 2.6372 2.5394 0.0166 393.7865
Pure Python 393.6482 398.6493 395.6410 2.3321 2.5275

Ratio scaling (Cython)

Ratio Mean Time (ms) StdDev
10 4.05 0.81
50 3.86 0.89
100 4.02 0.90
500 4.32 0.74

License

This project is licensed under the MIT Licence - see the LICENSE file for details.

Metadata

Release files for fpcs 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fpcs 1.0.0
File Size Uploaded
fpcs-1.0.0.tar.gz 185.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for fpcs 1.0.0
File
fpcs-1.0.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
fpcs-1.0.0-cp314-cp314t-win32.whl CPython 3.14 CPython 3.14 free-threading Windows x86-32 Details
fpcs-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
fpcs-1.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
fpcs-1.0.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
fpcs-1.0.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
fpcs-1.0.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
fpcs-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
fpcs-1.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
fpcs-1.0.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
fpcs-1.0.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
fpcs-1.0.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
fpcs-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
fpcs-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
fpcs-1.0.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
fpcs-1.0.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
fpcs-1.0.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
fpcs-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
fpcs-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
fpcs-1.0.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
fpcs-1.0.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
fpcs-1.0.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
fpcs-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
fpcs-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
fpcs-1.0.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 11.6 MB

Release files / fpcs-1.0.0.tar.gz

Download URL fpcs-1.0.0.tar.gz
Size 185.3 kB
Tags Source
SHA-256 checksum
How to use checksums
dc1f2172d7970327ed6669ed4772c2207f95354e630280b4b2d1993ef6bb12fe
BLAKE2b-256 checksum
How to use checksums
1f3bdfd4f5cc66c7e33fc6ebcf45095403fae8e3c9dee6cf28769feb42afa3b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314t-win_amd64.whl

Download URL fpcs-1.0.0-cp314-cp314t-win_amd64.whl
Size 280.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
2279a72650dae988587dcc0e11ec00637731716e6b40233bc2679ff149ab64b7
BLAKE2b-256 checksum
How to use checksums
77bfd128fd55fcd58d3a0a32b2bdc04e676e54f01b15030104543a028f791f2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314t-win32.whl

Download URL fpcs-1.0.0-cp314-cp314t-win32.whl
Size 264.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
1ef367b5a4a0f4c18ca6da47d29f9a0fb16e2c28c76d6bf82c293ca8ea604ce1
BLAKE2b-256 checksum
How to use checksums
6ac8edc80f42f0253bcf83f5533b6f9d961ba115a31b2ed8b8050ba961886949
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL fpcs-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 737.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
1259fcd1be919848b17458b2b3a7647ddf02bb9d5b5ceaae2a13263ac4e3a8df
BLAKE2b-256 checksum
How to use checksums
e89bf3e934087f80ed8daad2b1ea722d9dec410e2b0aed191562a8c4efc91df6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fpcs-1.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 741.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2854db5d53c18b30cfe1dd766d9e1ffa493e332fd4fd814bb4ecca0bf5af6971
BLAKE2b-256 checksum
How to use checksums
5cb44ec1547b5cc7e0e097fa967adade20a1a9262ce55e9e8468aa1e3785aa1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL fpcs-1.0.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 280.8 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fc013caa74ec34fbed3446da76195c142bd7289ce6f450b01d3b0aa768e15a50
BLAKE2b-256 checksum
How to use checksums
bd5551e1e0bae14bd731211f301313fa495b816d8c8f9a15905a87c97520bb0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314-win_amd64.whl

Download URL fpcs-1.0.0-cp314-cp314-win_amd64.whl
Size 266.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e39b16a2f48ec249285ae9e2f9f98088accc7007a170e35845e629fb5a097534
BLAKE2b-256 checksum
How to use checksums
95257ae6f88a1ef40a0c275ab0d28a2d31731e2986abde0849c56b9dee0b53ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314-win32.whl

Download URL fpcs-1.0.0-cp314-cp314-win32.whl
Size 252.8 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
90521f319732555f86645d08bb3545d0743b76912431ada75229ed079a3bc7fd
BLAKE2b-256 checksum
How to use checksums
67f61f93008783c79f73a9b3d994ec6699a52e984e025690e6401a77c71a1c6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL fpcs-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 738.4 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e951114e4c0780c299e7b760fa3eca7cde067de1e31d8dc021ae152c74e89790
BLAKE2b-256 checksum
How to use checksums
2a3c8b41b58983d62b3c1c97d4eadd3adf8dc874f4057887ce43692a32687946
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fpcs-1.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 736.3 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
14ba08737642a4bbf9319f95144397fb4bcaaf8bddee7c56c397501d51bf65d1
BLAKE2b-256 checksum
How to use checksums
969ad0104da158a6a7f4ce0f3f3f5d629affb12b53abe7f99d5f5b4d27de8734
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL fpcs-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
Size 273.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5e4eb91a3ff9fdc177d1be0edc2fcb4001c6d734ffbc87e05e73a7f0ff8c7517
BLAKE2b-256 checksum
How to use checksums
2cc0d17408e4e9a07dc5d5da5f5545897f63bc1583193e38a2275ffd7823c195
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp313-cp313-win_amd64.whl

Download URL fpcs-1.0.0-cp313-cp313-win_amd64.whl
Size 262.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
de7df852221b910ee8f214fbc51e856328d2dde2abb794dfb95e651a31bac754
BLAKE2b-256 checksum
How to use checksums
b0d8c453dec4b22b477930aded7dff8f9021134d824b6713db21debcc0f88635
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp313-cp313-win32.whl

Download URL fpcs-1.0.0-cp313-cp313-win32.whl
Size 249.8 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
b6aaa9a577f0bbd9b51b1d91e525c7f59d114b9ca6b26674366369f7f0edd978
BLAKE2b-256 checksum
How to use checksums
144378bc9cd0f4f01bd7abb823307c81c684b4781552ecd9a28b6850847807a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL fpcs-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 739.6 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
322702c2e4a98594d1082a80c9dc33374e1fbd43e77ba809ec88c3ff9b053a22
BLAKE2b-256 checksum
How to use checksums
cb7ab0888dbdf3ae9509bd422a3673cc98ca777294407528c5e726bc9cf74161
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fpcs-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 738.2 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
18d3191082b31be54c3e8319a474509e0298fae2867ab8ad7cb992c3477786c9
BLAKE2b-256 checksum
How to use checksums
39c4f5eb4756212d7df85b091324c73b9e15736c957ea91513bc1a23ed7e7d93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL fpcs-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Size 270.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2f5b3dab8d5f4ece8912f4859ffff54dcb7b6235985afd8ba57d6b8a1fa59c83
BLAKE2b-256 checksum
How to use checksums
041e347403f58e9cf7df136249948985cec7881f49da68978e935803728fa049
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp312-cp312-win_amd64.whl

Download URL fpcs-1.0.0-cp312-cp312-win_amd64.whl
Size 263.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
bfcc48f64905260a4d5c3e4d061d9ca614576e1385cd95e4173ca0429834ab5c
BLAKE2b-256 checksum
How to use checksums
11a8f03c75c538956769dbd2a35129e59a03dd09cffe1e996f8061d2f2a640bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp312-cp312-win32.whl

Download URL fpcs-1.0.0-cp312-cp312-win32.whl
Size 250.0 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
546add2ca07396ad6ea09e27bf7cefc6cf18e7d3e08958e9fe09109038af5d47
BLAKE2b-256 checksum
How to use checksums
405e746d9b899d6d08c3267e8924d39779acc3d1e6137f4b62561b223cf6d36c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL fpcs-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 740.9 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
90553bba69936766f9f5af73a5a7d2ce913bdcf5708c95c02a5cf62187dd4ce2
BLAKE2b-256 checksum
How to use checksums
ea559ee115f3704512cdfdab9fb51ab66446fea30eb4d788bdc64a365c7fe6bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fpcs-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 739.5 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0ed5a244dea7dc26bf2e0de8873c61a179cb6960d0c02d582ee3405cbd042ccd
BLAKE2b-256 checksum
How to use checksums
e7ba3a230b212a3b2f7590499a39f62dd890f6d3d33c29a30fe87be7ddffcdaf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL fpcs-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Size 271.4 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
62c2d578bde2dd85695a09881fb3463bc383f7e0e82e5827cc5ea3f4e5d1a551
BLAKE2b-256 checksum
How to use checksums
72df575d7446c9c867316a6e5dc7fbd1b65be858711814f6095fc887791caa12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp311-cp311-win_amd64.whl

Download URL fpcs-1.0.0-cp311-cp311-win_amd64.whl
Size 263.4 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
486030081e855a512f1f8133a57dd8b06f7f44223c61bf66fec078893673ce61
BLAKE2b-256 checksum
How to use checksums
72828036d1780837c279f48bfd398be842ab3e2fec84f0ebfd229d975874b687
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp311-cp311-win32.whl

Download URL fpcs-1.0.0-cp311-cp311-win32.whl
Size 250.6 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
69a169a376d49533873b17159204bfd4570e00be0a00ac21a7c03205b08cd465
BLAKE2b-256 checksum
How to use checksums
86626299be107d46670d4ffbe8cb3ac8b95cdd4f6517f1ed063d5d4c7b5bae1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL fpcs-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 755.9 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
11f3f0b19a6bc7e9993441fd6b0d6d3613ae9cc6ba1b18dc68db112cc3d77f93
BLAKE2b-256 checksum
How to use checksums
ac25e4c167ebb0332b57bbf70cddfea855dafbc80bb22a8f92d8be349f22d183
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL fpcs-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 751.8 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e134e21ac2d3b1cddef763bdc5c575b6b9dd5bd78e99ef7b6ba2d7434e278db2
BLAKE2b-256 checksum
How to use checksums
8fe62b0d97991d0decdc2d22489adc85ba42d6bf4ed67bb4676488ab03609ad8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fpcs-1.0.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL fpcs-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Size 271.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
92e31f14c666b2b9803c9f2782e015f66b7ac5df3c7f01ef0f07cbfa5fa87b88
BLAKE2b-256 checksum
How to use checksums
4e83627eaadd3f1844ab6d5b4f1aa087ace5403c7018ec2f2eb490b3075bff35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.0.0 This release

26 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page