Skip to content
This repository was archived by the owner on Nov 8, 2026. It is now read-only.

Mark microimpute archived and point readers to Microcosm - #224

Merged
MaxGhenis merged 7 commits into
mainfrom
retire-microimpute
Nov 8, 2026
Merged

MaxGhenis merged 7 commits into
mainfrom
retire-microimpute

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

PolicyEngine archives microimpute once #225, #220 and this PR merge. Microcosm builds PolicyEngine's microdata and fits its imputation models with the microcosm-fit package. The bundle manifest in policyengine.py names datasets from the microcosm-data package as both countries' defaults, and 41 non-test modules in Microcosm's build package import microcosm.fit (PolicyEngine/microcosm@7080ba8).

What changes

  • The README and the docs landing page open with a notice. It says PolicyEngine has archived microimpute and that Microcosm builds PolicyEngine's microdata and fits its imputation models with microcosm-fit. It also says PyPI keeps the package's releases, and it points to the open issues, which include correctness bugs that no release fixes, such as Default QRF grows trees to purity, giving miscalibrated quantiles and inert sample weights #205.
  • Since an archived repository accepts no issues or pull requests, the README drops its invitation to open them, and this PR deletes .github/CONTRIBUTING.md.
  • This PR also deletes .github/is-version-number-acceptable.sh, which told readers to look at CONTRIBUTING.md, and .github/has-functional-changes.sh, which only that script ran. No workflow runs either one.
  • The docs drop their "work in progress" line, and their list of methods no longer says "currently".
  • pyproject.toml adds the Development Status :: 7 - Inactive classifier.
  • I cherry-picked Vahid's two commits from Read the package version from installed metadata #200, so microimpute reads __version__ from the installed package's metadata instead of hard-coding 1.1.2. I also changed his fallback test to import the package in a fresh interpreter, so the test runs the fallback branch in __init__.py. The old test still passed when I broke that branch.
  • Merging releases a patch version (changelog.d/retire-microimpute.changed.md and changelog.d/version-from-metadata.fixed.md), so PyPI's project page shows the notice.

After merge

Once the version bump, the PyPI publish and the docs deploy finish, we archive the repository.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Nov 7, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
microimpute-dashboard Ready Ready Preview Nov 8, 2026 6:17am UTC

MaxGhenis and others added 7 commits November 8, 2026 01:15
Add a notice to the top of the README and the docs landing page:
PolicyEngine has archived microimpute, and Microcosm, whose
microcosm-fit package fits its imputation models, builds PolicyEngine's
microdata. Released versions stay installable from PyPI.

Remove the README's invitation to open issues and pull requests and the
docs' "work in progress" line, since an archived repository accepts
neither, and add the "Development Status :: 7 - Inactive" classifier.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An archived repository accepts no pull requests, so the contributing
guide goes with the README's invitation. The docs' list of methods no
longer says the package "currently" supports them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The notice in the README and the docs now says PyPI keeps every
  release. It also points to the open issues, which include correctness
  bugs that no release fixes, such as the default QRF's miscalibrated
  quantiles (#205).
- .github/is-version-number-acceptable.sh told readers to look at
  CONTRIBUTING.md, which the previous commit deletes. No workflow runs
  the script, and only it runs .github/has-functional-changes.sh, so
  both go.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
__init__.py carried a hardcoded 1.1.2 while pyproject.toml was at 3.1.1, two
major versions apart, because the version bump script only updates
pyproject.toml. Reading from importlib.metadata means there is one source of
truth and the two cannot drift again.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit f2798a3)
The fallback was 'unknown', which packaging.version.parse rejects, so a
consumer comparing versions would raise InvalidVersion in exactly the
uninstalled-source-tree case the fallback exists for. Now 0.0.0+unknown.

Adds the tests the PR was missing: that __version__ matches the
installed distribution, that both it and the fallback parse, and that
the fallback branch is reached when the distribution is absent.

Drops the '# Python 3.8+' comment, which named versions this package
does not support (requires-python is >=3.12,<3.15).

(cherry picked from commit 2edf0f6)
- test_fallback_used_when_distribution_is_absent re-ran the metadata
  lookup inside the test, so it passed whatever microimpute/__init__.py
  did. It now imports the package in a fresh interpreter with the lookup
  for microimpute failing, which runs the fallback branch in __init__.py.
- The changelog fragment called 3.1.1 the current version, which stopped
  holding when 3.1.2 shipped. It now says what the fix does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- CHANGELOG.md lists six versions that never reached PyPI (1.0.0, 1.4.0,
  1.5.0, 1.8.0, 1.14.5 and 2.0.1), so the notice no longer says PyPI
  keeps every release.
- The docstring in tests/test_version.py now says __init__.py used to
  hard-code 1.1.2, which fell behind the package's own version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis marked this pull request as ready for review November 8, 2026 06:27
@MaxGhenis
MaxGhenis merged commit c004ce7 into main Nov 8, 2026
8 checks passed
@MaxGhenis
MaxGhenis deleted the retire-microimpute branch November 8, 2026 06:28

This branch was successfully deployed

1 active deployment
Preview — 05a2b743 Deployed Nov 8, 2026 by vercel[bot]
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants