Skip to content

feat: lower the Python floor to 3.11 and lead with the pipeline - #7

Merged
nasserboan merged 1 commit into
mainfrom
feat/311-floor-and-pipeline-lead
Aug 8, 2026
Merged

nasserboan merged 1 commit into
mainfrom
feat/311-floor-and-pipeline-lead

Conversation

@nasserboan

Copy link
Copy Markdown
Owner

Type

  • Bug fix
  • Feature
  • Docs
  • Breaking change

Related issue

None

What changed

  • requires-python drops from >=3.13 to >=3.11, with floors numpy>=2.3 and scipy>=1.16. The docs dependency group keeps a 3.12 floor of its own because sphinx 9.1 needs it; the package's floor no longer inherits that constraint.
  • clvkit.__version__ exists. The install page's Verify step reads it and previously raised AttributeError.
  • The README and the site lead with what a first run gives you: six lines from a transaction log to a per-customer CLV table, 2.0 s of wall clock on the CDNOW sample. The reproduced Fader–Hardie estimates stay as their own section. Two new README sections surface what already lived in the notebooks: the start_here router with the 61%-vs-16% holdout comparison, and the 14-package, ~2,600-line count with the vendoring exit it implies.
  • The README install section carries the real install line (uv add clvkit), and the badges track this repository and the actual suite count (254).
  • CITATION.cff's repository-code matches pyproject.toml's URLs.
  • The example notebooks print repository-relative paths instead of absolute ones.
  • The lifetimes migration page states precisely what broke there: lifetimes.datasets stopped importing when setuptools 83 removed pkg_resources; the models themselves still fit.

How it was tested

  • uv run pytest: 254 passed, 1 skipped, on Python 3.13 and again on a fresh 3.11.15 environment against the lowered floors.
  • uv build produces the sdist and wheel.
  • start_here.ipynb and cdnow_clv.ipynb executed top-to-bottom via nbmake. online_retail_ii_cohort.ipynb needs the 43 MB UCI download, which the environment this ran in blocks; CI's nbmake step executes all three.

Checks

  • uv run pytest
  • uv run ruff check
  • uv run ruff format --check
  • Notebooks still execute (uv run pytest --nbmake examples/)
  • Docs updated
  • Title reads as the commit message it will become

Generated by Claude Code

@nasserboan
nasserboan merged commit 01696ad into main Aug 8, 2026
1 check passed
@nasserboan
nasserboan deleted the feat/311-floor-and-pipeline-lead branch August 8, 2026 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant