Add a datasets-only mode to `policyengine bundle install` (inverse of --no-datasets)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 58/100
Research direction
Start at the implementation of policyengine bundle install and trace the existing --no-datasets option and receipt-writing flow. Define the datasets-only interface, then verify that selected-country datasets and the bundle receipt are written to --data-dir without installing or modifying Python packages.
Written by the indexing model from the issue text.
Description
Motivation
policyengine bundle install currently couples two responsibilities: installing the bundle's package scaffold and downloading certified datasets (+ writing the bundle receipt). The CLI offers --no-datasets (packages only) but no inverse — there is no way to obtain just the certified datasets and receipt for a bundle without also having the bundle installer manage packages.
In PolicyEngine/policyengine-api-v2 we are moving the simulation service's Modal images to canonical uv-lockfile installs (PolicyEngine/policyengine-api-v2#609): uv sync --frozen against a committed uv.lock should own all Python packages in the image, so that image environments are byte-identical to the CI-tested environment and can only change through a relock. The bundle's model-package pins are already mirrored into that project's pyproject.toml/uv.lock by automation, so uv can install them — but the bundle install step must still run for the datasets and receipt, and today that drags its package installer along with it. As a bridge we currently run bundle install --venv /.uv/.venv so both installers at least share one environment.
Request
A datasets-only mode, e.g.:
policyengine bundle install <version> --no-packages --data-dir /opt/policyengine/data --yes
# or a dedicated subcommand:
policyengine bundle fetch-data <version> --data-dir /opt/policyengine/data --yes
Behavior: download/verify the bundle's certified datasets for the selected countries into --data-dir and write the bundle receipt, without installing or modifying any Python packages. Symmetric with the existing --no-datasets.
With that available, consumers who manage packages via uv (or any other resolver) can keep the bundle as the source of truth for certified data while their lockfile is the sole source of truth for packages.
- Dominant language
- Python
- Stars
- 8
- Forks
- 9
- Avg merge
- 15h 28m
- Merged PRs (30d)
- 13
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PolicyEngine/policyengine.py
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
PolicyEngine/policyengine.py#549 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PolicyEngine/policyengine.py#473 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
PolicyEngine/policyengine.py#436 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PolicyEngine/policyengine.py#408 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
PolicyEngine/policyengine.py#551 ·
Maintainers usually reply within 1 day
All issues in PolicyEngine/policyengine.py
Similar issues
-
comp/tools duplicate P2 sweeper:risk-compatibility tool/mcp type/bug
Difficulty 1/5 Under an hour Newbie friendliness 88/100
NousResearch/hermes-agent#132042 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
deepset-ai/haystack#13092 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
EverMind-AI/Raven#845 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
AstrBotDevs/AstrBot#10340 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
BasedHardware/omi#20401 · 1 comment ·
Maintainers usually reply within 1 day