Skip to main content

PYXCCD

GithubActions Pypi Downloads ReadTheDocs

A PYthon library for latest and eXtended Continuous Change Detection

Author: Su Ye (remotesensingsuy@gmail.com)

The Continuous Change Detection and Classification (CCDC) algorithm has been popular for processing satellite-based time series datasets, particularly for Landsat-based datasets. As a CCDC user, you may already be familiar with the existing CCDC tools such as pyccd and gee ccdc.

Wait.. so why does the pyxccd package still exist?

We developed pyxccd mainly for the below purposes:

  1. Near real-time monitoring: Implements the unique S-CCD algorithm, which recursively updates model coefficients and enables timely change detection.

  2. Latest CCDC (COLD): Integrates the advanced COLD algorithm, offering the highest retrospective breakpoint detection accuracy to date, validated against Zhe’s MATLAB version.

  3. Efficient Large-scale time-series processing: The core of pyxccd is written in C language, ensuring high computational efficiency and low memory usage in the desktop as well as HPC environments.

  4. Flexible multi-sensor support: Supports arbitrary band combinations from diverse sensors (e.g., Sentinel-2, MODIS, GOSIF, and SMAP) in addition to Landsat.

  5. State-space model incoporation: S-CCD allows modeling trend and seasonal signals as time-varying variables (namely “states”) guided by break detection, enabling (a) characterization of subtle inter-segment variations (e.g., phenological shifts) and (b) gap filling that accounts for land cover conversions (temporal breaks).

1. Installation

pip install pyxccd

Note: the installation has been cross-platform (Windows, Linux and MacOS), python >= 3.9. Contact the author (remotesensingsuy@gmail.com) if you have problems for installation

2. Using pyxccd for pixel-based processing

COLD:

from pyxccd import cold_detect
import pandas as pd
data = pd.read_csv('tutorial/datasets/1_hls_sc.csv')
dates, blues, greens, reds, nirs, swir1s, swir2s, thermals, qas, sensor = data.to_numpy().copy().T
cold_result = cold_detect(dates, blues, greens, reds, nirs, swir1s, swir2s, thermals, qas)

COLD algorithm for any combination of band inputs from any sensor:

from pyxccd import cold_detect_flex
# input a user-defined array instead of multiple lists
cold_result = cold_detect_flex(dates, np.stack((reds, nirs, swir1s), axis=1), qas, lambda=20,tmask_b1_index=1, tmask_b2_index=2)

S-CCD:

# require offline processing for the first time
from pyxccd import sccd_detect, sccd_update
sccd_pack = sccd_detect(dates, blues, greens, reds, nirs, swir1s, swir2s, qas)

# then use sccd_pack to do recursive and short-memory NRT update
sccd_pack_new = sccd_update(sccd_pack, dates, blues, greens, reds, nirs, swir1s, swir2s, qas)

S-CCD for outputting continuous seasonal and trend states:

# open state output (state_ensemble) by setting state_intervaldays as a non-zero value
sccd_result, state_ensemble = sccd_detect(dates, blues, greens, reds, nirs, swir1s, swir2s, qas, state_intervaldays=1)

3. Tutorials

No.

Topics

Applications

Location

Time series

Resolution

Density

0

Introduction

1

Break detection

Forest fire

Sichuan, China

HLS2.0

30 m

2–3 days

2

Parameter selection

Forest insects

CO & MA, United States

Landsat

30 m

8–16 days

3

Flexible choice for inputs

Crop dynamics

Henan, China

Sentinel-2

10 m

5 days

4

Tile-based processing

General disturbances

Zhejiang, China

HLS2.0

30 m

2–3 days

5-1

State analysis 1

Greening

Tibet, China

MODIS

500 m

16 days

5-2

State analysis 2

Precipitation seasonality

Arctic

GPCP

2.5°

Monthly

6

Anomalies vs. breaks

Agricultural drought

Rajasthan, India

GOSIF

0.05°

8 days

7

Near real-time monitoring

Forest logging

Sichuan, China

HLS2.0

30 m

2–3 days

8

Gap filling

Soil moisture

Henan, China

FY3B

25 km

Daily

9

Phenology

Phenology extaction

MI, USA

HLS2.0

30 m

2–3 days

10

Evaluation

Efficiency & accuracy test

CONUS

Landsat

30 m

8–16 days

11

Break consistency

Postprocessing for consistency

Example pixel

Landsat

30 m

8–16 days

Tutorial datasets: Github link, 夸克硬盘 (for China mainland)

4. GUI

We provided GUI to quickly test S-CCD or COLD algorithms using point-based time series formated in CSV or EXCEL:

夸克硬盘 (for China mainland)

Dropbox (for outside China mainland)

5. Documentation

API documents: readthedocs

Technical details and performance: pyxccd paper

6. Citations

If you make use of the algorithms in this repo (or to read more about them), please cite (/see) the relevant publications from the following list:

[PYXCCD] Ye, S., & Hu, Y. (2026). Pyxccd: An Efficient Python Package for Break-aware Time Series Analysis of Earth Observation Data.

[S-CCD] Ye, S., Rogan, J., Zhu, Z., & Eastman, J. R. (2021). A near-real-time approach for monitoring forest disturbance using Landsat time series: Stochastic continuous change detection. Remote Sensing of Environment, 252, 112167.

[COLD] Zhu, Z., Zhang, J., Yang, Z., Aljaddani, A. H., Cohen, W. B., Qiu, S., & Zhou, C. (2020). Continuous monitoring of land disturbance based on Landsat time series. Remote Sensing of Environment, 238, 111116.

7. Bibliography

The following publications have used pyxccd in their research.

Publications by the Development Team:

1. Liao, R., Guo, C., Chen, L., Jiang, Y., Tao, Y., Liao, J., … & Ye, S. (2026). Near-real-time mapping for causal agents of forest disturbances in China using harmonized Landsat and Sentinel-2 dataset. Remote Sensing of Environment, 342, 115461.

2. Ye, S., & Hu, Y. (2026). Pyxccd: An Efficient Python Package for Break-Aware Time Series Analysis of Earth Observation Data.

3. Ye, S., Zhu, Z., & Suh, J. W. (2024). Leveraging past information and machine learning to accelerate land disturbance monitoring. Remote Sensing of Environment, 305, 114071.

4. Ye, S., Zhu, Z., & Cao, G. (2023). Object-based continuous monitoring of land disturbances from dense Landsat time series. Remote Sensing of Environment, 287, 113462.

5. Ye, S., Rogan, J., Zhu, Z., Hawbaker, T. J., Hart, S. J., Andrus, R. A., … & Kulakowski, D. (2021). Detecting subtle change from dense Landsat time series: Case studies of mountain pine beetle and spruce beetle disturbance. Remote Sensing of Environment, 263, 112560.

6. Ye, S., Rogan, J., Zhu, Z., & Eastman, J. R. (2021). A near-real-time approach for monitoring forest disturbance using Landsat time series: Stochastic continuous change detection. Remote Sensing of Environment, 252, 112167.

Applications and Studies by Other Researchers:

7. Schiller, C., & Fassnacht, F. E. (2026). Comparative study of near real-time monitoring algorithms for early detection of bark beetle infestations in Germany with Sentinel-2. European Journal of Remote Sensing, 59(1), 2662660.

8. Schraik, D., Ursin, A., & Packalen, P. (2026). Detection of non-stand-replacing cuttings using satellite image time series with a Kalman filter. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing.

9. Wang, S., & Wang, L. (2026). Quantifying high spatiotemporal impervious surface change with time series PlanetScope imagery. Remote Sensing Applications: Society and Environment, 101890.

