Skip to main content

PhilTorch $\Huge \overset{🔥}{\Phi}$

PyPI version Python versions Build CPU wheels codecov OpenReview License: MIT

PhilTorch provides differentiable, time-domain linear digital filters for PyTorch.

  • Differentiate through filter coefficients, inputs, and initial states with PyTorch autograd.
  • Process batched signals and filters whose coefficients vary at every time step.
  • Compute in the time domain without FFTs, through a pure functional API with no stateful objects.
  • Run on native CPU, CUDA, and MPS kernels.

News

Installation

PhilTorch requires its compiled philtorch._C extension; there is no pure-PyTorch fallback when the extension is missing.

Route Platforms Kernels Python PyTorch
PyPI wheel Linux x86_64 (manylinux_2_28), macOS 14+ arm64, Windows AMD64 CPU, plus float32 scalar-LTI MPS on macOS 3.10–3.13 The latest stable release at publication, listed in the release notes
Source build Any platform with a C++ toolchain CPU, MPS, or CUDA 3.10+ 2.4 or newer

PyPI wheels

python -m pip install philtorch

Wheels contain no CUDA kernels. They are built against one PyTorch minor release and are not guaranteed to work with other minor releases, so build from source if you use CUDA or a different PyTorch minor release.

Source builds

Install PyTorch first with the PyTorch installation selector, then build PhilTorch against it without build isolation:

python -m pip install "setuptools>=77.0.3" "setuptools_scm>=8" wheel
python -m pip install --no-binary=philtorch --no-build-isolation philtorch

The build compiles a CUDA extension when torch.cuda.is_available() is true and CUDA_HOME is set, and a CPU-only C++ extension otherwise. On a headless build server with no visible GPU, set PHILTORCH_FORCE_CUDA=1 to compile the CUDA extension anyway. In that case the installed PyTorch must be a CUDA build, and TORCH_CUDA_ARCH_LIST must also be set to the target architectures (e.g. TORCH_CUDA_ARCH_LIST="8.0 8.6"), because there is no GPU to infer them from. On macOS, when the installed PyTorch supports OpenMP, the build also needs Homebrew llvm and libomp, unless PHILTORCH_DISABLE_OPENMP=1 is set.

For an editable install from Git, clone with submodules:

git clone --branch v0.5 --recurse-submodules https://github.com/yoyolicoris/philtorch.git
cd philtorch
python -m pip install torch  # Choose the correct CPU or CUDA build first.
python -m pip install "setuptools>=77.0.3" "setuptools_scm>=8" wheel
python -m pip install --editable . --no-build-isolation

Package versions come from Git tags through setuptools_scm, so keep the tag metadata when building from a checkout.

Development version

Development builds from dev are published to TestPyPI:

python -m pip install -i https://test.pypi.org/simple/ philtorch

Quickstart

Filtering with SciPy-designed coefficients

import torch
from scipy.signal import butter

from philtorch.lti import filtfilt, lfilter, lfilter_zi

x = torch.randn(201, dtype=torch.float64)

b_np, a_np = butter(3, 0.05)
# Normalize so that a0 = 1, then drop a0 from the denominator.
b = torch.from_numpy(b_np / a_np[0])
a = torch.from_numpy(a_np[1:] / a_np[0])

# lfilter_zi takes (a, b), the reverse of SciPy's lfilter_zi(b, a).
zi = lfilter_zi(a, b)

y, _ = lfilter(b, a, x, zi=zi * x[0])
y_zero_phase = filtfilt(b, a, x)

Module overview

  • philtorch: Root module.
    • lpv: Functions under it are for linear parameter-varying filters.
      • fir:
        • Finite Impulse Response filters.
      • allpole:
        • All-pole filters.
      • lfilter:
        • Parameter-varying version of scipy.signal.lfilter. It supports not only transposed direct form II but also transposed direct form I, direct form I, and direct form II structures.
      • state_space:
        • Parameter-varying state-space models.
      • state_space_recursion:
        • The core recursion function for state-space models.
      • linear_recurrence:
        • A linear recurrence function with scalar coefficients.
    • lti: Functions under it are for linear time-invariant filters.
      • fir:
        • Finite Impulse Response filters.
      • lfilter:
        • A differentiable version of scipy.signal.lfilter. It supports not only transposed direct form II but also transposed direct form I, direct form I, and direct form II structures.
      • filtfilt:
        • A differentiable version of scipy.signal.filtfilt.
      • lfilter_zi:
        • A differentiable version of scipy.signal.lfilter_zi.
      • lfiltic:
        • A differentiable version of scipy.signal.lfiltic.
      • state_space:
        • State-space models.
      • diag_state_space:
        • State-space models with diagonalisable state matrix.
      • delay_state_space:
        • State-space models whose states are delay lines of arbitrary integer length, such as feedback delay networks.
      • state_space_recursion:
        • The core recursion function for state-space models.
      • linear_recurrence:
        • A linear recurrence function with scalar coefficients.
      • comb_filter:
        • Delayed all-pole comb filters.
      • cubic_spline:
        • Cubic-spline interpolation for integer upsampling.
    • utils: Utility functions.
    • mat: Matrix operations.
    • poly: Polynomial operations.

