Skip to main content

firpm library

Python

The library is also available from Python, as the firpm package:

    pip install firpm

Binary wheels are published for Linux (x86_64, aarch64), macOS (arm64) and Windows (x86_64). They compute in double precision only; see Building from source below for MPFR support.

The package has two design routines, which differ only in how a specification is written:

firpm.remez firpm.firpm
follows scipy.signal.remez MATLAB's firpm
length number of taps, numtaps filter order, n (n + 1 taps)
band edges from 0 to fs / 2 (fs=1) from 0 to 1 (Nyquist)
desired amplitude one per band one per edge (linear in a band)
antisymmetric type="hilbert" etc. ftype ("hilbert" etc.)

Designing a filter

import numpy as np
import firpm

# 101-tap type I lowpass: passband [0, 0.2], stopband [0.25, 0.5] (in
# cycles/sample, so Nyquist is 0.5), with the stopband weighted 10x.
h = firpm.remez(101, [0.0, 0.2, 0.25, 0.5], [1.0, 0.0], weight=[1.0, 10.0])

# The same filter, in MATLAB's terms.
h = firpm.firpm(100, [0.0, 0.4, 0.5, 1.0], [1.0, 1.0, 0.0, 0.0], [1.0, 10.0])

H = np.fft.rfft(h, 4096)

remez takes the arguments of scipy.signal.remez, and firpm those of MATLAB's firpm (firpm(n, f, a), firpm(n, f, a, w), and either with an ftype). Odd numtaps (even n) gives a type I filter, and even numtaps (odd n) a type II filter. weight and w default to 1 in each band.

Arbitrary amplitude and weight functions

Either routine also takes the specification band by band, as a sequence of firpm.Band(f0, f1, amplitude, weight=1.0) (plain tuples work too). The amplitude and the weight are each a number or a callable, so the target can vary across a band; for example, to correct the passband droop of a CIC decimator:

import numpy as np
import firpm

R = 8   # CIC decimation ratio (third order)

def cic_inverse(f):
    if f == 0:
        return 1.0
    w = 2 * np.pi * f
    return (np.sin(w / 2) / (R * np.sin(w / (2 * R)))) ** -3

h = firpm.remez(201, [firpm.Band(0.0, 0.04, cic_inverse),
                      firpm.Band(0.06, 0.5, 0.0)])

Band edges, and the frequencies passed to callables, are in each routine's own units: units of fs for remez, and normalized to Nyquist for firpm. Callables are called with one frequency at a time; a design takes a few thousand calls, so keep them cheap. Bands with only numeric amplitudes and weights make no calls into Python at all. An exception raised inside a callable is re-raised from the design routine.

Differentiators and Hilbert transformers

remez(..., type="differentiator") or type="hilbert", and firpm(..., ftype) likewise, give an antisymmetric filter (type III for odd numtaps, type IV for even):

import firpm

h = firpm.remez(32, [0.0, 0.45], [1.0], type="differentiator")
h = firpm.remez(31, [0.05, 0.45], [1.0], type="hilbert")
h = firpm.firpm(30, [0.1, 0.9], [1.0, 1.0], "hilbert")

These take band edges only, not Bands. A remez differentiator's amplitude is desired * f / fs in each band; a firpm one's is given at the band edges, as in MATLAB. For differentiators, scipy.signal.remez divides the weight by the frequency in every band with a nonzero slope, but this library (like MATLAB) divides only the first band's. The two agree for the usual differentiator, whose first band is the only one with a slope. scipy.signal.remez's maxiter and grid_density have no counterpart here, since the library does not use a frequency grid.

Options and errors

Both routines take these keyword options:

  • strategy selects how the initial reference is chosen: firpm.Strategy.UNIFORM (the default), firpm.Strategy.SCALING or firpm.Strategy.AFP. Reference scaling (strategy=firpm.Strategy.SCALING, depth=1) usually needs far fewer iterations for long filters, and is more robust for them. depth is the number of scaling levels, and must be at least 1 for SCALING to have any effect.
  • eps is the convergence threshold and nmax the degree of the local approximations used to locate the error extrema; the defaults rarely need changing.
  • precision="mpfr" computes in MPFR arbitrary precision (prec bits, 165 by default), when firpm was built with MPFR.

Both routines return the taps as a NumPy array. As in scipy.signal.remez, an invalid specification or a failed design raises ValueError; a design that did not fully converge emits a RuntimeWarning (use warnings.simplefilter("error") to turn it into an exception). help(firpm.remez) and help(firpm.firpm) have the details.

Building from source

From a checkout, pip install . builds and installs the package. The library's own dependencies (a C++20 compiler with OpenMP, Eigen) must be available; see the installation instructions below. The published wheels leave out MPFR, as pip install . does; for precision="mpfr", use a CMake build with MPFR, GMP and mpreal present. A CMake build also builds the Python package whenever pybind11 is found, under python/ in the build directory, and make test then runs the Python tests too (these need pytest and numpy; with scipy installed, they also compare designs against scipy.signal.remez).

The package's version is firpm.__version__, and it ships type annotations.

Folder organization

Prior to November 2019, there were three different folders containing implementations with different numerical precision used for the computations:

  • double (64-bit)
  • long double (80-bit on x86 architectures)
  • MPFR-based custom extendend precision

They have now been merged into one template version.

Installation instructions

This code has been tested on recent Mac OS X (>= 10.14) and Linux installations. In order to compile and use it, a recent C++ compiler with C++20 and OpenMP support is necessary (recent g++ and clang compilers have been shown to work). An active internet connection and some external utilities and libraries must also be installed and available on your system search paths:

  • CMake version 3.16 or newer
  • Eigen version 3.3 or newer
  • (optional) GMP version 6.0 or newer for multiple precision support
  • (optional) MPFR version 4.0 or newer for multiple precision support
  • (optional) mpreal wrapper for MPFR
  • (optional) doxygen to generate the accompanying code documentation
  • Google gtest framework for generating the test executables will be downloaded during CMake configuration

Assuming these prerequisites are taken care of and you are located at the base folder, building the library can be done using the following commands (with the appropriate user privileges):

    mkdir build
    cd build
    cmake ..
    make all
    make install

This series of steps will install the library on your system. Usually the default location is /usr/local, but this behavior can be changed when calling CMake by specifying an explicit install prefix:

    cmake -DCMAKE_INSTALL_PREFIX=/your/install/path/here ..

With gtest downloaded in the build directory, the make all command should have generated three test executables:

  • firpmlib_scaling_test : should contain code to generate all the example filters used in [1] and tests for subsequent bugs
  • firpmlib_extensive_test : contains a more extensive set of over 50 different filters, giving an iteration count comparison for uniform initialization, reference scaling and AFP initialization, when applicable
  • firpmlib_numerics_test : unit tests for the numerical kernels (barycentric weights and error evaluation, checked against MPFR when available)

The make test command will launch these test executables on your system.

The make all target also generates the documentation if Doxygen was found on your system when running CMake. It can also be generated individually by running the command

    make doc

after CMake was called.

Running the test executables will print out information regarding the final reference error (i.e., final delta value) obtained when executing the Parks-McClellan exchange algorithm, along with iteration count information. Depending on your machine, these tests can take some time to finish.

An example output for one test case from firpm_scaling_test (using the long double instantiation) of the routines looks like this:

    [ RUN      ] firpm_scaling_test/1.combfir
    START Parks-McClellan with uniform initialization
    Final Delta     = 1.6039185593030203561e-07
    Iteration count = 13
    FINISH Parks-McClellan with uniform initialization
    START Parks-McClellan with reference scaling
    Final Delta     = 1.6066986792983147255e-07
    Iteration count = 3
    FINISH Parks-McClellan with reference scaling
    START Parks-McClellan with AFP
    Final Delta     = 1.606565353078586782e-07
    Iteration count = 4
    FINISH Parks-McClellan with AFP
    Iteration count reduction for final filter  RS: 0.76923076923076916245
    Iteration count reduction for final filter AFP: 0.69230769230769229061
    [       OK ] firpm_scaling_test/1.combfir (378 ms)

