PYXCCD
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:
Near real-time monitoring: Implements the unique S-CCD algorithm, which recursively updates model coefficients and enables timely change detection.
Latest CCDC (COLD): Integrates the advanced COLD algorithm, offering the highest retrospective breakpoint detection accuracy to date, validated against Zhe’s MATLAB version.
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.
Flexible multi-sensor support: Supports arbitrary band combinations from diverse sensors (e.g., Sentinel-2, MODIS, GOSIF, and SMAP) in addition to Landsat.
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 |
||||||
1 |
Forest fire |
Sichuan, China |
HLS2.0 |
30 m |
2–3 days |
|
2 |
Forest insects |
CO & MA, United States |
Landsat |
30 m |
8–16 days |
|
3 |
Crop dynamics |
Henan, China |
Sentinel-2 |
10 m |
5 days |
|
4 |
General disturbances |
Zhejiang, China |
HLS2.0 |
30 m |
2–3 days |
|
5-1 |
Greening |
Tibet, China |
MODIS |
500 m |
16 days |
|
5-2 |
Precipitation seasonality |
Arctic |
GPCP |
2.5° |
Monthly |
|
6 |
Agricultural drought |
Rajasthan, India |
GOSIF |
0.05° |
8 days |
|
7 |
Forest logging |
Sichuan, China |
HLS2.0 |
30 m |
2–3 days |
|
8 |
Soil moisture |
Henan, China |
FY3B |
25 km |
Daily |
|
9 |
Phenology extaction |
MI, USA |
HLS2.0 |
30 m |
2–3 days |
|
10 |
Efficiency & accuracy test |
CONUS |
Landsat |
30 m |
8–16 days |
|
11 |
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:
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:
whether the reference disturbance definition matches what COLD/S-CCD detects;
temporal tolerance between the detected break date and reference disturbance date;
cloud, shadow, snow, and other preprocessing errors;
parameter settings and model initialization;
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)
| 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)
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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logSecurity 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.
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 logA 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.