Compare Alternatives

DeTime is useful when the project needs one decomposition workflow across Python, CLI, saved artifacts, and machine-readable metadata. Specialist packages remain the better choice when you only need their deepest family- specific API.

Before and after

Specialist glue different configs, result objects, filenames, and backend rules per package
DeTime layer one DecompositionConfig, one DecompResult, one CLI artifact contract
Reviewable output summary/meta/full JSON modes, method catalog, schemas, and reproducible figures

Software matrix

Axis DeTime statsmodels PyEMD PyWavelets PySDKit SSALib sktime
Best fit cross-method workflow classical decomposition/statistics EMD-family work wavelet transforms broad signal decomposition SSA-focused work broader time-series ecosystem
Shared config/result contract yes partial no no partial SSA-specific no
CLI, batch, profiling yes no no no limited no partial
Machine-readable catalog/schemas yes no no no no no no
Multivariate under one surface yes limited family-specific transform-specific yes no partial
Where it is deeper workflow reproducibility statistical modeling EMD variants wavelet tooling decomposition breadth SSA workflows ecosystem breadth

Package-by-package reading

Package Use it directly when Use DeTime when
statsmodels you need the full statistical modeling stack you want STL / MSTL output in the same contract as other methods
PyEMD you need deeper EMD-family controls you want EMD / CEEMDAN beside SSA, STD, VMD, and CLI artifacts
PyWavelets you need transform-specific wavelet APIs you want wavelet decomposition as one option in a broader workflow
PySDKit you need its broad signal-decomposition catalog you want selected optional multivariate backends behind DeTime metadata and I/O
SSALib you only need SSA-family tooling you want SSA as one flagship method in a cross-family package
sktime you need a large time-series ML ecosystem you want decomposition outputs with DeTime's artifact and schema contract

Runtime snapshot

The release evidence includes a reproducible runtime snapshot generated by scripts/generate_performance_snapshot.py. The current committed snapshot was generated on Windows 10, Python 3.11.9, AMD64, with native SSA, STD, STDR, MA_BASELINE, MSSA, VMD, and GABOR_CLUSTER capabilities available.

Method Python mean runtime (ms) Native mean runtime (ms) Speedup
SSA 13.668 1.906 7.172x
STD 0.153 0.024 6.484x
STDR 0.176 0.018 9.916x
MA_BASELINE 0.071 0.015 4.771x
MSSA 70.039 25.727 2.722x
VMD 50.140 14.482 3.462x
GABOR_CLUSTER 2.694 0.195 13.806x

These numbers are a release smoke snapshot, not a universal benchmark.

Evidence appendix

Generated comparison files - [`comparison_evidence.json`](assets/generated/evidence/comparison_evidence.json) - [`comparison_capability_matrix.csv`](assets/generated/evidence/comparison_capability_matrix.csv) - [`comparison_install_matrix.csv`](assets/generated/evidence/comparison_install_matrix.csv) - [`comparison_family_fairness.csv`](assets/generated/evidence/comparison_family_fairness.csv) - [`comparison_agent_matrix.csv`](assets/generated/evidence/comparison_agent_matrix.csv) - [`workflow_comparison.json`](assets/generated/evidence/workflow_comparison.json) Regenerate them with:
python benchmarks/software_comparison/generate_comparison_evidence.py
python examples/workflow_comparisons/compare_specialist_glue_vs_detime.py
Quality and packaging checks - `python scripts/check_doc_consistency.py` - `mkdocs build --strict` - `python -m build` - `python scripts/check_dist_contents.py dist/*.tar.gz dist/*.whl` - `python -m twine check dist/*` - `python scripts/release_smoke_matrix.py`