Use

Examples of how to use the library can be found in the test folder.

Licensing

Up until April 7, 2024 the code was GPLv3+ licensed. It has since switched to a more permissive 3-Clause BSD license.

References

[1] S.-I. Filip, A robust and scalable implementation of the Parks-McClellan algorithm for designing FIR filters, ACM Trans. Math. Softw., vol. 43, no. 1, Aug. 2016, Art. no. 7.

[2] S.-I. Filip, Robust tools for weighted Chebyshev approximation and applications to digital filter design, Ph.D. dissertation, ENS de Lyon, France, 2016.

Acknowledgements

  • Graeme Smecher @gsmecher - setting up the template version of the code base
  • @jlwehle - various bug reports and fixes

Metadata

Release files for firpm 0.2.2

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

Source distribution (sdist)

Source distribution for firpm 0.2.2
File Size Uploaded Provenance Actions
firpm-0.2.2.tar.gz 66.6 kB With provenance Details for firpm-0.2.2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for firpm 0.2.2
File Actions
firpm-0.2.2-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for firpm-0.2.2-cp314-cp314t-win_amd64.whl
firpm-0.2.2-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details for firpm-0.2.2-cp314-cp314t-musllinux_1_2_x86_64.whl
firpm-0.2.2-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details for firpm-0.2.2-cp314-cp314t-musllinux_1_2_aarch64.whl
firpm-0.2.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for firpm-0.2.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
firpm-0.2.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for firpm-0.2.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
firpm-0.2.2-cp314-cp314t-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 14.0+ ARM64 Details for firpm-0.2.2-cp314-cp314t-macosx_14_0_arm64.whl
firpm-0.2.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for firpm-0.2.2-cp314-cp314-win_amd64.whl
firpm-0.2.2-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for firpm-0.2.2-cp314-cp314-musllinux_1_2_x86_64.whl
firpm-0.2.2-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details for firpm-0.2.2-cp314-cp314-musllinux_1_2_aarch64.whl
firpm-0.2.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for firpm-0.2.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
firpm-0.2.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for firpm-0.2.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
firpm-0.2.2-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for firpm-0.2.2-cp314-cp314-macosx_14_0_arm64.whl
firpm-0.2.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for firpm-0.2.2-cp313-cp313-win_amd64.whl
firpm-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for firpm-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl
firpm-0.2.2-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details for firpm-0.2.2-cp313-cp313-musllinux_1_2_aarch64.whl
firpm-0.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for firpm-0.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
firpm-0.2.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for firpm-0.2.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
firpm-0.2.2-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for firpm-0.2.2-cp313-cp313-macosx_14_0_arm64.whl
firpm-0.2.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for firpm-0.2.2-cp312-cp312-win_amd64.whl
firpm-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for firpm-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl
firpm-0.2.2-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details for firpm-0.2.2-cp312-cp312-musllinux_1_2_aarch64.whl
firpm-0.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for firpm-0.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
firpm-0.2.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for firpm-0.2.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
firpm-0.2.2-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for firpm-0.2.2-cp312-cp312-macosx_14_0_arm64.whl
firpm-0.2.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for firpm-0.2.2-cp311-cp311-win_amd64.whl
firpm-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for firpm-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl
firpm-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details for firpm-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl
firpm-0.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for firpm-0.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
firpm-0.2.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for firpm-0.2.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
firpm-0.2.2-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details for firpm-0.2.2-cp311-cp311-macosx_14_0_arm64.whl
firpm-0.2.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for firpm-0.2.2-cp310-cp310-win_amd64.whl
firpm-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for firpm-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl
firpm-0.2.2-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details for firpm-0.2.2-cp310-cp310-musllinux_1_2_aarch64.whl
firpm-0.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for firpm-0.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
firpm-0.2.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for firpm-0.2.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
firpm-0.2.2-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details for firpm-0.2.2-cp310-cp310-macosx_14_0_arm64.whl
firpm-0.2.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for firpm-0.2.2-cp39-cp39-win_amd64.whl
firpm-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details for firpm-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl
firpm-0.2.2-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details for firpm-0.2.2-cp39-cp39-musllinux_1_2_aarch64.whl
firpm-0.2.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for firpm-0.2.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
firpm-0.2.2-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for firpm-0.2.2-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
firpm-0.2.2-cp39-cp39-macosx_14_0_arm64.whl CPython 3.9 CPython 3.9 macOS 14.0+ ARM64 Details for firpm-0.2.2-cp39-cp39-macosx_14_0_arm64.whl

Total release size: 32.2 MB

Release files / firpm-0.2.2.tar.gz

Download URL firpm-0.2.2.tar.gz
Size 66.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f84342d7c095053095bdce0312ab782b8ea7e6f383483f81db823112847240a8
BLAKE2b-256 checksum
How to use checksums
6748db1d66097eee9a26959a04c636f0341d910e7d4ffceff716f030334975e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314t-win_amd64.whl

Download URL firpm-0.2.2-cp314-cp314t-win_amd64.whl
Size 241.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
d7180c424a4b5957ce0e63d30559fb720c749bd8c74ff3750008c10084484292
BLAKE2b-256 checksum
How to use checksums
acd744974e78275ac2c673ceef1e42a6dab0c808738cd7b8c210a58899b3e47a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL firpm-0.2.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ef58bfbe74bd761eb33d03caf2b9e3b7d16438659a94aabf676273a6b048836b
BLAKE2b-256 checksum
How to use checksums
6d003154ffa47eb905ffdd411aaea2eaae782c6d1abca261e70d334a4ee75429
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL firpm-0.2.2-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
3dab2f119f50ae23f73777495f318ab0465867649f0f9a306f2ad7e827662b68
BLAKE2b-256 checksum
How to use checksums
fb6e6e4ad0bcf55809af9e503a54ca5870f531d5d6f216de939d559c56c4e979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL firpm-0.2.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 427.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a76b70e8a29038421a8faacf6e3878d0258dceeaac3011a33c94c130ebbf0c0
BLAKE2b-256 checksum
How to use checksums
4ea8a6db2eacbd654ec19634555b4a06b78bb8c05778cacce12a9d496b7a4340
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL firpm-0.2.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 399.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0557f478640f4d9cdf9a8c3a695aea405cbd6b1727fa9a428c3fa32015603e2c
BLAKE2b-256 checksum
How to use checksums
042702c2fa457dbc8686c191e08198503b64ec868abfcbeacb366a616ee380a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314t-macosx_14_0_arm64.whl

Download URL firpm-0.2.2-cp314-cp314t-macosx_14_0_arm64.whl
Size 539.0 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e7854e3d42b9fb75f83f502d709a5c00432fcd86996ae8dae70f035bd2d28b11
BLAKE2b-256 checksum
How to use checksums
cdc20fbaca873dcdab7e4134e29951ddbb71384e0982bccd18859229b724aa34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314-win_amd64.whl

Download URL firpm-0.2.2-cp314-cp314-win_amd64.whl
Size 235.8 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
1c4fa1ecbb2dcfa377d7cfd990cbaba2efdb132a6e6b22cdd5c4336885096078
BLAKE2b-256 checksum
How to use checksums
b66a739cba6319ee0c77232ae8254796039589fd1ee730533c562943bac568df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL firpm-0.2.2-cp314-cp314-musllinux_1_2_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d38471d92b7535e2b6e6b2be4b70ab9eea738df5fdc0037487432904e1c03d61
BLAKE2b-256 checksum
How to use checksums
a679139854f3ff2b71caa31f616f0a8da18c4fe50819e08a185eee65db9cd9ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL firpm-0.2.2-cp314-cp314-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
3a8dd41940f92ea0921493b8a7d3fcd656ea116a420150709d997383a4fc245d
BLAKE2b-256 checksum
How to use checksums
3f47853a66b0f7338ee462c8774005bb058d58ee5aed9c2b63d0d467edd8168e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL firpm-0.2.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 424.3 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1af00e191ab0f235caa6d874b9703a50c7103d0ded720045bf45f2f29f25eaad
BLAKE2b-256 checksum
How to use checksums
0404ff035ad6b53f535c0023773f1a17ac7d98d8f835bb0c978e8b61c7ab0fc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL firpm-0.2.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 397.7 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9876e1b96b4f3e8b762faaf0749a08ea239ce71f7537dcc5dc7a41444ea37ac2
BLAKE2b-256 checksum
How to use checksums
2a653e892733c69f98491b650676b0a6fcde5802dab02a94fffb583490a0e4fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp314-cp314-macosx_14_0_arm64.whl

Download URL firpm-0.2.2-cp314-cp314-macosx_14_0_arm64.whl
Size 531.5 kB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
6f278ede2bc5b69f412be35dc10db04509ecd9319818622dfc703f03d06225fb
BLAKE2b-256 checksum
How to use checksums
9322de976ad432b926e9bc7a5a6d29a474b485e1326aacab4feba9e67d5ffe88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp313-cp313-win_amd64.whl

Download URL firpm-0.2.2-cp313-cp313-win_amd64.whl
Size 229.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b9715ef454776c0ec2cef9046eaccfdc2291acc2fb6e470fe7cccb6487d8463d
BLAKE2b-256 checksum
How to use checksums
c6937b7e10d18da56fe6260ae71202ac18eb9a4bfa326994b0587cf6bb2afead
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL firpm-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5443ab24bc8e3b48f71c3319b1ccc7738a52af50f643cd66f22ba427159ddf35
BLAKE2b-256 checksum
How to use checksums
5bcf4eefc30977facdd33ce9960ca159502ef52bd63412f667519c2347821b6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL firpm-0.2.2-cp313-cp313-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
369aa2a888118e2f5071b195286a84e6e9eeed4c3316e5cc87ba7d5404f1b6b7
BLAKE2b-256 checksum
How to use checksums
1a431b97b42b674dbdf4715965a71a35c4dc446377f047ab155c556f44a7f886
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL firpm-0.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 424.1 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
13acbe5417b49a5502df6bb858f6d1c06970c230cf5a88841712b4f142fb9ee7
BLAKE2b-256 checksum
How to use checksums
9897cae6a1084ddefe65309432e51d3208559f7d87481a5149353c050cf5eda8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL firpm-0.2.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 397.2 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
efbe7fdacd96330bd8ddde845a0d861de594373e4544efeaa3b102ab4a987512
BLAKE2b-256 checksum
How to use checksums
1baab1f79667ea7c03c1c71c17350ada5496019c50a01af76e3e295cf7e23ce9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp313-cp313-macosx_14_0_arm64.whl

Download URL firpm-0.2.2-cp313-cp313-macosx_14_0_arm64.whl
Size 531.2 kB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e5f4d3fd3a6ea6dab26d17cca26accc39bbc5912e359d0cf330abec018b1a723
BLAKE2b-256 checksum
How to use checksums
879dfd71ed9565a4da8c515fbe92f3cc1520c709191baf3c7cf0d2e494736b64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp312-cp312-win_amd64.whl

Download URL firpm-0.2.2-cp312-cp312-win_amd64.whl
Size 229.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
70e54f9deb0d585d3805924e3f83b6c56173912f5a0c5b84410a3194915dc03e
BLAKE2b-256 checksum
How to use checksums
4118398092e83669d4b1016344f82cec239600d02ae4d8b5cfcc966c7655a3c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL firpm-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.5 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d9869c327e486a0c8ad40b1dda669bfa1add2b2af36614124e1c0868f1e663b1
BLAKE2b-256 checksum
How to use checksums
117e10c28af27e279d8aac11555443d7ff5d1e5351c284b1a132ad8fdfecce4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL firpm-0.2.2-cp312-cp312-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
f45cc90a6cab64cb035c733eacb2a43edb8a5ef0ef9971918fc15bd48c5b98bf
BLAKE2b-256 checksum
How to use checksums
f32cc28978bc3436380c6bf96a1455219ffd3c05cf9b416671dd96271cae01f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL firpm-0.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 424.5 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a821ba71d4db398976d0526a279b309f95ec3a209c7cce2b8dad3fb80a804b52
BLAKE2b-256 checksum
How to use checksums
9f7a17dd11adefd83da8876387a7104aff01bf8f2b89bd21f83a2ef0861e0ac7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL firpm-0.2.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 397.2 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
aebc328e38f0e13bd4ff0abc0dee97e716e35336f7b9e288930d8ebc06848b71
BLAKE2b-256 checksum
How to use checksums
6dee91ed65a5fea9a4934912dde0517e475b598d244fecb4f0247071ec78f3c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp312-cp312-macosx_14_0_arm64.whl

Download URL firpm-0.2.2-cp312-cp312-macosx_14_0_arm64.whl
Size 531.2 kB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
2c1ee9acaa23d09ffff13f33de2fa52c3741908b700acd8570cfe8cd268f9d1b
BLAKE2b-256 checksum
How to use checksums
d28e7c140d49faf864dbee80e9d0589b613796b88d0e5d1f0e47e32e839abdd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp311-cp311-win_amd64.whl

Download URL firpm-0.2.2-cp311-cp311-win_amd64.whl
Size 227.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e753f36fa8cc94f7591d32f8d945ee7a438846004ed295f052243070411d7321
BLAKE2b-256 checksum
How to use checksums
2caee0765289152813c04b7b98b3d318701c63861cef0a19010afab5f397bc9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL firpm-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.5 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b68e1e87abcf6a8ea1de09282de175f75145345cc20c43b8c0b9eb35a7c2f106
BLAKE2b-256 checksum
How to use checksums
d9e32d2cd954707c4a0af81274af5ea46dd996ebc8fed090f972f38518d2019a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL firpm-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
22854d88f08c34b9bdc3fb698c26984339172a18cc3f8381374b36044e52e8a0
BLAKE2b-256 checksum
How to use checksums
16f2fb1f0c9c155d3a615fc154963e742a6400d2f46ee467246e611762d197d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL firpm-0.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 423.3 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
71ba4d936f1a3f525d8a199ba75e3483c8244a6be9f426718575e4c4fe4936f3
BLAKE2b-256 checksum
How to use checksums
95709454ea6703fcb236f543e6b1028cfedbac15c1792f6cbe8a64de7d6948de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL firpm-0.2.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 397.6 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
957bb95c161955a9f1062a74d706c6de3eb66f19db2bf6cee728042794bc9804
BLAKE2b-256 checksum
How to use checksums
4a9f4ef01a0e8282cdd27e9492aaeea9ab148e05bf9d629b51363b494a40c472
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp311-cp311-macosx_14_0_arm64.whl

Download URL firpm-0.2.2-cp311-cp311-macosx_14_0_arm64.whl
Size 530.1 kB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
549e355be1a3bf4560e2550226629a96e6f1a1472ec1a5ed5255deb1daf66584
BLAKE2b-256 checksum
How to use checksums
6d0e0a4ddc4bc48fbbe94448f1d5562ad46b8785260047e5f19d87a856bd9c60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp310-cp310-win_amd64.whl

