Skip to content

fix(logo): reconstruct hex bottom point; add plotly to description#10

Merged
ismayc merged 1 commit into
mainfrom
fix/logo-bottom-point
Jun 19, 2026
Merged

fix(logo): reconstruct hex bottom point; add plotly to description#10
ismayc merged 1 commit into
mainfrom
fix/logo-bottom-point

Conversation

@ismayc

@ismayc ismayc commented Jun 19, 2026

Copy link
Copy Markdown
Member

Two small polish items:

Logo bottom point — the hex sticker's bottom vertex was cropped in the source image (the opaque region ran flat to the bottom frame edge instead of converging to a point like the top). Reconstructed it by extending the canvas and continuing the navy border down to a symmetric apex. The top point and all artwork are unchanged.

Package descriptionpyproject.toml description now mentions the dual-engine plotly/plotnine plots.

Docs rebuilt with the corrected logo; tests green (171, 100% coverage), ruff clean.

🤖 Generated with Claude Code

- The logo's bottom hexagon vertex was cropped in the source image (the opaque
  region ran flat to the frame edge instead of converging). Extend the canvas
  and continue the navy border to a symmetric bottom point.
- pyproject: package description now mentions the dual-engine plotly/plotnine
  plots.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog
@ismayc ismayc merged commit b2fff77 into main Jun 19, 2026
6 checks passed
@ismayc ismayc deleted the fix/logo-bottom-point branch June 19, 2026 14:04
ismayc added a commit that referenced this pull request Jun 19, 2026
Pulls the fixed logo from the PR #10 branch so this docs branch doesn't ship the
old bottom-cropped hex regardless of PR merge order.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog
ismayc added a commit that referenced this pull request Jun 19, 2026
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog
ismayc added a commit that referenced this pull request Jun 19, 2026
* docs: add example-rich getting-started, task guides, datasets, and R map

Expand the documentation from a single API page into an accessible, example-first
site (informed by top Python docs and the R moderndive pkgdown site):

- Rewritten landing page: value proposition, feature list, install (+ image
  extra), and a 30-second worked example.
- getting-started: an end-to-end first analysis.
- Task guides with runnable, verified examples (dual-engine plots throughout):
  sampling, bootstrapping & confidence intervals, hypothesis testing, regression
  (incl. per-facet coefficient shading and the model plots), theory-based
  inference, and a plotting/engines guide.
- datasets: a thematic tour of all 58 bundled datasets.
- coming-from-r: a function-by-function R -> Python map for moderndive/infer users.

Every code block was executed against the package to confirm it runs. Docs build
clean with -W (no warnings).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog

* docs: use the corrected hex logo (bottom point) in the docs build

Pulls the fixed logo from the PR #10 branch so this docs branch doesn't ship the
old bottom-cropped hex regardless of PR merge order.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog

* docs: execute examples (real outputs + plots), drop promotions/mtcars

Switch the docs to myst-nb so every example runs at build time and its output
(DataFrames + plots) renders on the site:

- conf.py: myst_nb engine; execute {code-cell} blocks; prefer static image/png
  over plotly's heavy interactive html; strip kernel stderr.
- Plots render as static PNGs — plotnine via matplotlib, plotly via kaleido
  (renderer set to "png" in each page's hidden setup cell).
- doc extra: add myst-nb, ipykernel, kaleido. .readthedocs.yaml installs Chrome
  for kaleido (>=1.0 no longer bundles it) via a post_install job.
- Landing 30-second example now uses the spotify dataset (not promotions); the
  Coming-from-R pipeline example uses pennies (not mtcars), and its function map
  now lists only the genuine R->Python differences, noting the rest are identical.

Every page executes cleanly in the kernel and the build is warning-free under -W.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog

* feat: df.specify() accessor and geom_categorical_model alias

- Attach a `.specify()` method to polars and pandas DataFrames so you can write
  `md.load_pennies().specify(response="year")`, mirroring R's `df %>% specify(...)`.
  Registered on import; never overwrites an existing attribute.
- Add `geom_categorical_model` as an alias of `gg_categorical_model` so both R
  names are available and do the same thing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog

* ci: parity-drift detection against upstream moderndive/infer

Add tooling to catch when the upstream R packages change in ways the Python port
hasn't followed:

- tools/parity_probe.R dumps upstream structure (versions, exports, dataset
  dims/columns) as JSON.
- tools/check_parity.py compares it to the bundled datasets + a recorded
  manifest, reporting version bumps, added/removed exports, and missing or
  shape-changed datasets; exits non-zero on drift.
- tools/parity_manifest.json records the reviewed upstream snapshot (provenance).
- .github/workflows/parity-drift.yml runs this weekly against upstream main and
  opens/updates a GitHub issue on drift.
- tests/test_parity_manifest.py asserts bundled moderndive/infer datasets match
  the manifest dims, so a bad data regeneration fails CI.
- tools/README.md documents the data-refresh and parity processes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog

* docs: drop promotions everywhere; add custom-statistic example

- Remove the promotions dataset from all examples and the dataset catalog (we're
  not using it going forward): getting-started and the hypothesis-testing guide
  now use the MythBusters yawn experiment / spotify; coming-from-r uses pennies.
- Add a worked "custom test statistic" example (a callable passed to
  calculate()) to the hypothesis-testing guide, bootstrapping a custom IQR.
- Use the new df.specify() flow in examples; note geom_categorical_model as a
  same-name function in the R map.
- Rebuilt HTML.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog

* docs: use df.specify() flow; note plots are static (plotly is interactive)

- Convert examples from specify(df, ...) to df.specify(...) to mirror the R
  df %>% specify(...) pipeline more closely.
- Add a note (landing, getting-started, plotting guide) that documentation plots
  are static images while the default plotly engine is interactive when run.
- Rebuilt HTML.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog

* docs: rebuild HTML after merging main (#10)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog

* style: ruff format check_parity.py and test_parity_additions.py

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017CTL1QSTg1DmDUpqYuPEog

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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