This repository was archived by the owner on Nov 8, 2026. It is now read-only.
Repository navigation
Mark microimpute archived and point readers to Microcosm - #224
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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
force-pushed
the
retire-microimpute
branch
from
November 8, 2026 06:17
9aaf380 to
05a2b74
Compare
MaxGhenis
marked this pull request as ready for review
November 8, 2026 06:27
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PolicyEngine archives microimpute once #225, #220 and this PR merge. Microcosm builds PolicyEngine's microdata and fits its imputation models with the
microcosm-fitpackage. The bundle manifest in policyengine.py names datasets from themicrocosm-datapackage as both countries' defaults, and 41 non-test modules in Microcosm's build package importmicrocosm.fit(PolicyEngine/microcosm@7080ba8).What changes
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..github/CONTRIBUTING.md..github/is-version-number-acceptable.sh, which told readers to look atCONTRIBUTING.md, and.github/has-functional-changes.sh, which only that script ran. No workflow runs either one.pyproject.tomladds theDevelopment Status :: 7 - Inactiveclassifier.__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.changelog.d/retire-microimpute.changed.mdandchangelog.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