10. Hong, F., Hedges, S. B., Yang, Z., Suh, J. W., Qiu, S., Timyan, J., & Zhu, Z. (2025). Decoding primary forest changes in Haiti and the Dominican Republic using Landsat time series. Remote Sensing of Environment, 318, 114590.

11. Abdallah, M., Ali, E., Ding, X., & Wu, S. (2025). An improved COLD approach for monitoring construction dynamics using HLS and LULC data: A case study in the New Capital of Egypt. ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 3–10.

12. Healey, N. C., Barber, C. P., Smith, K., Mital, R., Brown, J. F., & Robison, C. (2025). Resiliency of land change monitoring efforts to input data resampling. Frontiers in Remote Sensing, 6, 1570580.

13. Suh, J. W., Zhu, Z., & Zhao, Y. (2024). Monitoring construction changes using dense satellite time series and deep learning. Remote Sensing of Environment, 309, 114207.

14. Mota, F. B. D. S., Ferreira, K. R., & Escada, M. I. S. (2024). Evaluating forest disturbance detection methods based on satellite image time series for Amazon deforestation alerts. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 48, 357–364.

Last updated: October 31, 2026.

Q&A

Q1: Has pyxccd been verified?

Re: Multiple rounds of verification have been conducted. A comparison based on two testing tiles indicates that differences between pyxccd and the MATLAB implementation are minimal, with discrepancies of less than 2% in both breakpoint detection and harmonic coefficients. Furthermore, the accuracy of pyxccd was evaluated against the same reference dataset used in the original COLD study (Zhu et al., 2020). The results demonstrate that COLD in pyxccd achieves equivalent accuracy (27% omission and 28% commission), confirming that the observed discrepancies do not compromise performance. The primary source of the discrepancy stems from numerical precision: MATLAB employs float64, whereas pyxccd uses float32 to reduce memory consumption and improve computational efficiency.

Q2: why was the disturbance detection accuracy of COLD or S-CCD unexpectedly lower (e.g., UA or PA < 60%)?

Re: there are a variety of reasons. A common reason is that all detected breaks were treated as disturbance events without filtering out recovery-related breaks. COLD and S-CCD detect statistically significant changes in the time series, but not every detected break represents a disturbance. A pixel may first experience recovery, regrowth, or restoration, producing another valid breakpoint. If these recovery-related breaks are also counted as disturbances, the number of false positives can increase substantially, leading to high commission error. When generating a disturbance map from COLD results, use pyxccd.utils.getcategory_cold() or pyxccd.utils.getcategory_cold_flex (flexible mode) to classify the detected breaks and retain only disturbance-related categories. For S-CCD results, use the corresponding getcategory_sccd() function.

If accuracy is still low after break classification, also check:

  1. whether the reference disturbance definition matches what COLD/S-CCD detects;

  2. temporal tolerance between the detected break date and reference disturbance date;

  3. cloud, shadow, snow, and other preprocessing errors;

  4. parameter settings and model initialization;

  5. subtle or gradual disturbances that may not produce strong spectral changes.

Q3: how much time for production of a tile-based disturbance map (5000*5000 pixels) using pyxccd?

Re: I tested COLD in UCONN HPC environment (200 EPYC7452 cores): for processing a 40-year Landsat ARD tile (1982-2021), the stacking typically takes 15 mins; per-pixel COLD processing costs averagely 1 hour, while per-pixel S-CCD processing costs averagely 0.5 hour; exporting maps needs 7 mins.

Metadata

Release files for pyxccd 1.1.1

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

Source distribution (sdist)

