Skip to content

Fix docs: site URL, emoji rendering, pip→uv, and code snippet errors#302

Merged
chekos merged 2 commits into
mainfrom
claude/priceless-mahavira
Mar 9, 2026
Merged

Fix docs: site URL, emoji rendering, pip→uv, and code snippet errors#302
chekos merged 2 commits into
mainfrom
claude/priceless-mahavira

Conversation

@chekos

@chekos chekos commented Mar 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix site URL from chekos.github.io/pypums to pypums.readthedocs.io across mkdocs.yml, README, CONTRIBUTING, and pyproject.toml
  • Add pymdownx.emoji extension to mkdocs.yml so :octicons-arrow-right-24: icons render instead of showing raw text
  • Replace all pip install references with uv add across all docs pages (installation, quickstart, guides, index)
  • Remove pip/uv tabbed install sections — just show uv
  • Fix code snippet bugs found by static verification against source:
    • multi-year.md: get_acs(state=["CA","TX",...]) passes a list but signature only accepts str | None — fixed with inner loop
    • spatial.md: troubleshooting text referenced parameter n but actual name is dots_per_value
    • pums-microdata.md: pums_variables() not exported at top level — corrected to pypums.datasets.pums_variables()
    • population-estimates.md: AGEGROUP table missing codes 13-17,30; RACE labels abbreviated vs source

Test plan

  • uv run mkdocs serve renders all pages without errors
  • Emoji icons (:octicons-arrow-right-24:) render correctly on the landing page
  • All install commands show uv add (no remaining pip install)
  • Code snippets match actual function signatures in source

🤖 Generated with Claude Code

- Change site_url and all docs links from chekos.github.io/pypums to
  pypums.readthedocs.io
- Add pymdownx.emoji extension to mkdocs.yml so :octicons-*: icons render
- Replace all pip install references with uv add across docs and README
- Remove pip/uv tabbed sections (just show uv)
- Add Documentation URL to pyproject.toml
- Fix multi-year.md: get_acs() state param only accepts str, not list
- Fix spatial.md: parameter name n → dots_per_value in troubleshooting
- Fix pums-microdata.md: pums_variables() → pypums.datasets.pums_variables()
- Fix population-estimates.md: add missing AGEGROUP codes 13-17,30;
  expand abbreviated RACE labels to match source code
- Add .claude/launch.json for mkdocs dev server

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@chekos chekos force-pushed the claude/priceless-mahavira branch from f810659 to 05cdbb1 Compare March 9, 2026 23:13
@claude

claude Bot commented Mar 9, 2026

Copy link
Copy Markdown

Claude finished @chekos's task in 1m 59s —— View job


PR Review

  • Read repo context and gather information
  • Review PR diff
  • Verify code snippets against source
  • Post review feedback

All claims in the PR description were verified against source code. Here's my detailed review:

Verified Fixes (All Correct ✓)

get_acs state parameter (docs/guides/multi-year.md): Confirmed state: str | None = None in pypums/acs.py:58 — passing a list would have been a type error. The inner loop fix is correct.

as_dot_density parameter name (docs/guides/spatial.md): Confirmed the parameter is dots_per_value (not n) in pypums/spatial.py:146. Fix is accurate.

pums_variables namespace (docs/guides/pums-microdata.md, docs/guides/variables.md): Confirmed pums_variables is NOT exported from pypums/__init__.py — only available at pypums.datasets.pums_variables(). Fix is correct.

AGEGROUP codes 13–17 and 30 (docs/guides/population-estimates.md): Verified all added codes match exactly with pypums/estimates.py:31–38. Additions are accurate.

RACE label expansions (docs/guides/population-estimates.md): Verified "American Indian and Alaska Native alone or in combination" and "Native Hawaiian and Other Pacific Islander alone or in combination" match pypums/estimates.py:56,58. Fix is correct.


Minor Observations

1. Slight style inconsistency in variables.md

docs/guides/variables.md:9 now reads:

PyPUMS provides load_variables() to search and browse the full Census variable catalog, plus pypums.datasets.pums_variables() for PUMS microdata fields.

load_variables is exported top-level (pypums.load_variables) while pums_variables needs the module path. The text shows load_variables() without a namespace but pypums.datasets.pums_variables() with a full path. Technically accurate, but slightly jarring to read. A minor consistency improvement would be to use pypums.load_variables() in this intro sentence as well. Not a blocker. Fix this →

2. uv pip show pypums in installation.md:150

The troubleshooting section now suggests uv pip show pypums. This is valid (uv has a pip subcommand), but less commonly known than plain pip show. Worth noting it works in uv-managed environments. Fine as-is.

3. Multi-year inner loop performance

The fix at docs/guides/multi-year.md:53–64 is correct but makes len(states) × len(years) = 20 separate API calls (4 states × 5 years). A note in the docs about this trade-off (or an alternative using state=None then filtering) might help users working with many states, but not required.

4. .claude/launch.json added

A VS Code / Claude Code debug config for mkdocs serve is added. Functional and harmless, but this is IDE-specific tooling config committed to the repo. Teams that don't use this setup will have it as unused noise. Consider whether this belongs in .gitignore instead — but this is a project preference, not a bug.


Summary

This is a clean, well-scoped docs-only PR. All code snippet corrections are verified accurate against the actual source code. The URL fixes, emoji extension, and pip→uv migration are straightforward and correct. No bugs introduced.

…re launch.json

- Use `pypums.load_variables()` with full namespace in variables.md intro
  for consistency with `pypums.datasets.pums_variables()` in same sentence
- Add inline comment clarifying get_acs() accepts one state at a time
- Move .claude/launch.json to .gitignore (IDE-specific tooling config)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@claude

claude Bot commented Mar 9, 2026

Copy link
Copy Markdown

Claude finished @chekos's task in 50s —— View job


PR Review — Updated

  • Gather context on PR update
  • Review changes in latest commit
  • Post updated review feedback

The latest commit (cfd7c0e) addresses all three minor observations from my previous review. Here's what was fixed:

1. Namespace consistency in variables.md
load_variables()pypums.load_variables() in the intro sentence, now consistent with the pypums.datasets.pums_variables() reference in the same line.

2. Inner loop clarification in multi-year.md
Added # get_acs() accepts one state at a time inline comment — makes the reason for the inner loop immediately clear to readers.

3. .claude/launch.json
File deleted and added to .gitignore. IDE-specific tooling config no longer clutters the repo.


Summary

All previously identified issues have been addressed. The PR is clean — docs-only, well-scoped, with all code snippet corrections verified against source. Ready to merge.

@chekos chekos merged commit 1f68b42 into main Mar 9, 2026
13 checks passed
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