For detailed API reference, please refer to the docstring of each function.

Choose the right API

The supported high-level interfaces are exported from philtorch.lti for fixed coefficients and philtorch.lpv for coefficients that vary over time.

Intent API Notes
Apply a fixed-coefficient causal IIR or FIR filter. philtorch.lti.lfilter or philtorch.lti.fir lfilter supports df2, tdf2, df1, and tdf1 forms.
Apply a fixed-coefficient zero-phase filter. philtorch.lti.filtfilt Runs the LTI filter forward and backward; edge padding is enabled by default and can be disabled with padmode=None.
Construct or recover IIR filter state. philtorch.lti.lfilter_zi or philtorch.lti.lfiltic These helpers use the same normalized a0 = 1 coefficients as lfilter.
Apply a time-varying filter. philtorch.lpv.lfilter, philtorch.lpv.fir, or philtorch.lpv.allpole Coefficient tensors include a time dimension aligned with the input. lpv.lfilter defaults to backend="ssm"; backend="torchlpc" does not support form="tdf2".
Evaluate a scalar linear recurrence. philtorch.lti.linear_recurrence or philtorch.lpv.linear_recurrence Choose the namespace according to whether the recurrence coefficient is fixed or time-varying.
Evaluate a state-space system. philtorch.lti.state_space or philtorch.lpv.state_space Use state_space_recursion directly when only the internal state sequence is needed.
Evaluate an LTI state-space system through eigendecomposition. philtorch.lti.diag_state_space Requires a diagonalisable A, or explicitly supplied L, V, and/or Vinv; diagonalisation failures propagate.
Evaluate an LTI system whose states are delay lines, such as a feedback delay network. philtorch.lti.delay_state_space delays are positive integers, one per line; B, C, D, and out_idx follow state_space. zi holds one initial queue per line, and (y, zf) is returned only when it is given.
Apply an LTI comb filter or cubic-spline interpolation. philtorch.lti.comb_filter or philtorch.lti.cubic_spline These utilities are also part of the public LTI exports.

Comparison with scipy.signal

PhilTorch functions take PyTorch tensors, support autograd and batching, and keep the input dtype and device. Coefficients are normalized so that a0 = 1: divide SciPy's b and a by a[0], then pass a[1:] as the denominator, as in the Quickstart example.

SciPy PhilTorch Differences
lfilter philtorch.lti.lfilter, philtorch.lti.fir Filters the last axis of 1-D or batched 2-D tensors, batches coefficients, and supports df2, tdf2, df1, and tdf1. fir is the batched FIR-only path.
lfiltic philtorch.lti.lfiltic Builds the filter state from past inputs and outputs.
lfilter_zi philtorch.lti.lfilter_zi Takes (a, b), the reverse of SciPy's (b, a).
filtfilt philtorch.lti.filtfilt Defaults to padmode="replicate" and disables padding with padmode=None; method="gust" is not implemented and irlen is unused.
cspline1d, cspline1d_eval philtorch.lti.cubic_spline Upsamples batched 2-D signals by an integer factor only; no arbitrary evaluation points or smoothing (lamb must be zero); uses PyTorch reflect padding unless scipy_padding=True.
dlsim philtorch.lti.state_space Takes A, B, C, D tensors instead of a system object and returns the output, plus the final state when zi is given; no time vector or full state trajectory. dimpulse and dstep can be reproduced with explicit impulse or step inputs.
— philtorch.lpv.lfilter, philtorch.lpv.fir, philtorch.lpv.allpole, philtorch.lpv.state_space Time-varying filters and state-space models whose coefficients carry a time dimension.
— philtorch.lti.linear_recurrence, philtorch.lpv.linear_recurrence, state_space_recursion Differentiable scalar recurrences and internal state sequences.
— philtorch.lti.diag_state_space State-space evaluation through the eigendecomposition of a diagonalizable A.
— philtorch.lti.comb_filter Delayed all-pole comb recurrence with a given coefficient and delay; it does not design filters like iircomb.

Performance

