fastcpd for Python
fastcpd provides fast change-point detection for Python through the same
canonical C++ implementation used by the standalone cpp branch of
fastcpd.
The Python package is independently buildable: it does not require R, invoke
R code generation, or download another fastcpd repository.
Install
python -m pip install fastcpd
import numpy as np
from fastcpd import detect_mean
data = np.concatenate([np.zeros(50), np.full(50, 5.0)])
result = detect_mean(data)
print(result.cp_set)
The public API includes mean, variance, mean/variance, exponential, VAR, linear, lasso, binomial, Poisson, quantile, GARCH, AR, ARMA, and ARIMA change detection, plus rank and kernel transforms. The generic detector also accepts Python custom cost callbacks.
Version 1.3.0 is the first source interface coordinated with the R and
standalone C++ packages. Portable built-in detectors share native algorithms,
defaults, seeded scalar-randomness behavior, change points, costs, parameters,
residual layout, and supported confidence diagnostics. R formulas and data
frames are R-only. Each language exposes its own custom-cost adapter: R
accepts functions and compiled external pointers, C++ accepts std::function,
and Python accepts callables. NumPy generator streams and the immutable
CpdResult container are Python-native extensions. Built-in Python detectors
remain GIL-free; custom-cost calls reacquire the GIL around the callback.
As in R, generic detect(..., family=...) accepts family="kcp"; the
rank and kernel spellings are wrapper-only, through detect_rank() and
detect_kernel() respectively.
Python does not expose the removed R fastcpd_ts() umbrella. Use
detect(data=..., family=...) or a family-specific wrapper such as
detect_ar() directly.
Custom costs are supported through family="custom". A one-argument
cost(segment) callback supplies a PELT segment cost. A two-argument
cost(segment, theta) callback supplies a SEN cost and must be paired with
cost_gradient(segment, theta) and cost_hessian(segment, theta). Callbacks
receive a two-dimensional NumPy segment array; the gradient is a vector and
the Hessian is a square matrix. Callback execution reacquires the GIL, while
built-in detector families retain the GIL-free native path.
import numpy as np
from fastcpd import detect
data = np.r_[np.zeros(50), np.full(50, 5.0)]
def squared_error(segment):
centered = segment - segment.mean(axis=0)
return float((centered * centered).sum() / 2)
result = detect(data, family="custom", cost=squared_error, beta=5)
Custom callbacks are reused for bootstrap refits through the stored
CpdResult.fit_kwargs; generic profile and Wald intervals remain unavailable
because their likelihood-specific calculations cannot be inferred from an
arbitrary callback.
Callable multiple_epochs schedules remain unavailable in Python, while R and
standalone C++ expose native callback types. Python accepts only
multiple_epochs=None for this separate callback schedule.
detect_var(data, order=p) accepts the raw multivariate time series and
constructs its lagged VAR design internally, matching the R interface. For an
already-constructed response/predictor matrix, use
detect(data, family="mgaussian", p_response=q) directly. The ambiguous
pre-1.0 Python form var(data, order=p, p_response=q) is no longer accepted:
detect_var() always means raw VAR input in the portable interface.
detect_arima(data, order=(p, d, q)) differences every candidate segment
independently in the shared native R/Python implementation. Returned change
points therefore use the original-series indices, and no cross-boundary
difference contaminates either adjacent segment. The likelihood is zero-mean
(include_mean=False), and d=0 is identical to detect_arma().
detect_kernel(data, order=(D, sigma)) (also exposed as detect_kcp()) uses
D random Fourier features and an RBF bandwidth sigma. As in R, an empty
order, a non-positive D, or a non-positive sigma selects the documented
defaults/median heuristic, and entries after the first two are ignored. Python
raises ValueError for non-finite values or positive non-integer feature
counts before allocating the feature matrix.
An integer random_state reproduces R's default set.seed() stream for the
bandwidth sample, normal feature weights, and uniform phases. Passing a NumPy
Generator or legacy RandomState deliberately retains that object's native
Python stream. Constant-valued input uses a finite unit-bandwidth fallback and
therefore returns no artificial change points.
result.confint() supports profile change-point intervals for mean, variance,
mean/variance, exponential, linear, binomial, Poisson, quantile, and ARIMA
models. Wald parameter intervals are available for mean, exponential, linear,
binomial, and Poisson fits. ARIMA profile intervals reuse the same native
segment-local likelihood as detection.
For bootstrap intervals, an integer random_state reproduces R's seed
stream for both within-segment resampling and any seeded KCP refits. NumPy
generator objects continue to use their native sampling semantics.
Result contract
Every detection call returns a frozen CpdResult dataclass. Change points are
read-only NumPy int64 arrays; costs, residuals, and parameters are read-only
floating-point arrays. The result stores a read-only copy of the original
data plus the public family and order, so result.confint() can refit without
repeating them.
Residuals use the portable (observation, response) layout, including one
leading all-NaN row per autoregressive lag. Rank detection computes its
details on centered ranks; Python retains the original observations in
result.data so bootstrap refits can repeat the transform, while R retains
the transformed data in its language-specific S4 container.
cp_only=True keeps the same result type and skips detailed native output;
cost_values, residuals, and thetas are empty and
result.details_available is false. This avoids a return-type branch in user
code while retaining the lower-cost detection path.
The extension accepts NumPy buffers directly and returns NumPy arrays without nested-list conversion. It releases the Python GIL while the shared C++ detector runs, allowing other Python threads to make progress.
Native build
Python packaging uses scikit-build-core and CMake. The source distribution
contains the shared C++ source and headers, so it builds without R or Bazel.
CMake fetches the pinned Armadillo headers and Abseil release. Linux builds
require BLAS/LAPACK development libraries (OpenBLAS is recommended), macOS
uses the system Accelerate framework, and Windows builds bundle the pinned
OpenBLAS DLL.
On Ubuntu/Debian, install the native prerequisites with:
sudo apt-get install g++ liblapack-dev libopenblas-dev
Then build and test an installed wheel:
python -m pip install -r requirements_lock.txt
python -m build --wheel
python -m pip install dist/fastcpd-*.whl
python -m pytest tests/test_fastcpd.py -m "not long"
Documentation: https://x2r.io/fastcpd/?lang=python
See CHANGELOG.md for Python release notes and MIGRATION.md for the transition from the independent 0.x line to the coordinated cross-language interface.
Release files for fastcpd 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fastcpd-1.3.0.tar.gz | 153.5 kB | Details |
Built distributions (wheels)
Total release size: 136.2 MB
Release files / fastcpd-1.3.0.tar.gz
| Download URL | fastcpd-1.3.0.tar.gz |
|---|---|
| Size | 153.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f901af09f3945385fecf577db3ecde6ba33cacc33ca38da789ce2bd8f99b574
|
|
BLAKE2b-256 checksum How to use checksums |
7f7ab315e3054d9c03dcaa128676b1cb44d8f1bb09fef7192c1cbe5d48d224c5
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp314-cp314-win_amd64.whl
| Download URL | fastcpd-1.3.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 13.4 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9daae249c4e33a31aa35ed793394939731b50b8bb0569128a15e1975ef129a53
|
|
BLAKE2b-256 checksum How to use checksums |
32eea675c68b4f981fe470a3ff5461d496ade7ec3a0f399fa2642a64e60b750a
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastcpd-1.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
67c3dedb72c451a47ea0eee1e595d98e8a2feac4ebb93fe6fb318f2447a7efc4
|
|
BLAKE2b-256 checksum How to use checksums |
d9d6882d29835369761c6adfead7970f8dcbdbe46d360509e573facf28f54c90
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | fastcpd-1.3.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f13aada823d21d57f3748037c621e507ea363132a5867d7eda3af611969547fd
|
|
BLAKE2b-256 checksum How to use checksums |
27c47e9e5e75f80d31c3004cf473ff262d47adcf5eca2340c957758b7c00cb99
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | fastcpd-1.3.0-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
4d34782b2a2e9584edf74ebb8e02e50cb957c9fe1e117e8979c952e3013c19ed
|
|
BLAKE2b-256 checksum How to use checksums |
c4260bca7ac6e13758e664ef896d0532cc60ea86cf6c6c4ffff0eccbd9004463
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp313-cp313-win_amd64.whl
| Download URL | fastcpd-1.3.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 13.1 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
30fd477cc8946076c8ea9082f1eda2a46c1346db3a3c830f33c9aec4afcb62c6
|
|
BLAKE2b-256 checksum How to use checksums |
18fec69b1920d330cc7e4d3c5484d4f6a81ff408431500de4e76c9b063a6ce54
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastcpd-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d625ce732fe7141dde9e93dc69b1ae54eb9b9f98e6274210adcca0cd14113562
|
|
BLAKE2b-256 checksum How to use checksums |
63ab7233c3b6f4bbfe637dc8fd60813b704d31f8138af2b15a48f72d4d776e3d
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | fastcpd-1.3.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
44b58776d8b24de586cd13d5fd11d0c8d806809584333209bf023c1a00df0fc7
|
|
BLAKE2b-256 checksum How to use checksums |
9323ce012c174d9d6beebda5580dc7e3c2f43dd0dd26c26369578979e4af2e10
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | fastcpd-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
3d7f2a78f34ab5669049770e10101cccbfa7cef73f41271b5f7e1cd2bcabe8ae
|
|
BLAKE2b-256 checksum How to use checksums |
26983c5833b892696d2f6d99f2e9b97e3d59f85acfbe59ebc1c2a3bc100dd53b
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp312-cp312-win_amd64.whl
| Download URL | fastcpd-1.3.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 13.1 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1820f552ed496470563fc3234a8d28188b3612d14c163e8f9ae748dbf66270dc
|
|
BLAKE2b-256 checksum How to use checksums |
0a55ac07cb5b893ebeb193fb1b5cb1dd48d06d9f122ed095bd186baebc1510e7
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastcpd-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e0a18860828c3f07f8d8124f562017d1def0b1e43dc7c370690dad79b360670b
|
|
BLAKE2b-256 checksum How to use checksums |
9b023eddcc1aeb8945d1a85690729ab79a903c9bf0a6cfa14e2e01c5f4478509
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | fastcpd-1.3.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7b99da8915f7741e77d8686c189e7ef2418ccecd98ba03613198c63f6a2738c0
|
|
BLAKE2b-256 checksum How to use checksums |
235ee0220f10c99e3e1f2c03327af35183b2d039b92a6b00a98d0168a8ead599
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | fastcpd-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
96ec011adde40eb4d89dff5719503131802025c639a44f3c6a533844bffd8534
|
|
BLAKE2b-256 checksum How to use checksums |
3079c9753a212378801fb339fef1db5b7fcc82fe57662ff05310e3d0c76eda72
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp311-cp311-win_amd64.whl
| Download URL | fastcpd-1.3.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 13.1 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8a15de1999d79ae22d8dd1b9cbb1ea59c7edea7ddcc215a44897e08b87bfd0d3
|
|
BLAKE2b-256 checksum How to use checksums |
02a992b1cf0e62f43810043430975b24342cb49985d521ea82f1f39eaaf66a06
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastcpd-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2e9e4a61b27107b2600849fc975896ff3cd38aaa385043ef20e77977c865245d
|
|
BLAKE2b-256 checksum How to use checksums |
fcdc213feaecf76c2aa932fd1ff8249ce0f555d9c2da21017c4b8dffda9a0f68
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | fastcpd-1.3.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
525af2741cdd2d8c6537f0ee248831539ab022b485a2f1027cfa66e74c89d853
|
|
BLAKE2b-256 checksum How to use checksums |
51323c9fde001df1ed424ec562111a808e6fd0c164258ca9cb688d702e9a1f41
|
| 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 Sep 20, 2026.
Transparency logRelease files / fastcpd-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | fastcpd-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
b46475dbb3216e161cd1c2a209085c4de819c3c1bc3db499b30e3ae074142bb7
|
|
BLAKE2b-256 checksum How to use checksums |
97c5310c2ae048b452219d21e670bfcabea4bda16dda8d6ed08f203a1278b1ce
|
| 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 Sep 20, 2026.
Transparency log