Download URL firpm-0.2.2-cp310-cp310-win_amd64.whl
Size 225.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
741d166443089d7edc1c5660a4f7d2a1852f956d99361efde77cc13f71c71467
BLAKE2b-256 checksum
How to use checksums
7edfcfba4e7e9eeb917bd134cbc70f67ce53925f52ec1544b6bdc0c491a84b4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL firpm-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f601b25499d7479207606f89575e3a6e32562338113c28cb2c691f6cd53d6a3f
BLAKE2b-256 checksum
How to use checksums
3ad801215d113baa15250b5f3a284dd4353d95b37bc4dcb782e75692ba0c8691
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL firpm-0.2.2-cp310-cp310-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
ee07c4ff0cb813d7f0c15aac1f499e321eb8f2ff25c1ceb63f1aa0d2d6fa2c18
BLAKE2b-256 checksum
How to use checksums
cd69c939ea9438433c79d2244a8d2c242dc6e42617e6c5ecd4e6b84008b61a23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL firpm-0.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 422.5 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d9c7f74aeb23d28802beb909d97983478dec929e97c1e54bd0d3fcb43cbfe984
BLAKE2b-256 checksum
How to use checksums
21b068d92c08f014abcf65bb1c67e466a745dcd5d46e76c5f9739fb526f1c280
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL firpm-0.2.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 396.5 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e1f71cbc231e150ea2e2dc5f12919f18f14df684572073d9768d313ecebf87ee
BLAKE2b-256 checksum
How to use checksums
ea5df52388be5ff58899632a9503245cb40ea5cd4a1c67e588f5fb83b7ce8244
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp310-cp310-macosx_14_0_arm64.whl

Download URL firpm-0.2.2-cp310-cp310-macosx_14_0_arm64.whl
Size 529.1 kB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
49fc5e837453ef1caeacc768c99da7107e8aa8125214b870effa6e57ecbd6031
BLAKE2b-256 checksum
How to use checksums
b0531198b3dfffdc8707140212ec31d514a2331486038aa1f8132b75cbb8faeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp39-cp39-win_amd64.whl

Download URL firpm-0.2.2-cp39-cp39-win_amd64.whl
Size 225.5 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
a853ea0bcc8fe09524873da81e771a6252e7ddd5439eb06e2084223bf6a3abb4
BLAKE2b-256 checksum
How to use checksums
62aedca2a2cf6148aee95f46ec1e2be3b604195008e5f91e9339b973c7a6ef8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL firpm-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl
Size 1.5 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d56522708404723e1089630e38ceec70f210645d899f6464abfe855d28901f13
BLAKE2b-256 checksum
How to use checksums
b7194797ca5dc1169f19c3f5bb7fe237fec6c3af9dd137067ddee8fee83b2966
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL firpm-0.2.2-cp39-cp39-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
dddf5cc839c37e035991446b86fbe02d678b0afbc2c5a75d68b4860a76cd55ca
BLAKE2b-256 checksum
How to use checksums
d9a93a467c6e204fbbb7f93466b803343f00c0bc6df2ae695590b0f89bfdb43b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL firpm-0.2.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 422.4 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bc5d8ef4034143adbcb9e01183b4659d06fb845e0424e63a592d4cb69ef57852
BLAKE2b-256 checksum
How to use checksums
83396ec777eab973c099193161dddeb9003740cfb427429ce9cbc5b06bb8f00d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL firpm-0.2.2-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 396.7 kB
Tags CPython 3.9 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c2ad8895f7cd834f90f88df36640f9bcc7b7ebebfab1fb71fb99e21cdfe63597
BLAKE2b-256 checksum
How to use checksums
cfc378d7f4a862bdd27d4ed8b4817ac7002c78389c29a964004283c604497dab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / firpm-0.2.2-cp39-cp39-macosx_14_0_arm64.whl

Download URL firpm-0.2.2-cp39-cp39-macosx_14_0_arm64.whl
Size 529.2 kB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
95879eb2f97dfd17a1c15ec0d26660e9b26219996e444070304e5d314acb0fde
BLAKE2b-256 checksum
How to use checksums
1ae19edb39d717c4ece08f60ff74b71d8ad9469466b83e43d842207b1a85ff0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Security for firpm 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 43 files in this release have been uploaded with provenance metadata.

Select from 43 files

Attestation for firpm-0.2.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.2 This release

43 release files Full provenance

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