Recursive filters are hard to parallelize, so PhilTorch implements custom C++ and CUDA kernels. With the default unroll_factor=1, the state-space paths (lfilter, state_space, and state_space_recursion) choose a kernel from the device and the filter order, which is the state size M:

Device LTI, M = 1 LTI, M = 2 LTI, M ≥ 3 LPV, M = 1 LPV, M = 2 LPV, M = 3 LPV, M ≥ 4
CPU ✓ ✓ ✓ ✓ ✓ ✓ ✓
CUDA (source builds) ✓ ✓ loop ✓ ✓ ✓¹ loop
MPS ✓² ✗ loop ✗ ✗ loop loop

✓ native kernel · loop: PyTorch recurrence loop · ✗ raises an error because no kernel exists for the device; use CPU or unroll_factor > 1 instead. ¹ Real dtypes only; complex inputs use the loop. ² float32 only.

Setting 1 < unroll_factor < sequence length switches to a block-unrolled PyTorch recursion, which computes blocks in parallel with matrix multiplications (background); larger values fall back to a plain PyTorch loop. It is slower than the native kernels but much faster than a naive loop. Good starting points are 8 on CPU and 16–32 on CUDA, but benchmark your own batch size, sequence length, state size, dtype, and device, for example with torch.utils.benchmark. Native kernels are fastest for first- and second-order filters, so prefer cascades or parallel banks of such sections, especially on CUDA.

Examples

Fibonacci numbers with state_space

philtorch.lti.state_space computes

\begin{aligned}
\mathbf{h}_{n+1} &= \mathbf{A} \mathbf{h}_n + \mathbf{B} \mathbf{x}_n, \\
\mathbf{y}_n &= \mathbf{C} \mathbf{h}_n + \mathbf{D} \mathbf{x}_n.
\end{aligned}

Setting the following, with $\mathbf{B} = \mathbf{D} = 0$ and no input, yields the Fibonacci numbers:

\mathbf{A} = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}, \qquad
\mathbf{C} = \begin{bmatrix} 1 & 0 \end{bmatrix}, \qquad
\mathbf{h}_0 = \begin{bmatrix} 1 \\ 0 \end{bmatrix}.
import torch

from philtorch.lti import state_space

A = torch.tensor([[1, 1], [1, 0]])
C = torch.tensor([1, 0])
x = torch.zeros(1, 10).long()
h0 = torch.tensor([1, 0])
y, _ = state_space(A, x, C=C, zi=h0)
print(y)
tensor([[ 1,  1,  2,  3,  5,  8, 13, 21, 34, 55]])

This produces the first ten Fibonacci numbers, where $F_n = F_{n-1} + F_{n-2}$ with $F_0 = F_1 = 1$.

Learning filter parameters

The low-pass estimation notebook demonstrates learning filter parameters by gradient descent.

Paper and citation

PhilTorch's LTI direct-form filtering work is described in Accelerating Automatic Differentiation of Direct Form Digital Filters by Chin-Yun Yu and György Fazekas.

