PolicyEngine / PolicyEngine/policyengine-us

spm-calculator 1.0.0 breaks policyengine-us imports (No module named 'spm_calculator.geoadj')

Open Beginner friendly
#9,442 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
162
Forks
212
Avg merge
3d 3h
Merged PRs (30d)
97

Description

spm-calculator 1.0.0, released 2026-09-11 15:45 UTC, removes or relocates the `geoadj` module that policyengine-us imports, so every fresh `pip install policyengine-us` now fails at import time:

```
ModuleNotFoundError: No module named 'spm_calculator.geoadj'
```

Reproduced on policyengine-us 1.824.7 in clean CI environments (17/17 jobs failed on collection); pinning `spm-calculator==0.3.1` restores imports. policyengine-us should add an upper bound (or adapt to the 1.0.0 API) — until then, every downstream consumer without a pin is broken on fresh installs.

Found via the Child Poverty Impact Dashboard's CI, which now pins 0.3.1 as a workaround.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_014p5C4W5UC1MvusNZLuzFTf

Contributor guide

Open the contributing guide

Research direction

Start by locating policyengine-us's dependency configuration and the imports of spm_calculator.geoadj. Reproduce the failure with a clean install, then either constrain spm-calculator below 1.0.0 or adapt to its new API. Done means fresh policyengine-us installation and import checks pass without the dashboard workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.