Planned direction for CDS. All work maintains the zero-dependency, pure Python philosophy.
-
Push test coverage to 97%+ across every module: achieved 100% -
Add: shipped astyping.Protocol-based extension points for custom hypothesis generatorsHypothesisGeneratorProtocol -
Document the PyPI package name (: superseded: the package was renamed tocognitive-discovery-platform) vs repo name (scientific-computing-system) distinction in CONTRIBUTING.mdscientific-computing-system, so PyPI and repo names now match (see §"Package Name") -
Replace remaining generic error messages with actionable guidance: updated 11 messages in linalg, signals, and stats modules
-
Publish automated benchmark suite (FFT speed, Monte Carlo convergence, LU decomposition vs naive): seebenchmarks/run_benchmarks.py&docs/benchmarks.md -
Add(single-install convenience)cds[all]meta-extras -
Bump pydantic 2.12 → 2.13(security patch)
-
Classifier(maturity signal)3 - Alpha→4 - Beta -
Multi-OS CI matrix(Linux + Windows + macOS × Python 3.10/3.11/3.12) -
Branch coverage enabled(branch = truein coverage config) -
Mypy(0 issues, 73 files)--stricton bothsrc/andtests/ - [~]
Hatch-vcs dynamic versioning: tried and abandoned: hatch-vcs 0.5.0 silently ignored theversion-scheme = "release"override, so static versioning (versioninpyproject.tomlmirrored insrc/cds/_version.py) was shipped instead. Seepyproject.tomlrelease checklist. - [~]
Git-cliff auto-CHANGELOG on tag push: rolled back to manual: the tag-push trigger rewrote the entireCHANGELOG.mdfrom commit history and discarded hand-curated narrative entries (see PR #24).changelog.ymlis nowworkflow_dispatchonly;CHANGELOG.mdis hand-curated. -
Sigstore release attestation(actions/attest-build-provenance@v2) -
Branch protection on main(1 PR reviewer, linear history, no force push, no deletes) -
Threat model in SECURITY.md(in-scope vs out-of-scope, user best practices) -
Türkçe başlangıç rehberi(docs/getting-started.tr.md) -
Signed commits guide in CONTRIBUTING.md(SSH or GPG)
-
Freeze public API: backward-compatible guarantees for allcds.*exports -
Full API reference documentation on GitHub Pages (auto-generated via mkdocstrings) -
Type stubs ((skipped: pure-Python with full type hints doesn't need them per project policy).pyi) for IDE autocompletion -
Security audit(dependency pinning, signed releases:requirements.lockpinned, sigstore attestation live) -
Mark as stable: remove alpha/beta labels, bump to 1.0.0(Development Status5 - Production/Stable) - Optional: enable
required_signaturesin branch protection (after maintainer configures GPG/SSH signing key) - Optional: Enable Dependabot security-only updates (currently weekly, can switch to security-only mode)
-
Automated benchmark regeneration on releases + weekly schedule(.github/workflows/benchmarks.yml): CI artifactbenchmarks/results.jsonfor regression tracking
Backward-compatible patch train after the stable cut. No API or behavior changes.
-
v1.0.1: PEP 561 type marker(src/cds/py.typedshipped in the wheel) + 32 property-based numerical invariants (tests/test_numerical_invariants.py) + docstrings for all 51 previously-undocumented public functions (AST-scanned, 3 gaps closed) -
v1.0.2: benchmark artifact isolation:run_all(output_dir=...)sopytestno longer clobbers the committedbenchmarks/results.json/docs/benchmarks.md(byte-identical verified) -
v1.0.3:(tests/brought to the same mypy baseline assrc/mypy src/ tests/green across 39 test files) + benchmark test artifact isolation intmp_path -
v1.0.4: CI pip-audit job + drop the globalfromignore_missing_imports = true[tool.mypy]so future un-stubbed dependencies surface real errors instead of silently typing asAny
A backward-compatible minor release. Adds two new public subpackages; the platform now spans 17 modules. Tracked under issues #2 and #3.
-
: expression-tree AST (cds.modeling: symbolic algebra+ - * / **, unary-,Variable/Constant),diff,simplify,subs,evaluate,to_latex;MathModelwithsolve_equation(Newton-Raphson) andfit_parameters(least squares). Seeexamples/modeling_demo.py. -
:cds.knowledge: knowledge organization layerKnowledgeGraph(Concept/Relation, BFS shortest path, transitive closure, cycle detection, JSON persistence),Notebook(Notewith tag/concept lookups),retrieval.search()ranked across concepts+notes. Seeexamples/knowledge_demo.py. -
Both modules wired into__all__, CLImoduleslisting, anddocs/api.md
Backward-compatible patches. Highlights:
-
v1.1.5: type-safety sweep + 100% coverage gate: blended statement+branch coverage at 100% across 1230 tests, property-based invariant tests, shared fixtures, expanded docs (tutorials + architecture guide) -
v1.1.6: release pipeline fix: switched from Trusted Publishing (OIDC, never configured) to a scopedPYPI_API_TOKEN; first release actually published by the automated pipeline -
v1.1.7: PEP 639 SPDX license metadata:license = "MIT"expression replaces the legacy table form so PyPI/GitHub recognize the license; removed drift-prone hardcoded numbers from README
-
v1.1.7: PEP 639 SPDX license metadata(license = "MIT"expression; license-files declared; classifier drift removed) -
v1.1.8: ODE backward integration bug fix(see CHANGELOG for full details) + hypothesis confidence overflow clamp
A backward-compatible minor release. Adds standardized effect-size
measures to cds.stats so significance tests can be paired with a
quantitative magnitude estimate.
-
: Cohen's d standardized mean difference (pooled-SD denominator)cds.stats.cohens_d(group_a, group_b) -
: η² proportion of variance explained by group membership (derived from one-way ANOVA F)cds.stats.eta_squared_from_f(f, df1, df2) -
: Cramér's V association strength for contingency tables (χ²-based, ∈cds.stats.cramers_v(contingency_table)[0, 1]) -
Tutorial section in: "Effect sizes" walkthrough pairing the measures with the existingdocs/tutorials/hypothesis_tests_demo.mdt_test/chi_square_independence -
Docs sync: README module table,docs/index.mdKey Features + stats description, EN/TR getting-started Python-API snippets
A backward-compatible minor release. Theme: horizontal expansion of the
domain toolkits plus a documentation overhaul, with zero-dependency guarantees
preserved (pandas is an opt-in extra). The platform now spans 18 modules.
See CHANGELOG.md for full detail.
-
: ACF/PACF, KPSS stationarity test, Ljung-Box autocorrelation test, moving average / exponential smoothing / differencing / seasonal decompositioncds.statstime-series analysis -
:cds.signalsfilter designbutter_lowpassIIR design +apply_filter+moving_mediandenoiser -
: tensor-product Simpson and Gauss-Legendre rulescds.numerical_integration2-D quadrature -
:cds[pandas]optional extrato_dataframe/from_dataframeinterop bridge, gated behind the extra so the core stays dependency-free -
Refactors:modeling/expression.pysplit into_base.py+_nodes.py; stats distribution functions extracted into_distributions.py -
Numerical-stability fixes: scale-relative pivoting inlinalg, exact-zero pivot rejection at sub-normal scales -
Documentation: new Cookbook (docs/cookbook.md), Architecture guide (docs/ARCHITECTURE.md), expanded Tour of Numerical Methods, README/index.mdcross-links
-
(+ v1.3.2 chart expansion)cds[plot]optional extra -
CLI PNG export:cds plot … --file / --kind -
Companion notebook:examples/plotting_notebook.ipynb
-
Probability CDFs & samplers, Spearman/percentile/z-scores, physics formulas, CLI stats/sample
-
Graph: Bellman–Ford, Floyd–Warshall, Prim MST, components, degree -
Monte Carlo:mc_expectation,hit_or_miss -
Linear algebra: vector / Frobenius norms, matrix trace -
CLI:cds integrate
- More Jupyter notebook templates: additional Cookbook / Tour notebooks
- Issue #62: lift the
numpy<2.5dev-pin oncemypy's defaultpython_versionadvances to 3.13+ (tracking issue; dev-only, no runtime impact).
Open ideas, not version-committed. Contributions welcome.
- Community-contributed domain modules (bioinformatics, finance)
- CDS Script Templates: domain-specific scientific workflows (quantum chemistry, signal processing demos)
- Educational NLP track: shipped across v0.9.0b5 → v1.0.0 (now
cds.nlp): BPE tokenizer + embeddings, multi-head self-attention, pure-Python autograd with optionalcds[fast-jit]Numba backend, tiny GPT-from-scratch, attention/embedding visualisations. Scope explicitly excludes production-scale training (PyTorch / JAX / MLX territory). - Mathematical Modeling Framework (#2): shipped in v1.1.0 as
cds.modeling. - Knowledge Organization System (#3): shipped in v1.1.0 as
cds.knowledge. - Optional pandas interop: shipped in v1.2.0 as the
cds[pandas]extra (to_dataframe/from_dataframe). - "Tour of Numerical Methods" guide: shipped in v1.0.0 and expanded through v1.2.0 (
docs/tour_of_numerical_methods.md).
Contributions and ideas are welcome, especially for cross-module demos, new algorithms, and the hypothesis generation system.
Status legend:
[x]Released[~]In progress[ ]Planned