@inproceedings{yu2025accelerating,
  title={Accelerating Automatic Differentiation of Direct Form Digital Filters},
  author={Yu, Chin-Yun and Fazekas, György},
  booktitle={Differentiable Systems and Scientific Machine Learning Workshop at EurIPS 2025},
  year={2025},
  url={https://openreview.net/forum?id=ZhwIyvtBNB}
}

Metadata

Release files for philtorch 0.6.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 philtorch 0.6.0
File Size Uploaded Provenance
philtorch-0.6.0.tar.gz 131.9 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for philtorch 0.6.0
File
philtorch-0.6.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
philtorch-0.6.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
philtorch-0.6.0-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
philtorch-0.6.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
philtorch-0.6.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
philtorch-0.6.0-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
philtorch-0.6.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
philtorch-0.6.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
philtorch-0.6.0-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details
philtorch-0.6.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
philtorch-0.6.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
philtorch-0.6.0-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details

Total release size: 2.9 MB

Release files / philtorch-0.6.0.tar.gz

Download URL philtorch-0.6.0.tar.gz
Size 131.9 kB
Tags Source
SHA-256 checksum
How to use checksums
06a0601eb03373bd5ab4bb51611f26acdcd1f68a09dd87b5e9108587a585fa02
BLAKE2b-256 checksum
How to use checksums
c635097027eb2927395366644f1cbc881d99f4c55ebf9f139ee59b64d14df119
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp313-cp313-win_amd64.whl

Download URL philtorch-0.6.0-cp313-cp313-win_amd64.whl
Size 179.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
86c1581a248783628f95eb9dea35effa4fcbbfa86c4864f9b1a4492a0937947d
BLAKE2b-256 checksum
How to use checksums
02c91af7ff98b8502dfca986706fb6b7214c75c32f8914a0f03db287a409af34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL philtorch-0.6.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 358.2 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b483b3b13e1fcacad3cb3838f07d350af44a4276e112e11b35abff007eafb597
BLAKE2b-256 checksum
How to use checksums
3208a6c8f55757ef3aa4d99c8221599c3266087a127e62d02dee1f486751291a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp313-cp313-macosx_14_0_arm64.whl

Download URL philtorch-0.6.0-cp313-cp313-macosx_14_0_arm64.whl
Size 166.1 kB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
633206793935c144174febc3345e4fb3fd8579cb8021000b200c31dafb5800fb
BLAKE2b-256 checksum
How to use checksums
f7e09f3310bf254d6b1d5ebe5f485ea811b03547db8ddaae5ba6f39c49cb461b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp312-cp312-win_amd64.whl

Download URL philtorch-0.6.0-cp312-cp312-win_amd64.whl
Size 179.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
70f9d278854d5e3c5608a374fa45b73e9f63c5800db08e57f4bbaee1f37d9ee9
BLAKE2b-256 checksum
How to use checksums
4f675259f7c4ac31088e80893d286fd5fb15b4672fee8fd3b4768aecd717193d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL philtorch-0.6.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 357.8 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1872737e7adfbaff5164afe9126dbae143869659a855188f7e3d9163815da249
BLAKE2b-256 checksum
How to use checksums
29a9fa5620a438da33ca802226c9835c0107d1a86e13c269e9f7f9432e4d9e9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp312-cp312-macosx_14_0_arm64.whl

Download URL philtorch-0.6.0-cp312-cp312-macosx_14_0_arm64.whl
Size 166.1 kB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
6ffb3e1f5caead0b7ccddd048324b785ba826094305c1c13662052fa5deefaee
BLAKE2b-256 checksum
How to use checksums
80ff72f2a3375e3883cfc27d37b32f0b1a8800fdeaa0ed0fdedbc95827865799
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp311-cp311-win_amd64.whl

Download URL philtorch-0.6.0-cp311-cp311-win_amd64.whl
Size 178.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
312a4846cf01bd67b660e0caac85f9d79b8770db6fb4146c1f44a23caadb8503
BLAKE2b-256 checksum
How to use checksums
2840d0195655c2a4b57f4c5fcb1ab888dc2239f14fdbdce92bba047396471812
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL philtorch-0.6.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 358.4 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
77307f1b2e8612d4a964fbeaebce0b07b8fe6b2b1a4730d18a5920553fc478c0
BLAKE2b-256 checksum
How to use checksums
0ef7f0c3dd714d788e44c768ba959af70e6dbf8870b9c16eaf48eaef0c4821a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp311-cp311-macosx_14_0_arm64.whl

Download URL philtorch-0.6.0-cp311-cp311-macosx_14_0_arm64.whl
Size 166.0 kB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
0658002401e4d9e98de32c7ac295a6bffe4ca3c0606ac8a6922fd23330ce1c45
BLAKE2b-256 checksum
How to use checksums
eefed51b8a3f1280b0df28db1324acfe0d620a534005fe020197e9215a7da0a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp310-cp310-win_amd64.whl

Download URL philtorch-0.6.0-cp310-cp310-win_amd64.whl
Size 177.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e809a1c7d8b4bf6c19a2859cdd98212da179a4b2bc0faf1c670a8365ab729b9f
BLAKE2b-256 checksum
How to use checksums
3bc5a72038041eb42fb74f6dd174388149d378ededcbca08226055713b8661da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL philtorch-0.6.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 355.7 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0622045e2e0160e99f0ac151c686f80158a87809f78406e26de2b5dae99d8d9e
BLAKE2b-256 checksum
How to use checksums
f25f2e50257685ea48eb8cac147bec38162c9147ac730459acaee23025a26cb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Release files / philtorch-0.6.0-cp310-cp310-macosx_14_0_arm64.whl

Download URL philtorch-0.6.0-cp310-cp310-macosx_14_0_arm64.whl
Size 166.0 kB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
ba01ba8c3e1801dc3262e097c7337cc277f40e53dae084611b70d990b953877b
BLAKE2b-256 checksum
How to use checksums
21c296280b3d404c3a123a661e80027700fe6b365e8c4cc56985da67fe63826e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 2, 2026.

Transparency log

Security for philtorch 0.6.0

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 13 files in this release have been uploaded with provenance metadata.

Select from 13 files

Attestation for philtorch-0.6.0.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 Oct 2, 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.

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