Source distribution for pyxccd 1.1.1
File Size Uploaded Provenance Actions
pyxccd-1.1.1.tar.gz 13.7 MB With provenance Details for pyxccd-1.1.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pyxccd 1.1.1
File Actions
pyxccd-1.1.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pyxccd-1.1.1-cp313-cp313-win_amd64.whl
pyxccd-1.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pyxccd-1.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyxccd-1.1.1-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details for pyxccd-1.1.1-cp313-cp313-macosx_15_0_arm64.whl
pyxccd-1.1.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pyxccd-1.1.1-cp312-cp312-win_amd64.whl
pyxccd-1.1.1-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 pyxccd-1.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyxccd-1.1.1-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details for pyxccd-1.1.1-cp312-cp312-macosx_15_0_arm64.whl
pyxccd-1.1.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pyxccd-1.1.1-cp311-cp311-win_amd64.whl
pyxccd-1.1.1-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 pyxccd-1.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyxccd-1.1.1-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details for pyxccd-1.1.1-cp311-cp311-macosx_15_0_arm64.whl
pyxccd-1.1.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pyxccd-1.1.1-cp310-cp310-win_amd64.whl
pyxccd-1.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pyxccd-1.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyxccd-1.1.1-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details for pyxccd-1.1.1-cp310-cp310-macosx_15_0_arm64.whl
pyxccd-1.1.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for pyxccd-1.1.1-cp39-cp39-win_amd64.whl
pyxccd-1.1.1-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 pyxccd-1.1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyxccd-1.1.1-cp39-cp39-macosx_15_0_arm64.whl CPython 3.9 CPython 3.9 macOS 15.0+ ARM64 Details for pyxccd-1.1.1-cp39-cp39-macosx_15_0_arm64.whl

Total release size: 130.7 MB

Release files / pyxccd-1.1.1.tar.gz

Download URL pyxccd-1.1.1.tar.gz
Size 13.7 MB
Tags Source
SHA-256 checksum
How to use checksums
f6478ce1feb4d4b6bca7d8a0e4b6c244854f7a9659ac246e195181f8a2ccd0fc
BLAKE2b-256 checksum
How to use checksums
14d8e466369729ff3730ead2a2e0bc6255c26bbbac7722265c8beb8aeab9e947
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp313-cp313-win_amd64.whl

Download URL pyxccd-1.1.1-cp313-cp313-win_amd64.whl
Size 1.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
12e94f3937ea8fcf2bfef18f0e6cbe97c0d4140812d4a5b4ed9bfebdf40c7d26
BLAKE2b-256 checksum
How to use checksums
211f6d372c29d0679818d058076818804ce59fe5935b2944ca802e5b1cd52690
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyxccd-1.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fcdc002486a35d105b41ef320f74b3aa0fb97b803793b088f6d42f7008e59252
BLAKE2b-256 checksum
How to use checksums
74e409522452daa6a7940916a5e3adc8605ab2c9ebc7a32139c2cb8bb0754186
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp313-cp313-macosx_15_0_arm64.whl

Download URL pyxccd-1.1.1-cp313-cp313-macosx_15_0_arm64.whl
Size 15.8 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
b784a927eccbbe2ebd8abe0d4f7a123d57653d639850d68301ac37944debfd47
BLAKE2b-256 checksum
How to use checksums
24df6de23600173e7ec7e0f4e72c30146f72ecec38d3fe7d1616f15b5e6c04eb
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp312-cp312-win_amd64.whl

Download URL pyxccd-1.1.1-cp312-cp312-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
92f9a6f0a83fb989245660c948b6e20555083042460112fc3ca893039cf25298
BLAKE2b-256 checksum
How to use checksums
1ff2f3ac93ac201bcd2467a1992570f84180c23d081b7a14a07d0210a9717ac5
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyxccd-1.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
16ad7b0fb0817ad74d3cd26204e1b0b537263b39a9e68ea73012c81e88d59e82
BLAKE2b-256 checksum
How to use checksums
6f17b88c292290d10cf6e61be0f2ad842f911ea297c74f1b90500cf53b9b9749
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp312-cp312-macosx_15_0_arm64.whl

Download URL pyxccd-1.1.1-cp312-cp312-macosx_15_0_arm64.whl
Size 15.8 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
e1ca5c70a2da6304d7e1d0f0264699912830c04734320231f09dc29192c01567
BLAKE2b-256 checksum
How to use checksums
19a91cd350999b18774fbc4ad2c39f89a8601c290c1d546ac10439c7ba0af22e
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp311-cp311-win_amd64.whl

Download URL pyxccd-1.1.1-cp311-cp311-win_amd64.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
de9090cd977b63a805eaafdc746361b2369aaaaf4e0fc3ff50ab5c7b82c9e102
BLAKE2b-256 checksum
How to use checksums
ed992d24159e691fb07b4cf4603f49d08082dcd89e50f93e91638844cb43be75
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyxccd-1.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
66c1f9a9d10235c511ec150899d975c3c7a1c3c617c0c4efa1e317811ef6c568
BLAKE2b-256 checksum
How to use checksums
d86ffd333b81e2967aabce030ade66848c6fbeddcd09a060b40bce3f20a43464
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp311-cp311-macosx_15_0_arm64.whl

Download URL pyxccd-1.1.1-cp311-cp311-macosx_15_0_arm64.whl
Size 15.8 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
e7c20847d62dce2278860ec41b0c4df9404f4086c246ea46864794cce8a14413
BLAKE2b-256 checksum
How to use checksums
58fb6730131553265a7d6d4b624065e9ff005de2244f15c7244409532254cec4
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp310-cp310-win_amd64.whl

Download URL pyxccd-1.1.1-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
56a6ad3732d290d8535491cea8ecacd525546075a50df5bb80473459108100dd
BLAKE2b-256 checksum
How to use checksums
829d9803a2c3efa230d62932a6511eb73e18c255e6efaf1550de7dc3a2b956ed
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyxccd-1.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dce6add6ec7fdf89678a5e735fdb82fed66b903c00daa4a24b85150e4446c164
BLAKE2b-256 checksum
How to use checksums
5b4a89a69f6ba2dc22dfaafc266eab3b7390a3637e672ee1605cf521e237a8ef
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp310-cp310-macosx_15_0_arm64.whl

Download URL pyxccd-1.1.1-cp310-cp310-macosx_15_0_arm64.whl
Size 15.8 MB
Tags CPython 3.10 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
38a459a22c6292d942596b977c7cd4d312c32597026aa8dc6f292611ca8a7b6b
BLAKE2b-256 checksum
How to use checksums
42f6a971ca12fbf2ac7bde975d0d33de4fee92a381f631165971bb6a1e4fa7e6
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp39-cp39-win_amd64.whl

Download URL pyxccd-1.1.1-cp39-cp39-win_amd64.whl
Size 1.1 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
e0507929c120c1cf9e0c5a945e2f5048d9f13e6677bd9160d2c191efad765596
BLAKE2b-256 checksum
How to use checksums
2f8bb517f90b4f8ddc775eb51d28477daaccabd4bb252573bdbefff400015f91
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyxccd-1.1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a1f7b5ecee164fce4dfc7c8a9d37f7b5bf60981231436222edbdef675c12ba6b
BLAKE2b-256 checksum
How to use checksums
87c728875716834d317ed36e6b1f524a501e214b5c2f373c93a628581a4bc1f3
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 5, 2026.

Transparency log

Release files / pyxccd-1.1.1-cp39-cp39-macosx_15_0_arm64.whl

Download URL pyxccd-1.1.1-cp39-cp39-macosx_15_0_arm64.whl
Size 15.8 MB
Tags CPython 3.9 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
7ebc83bd05a7dafab8253f73025d4f77ae7b66d56c55e7a503293df6cdd6a367
BLAKE2b-256 checksum
How to use checksums
b7392960ab38d4a3d39430b100769f4b0eaba2b2a77477b479c5396c8046ebc5
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 5, 2026.

Transparency log

Security for pyxccd 1.1.1

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

Select from 16 files

Attestation for pyxccd-1.1.1.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 5, 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