Commit bd20ac6
build: auto-create static JS stubs via hatch hook (#642)
* docs: Dastardly DataFrame Dataset post with static embeds
- DDD article with inline iframe embeds for 10 tricky DataFrames
- Generator script to produce static embed HTML at RTD build time
- RTD config: build JS bundle, generate DDD pages, copy to output
- Fix: coerce Period/Interval/Timedelta to strings in parquet b64
(hyparquet can't decode pandas Arrow extension types)
- Tests for weird-type parquet roundtrip
- Ship static-embed.js/css in wheel (pyproject.toml artifacts)
- Docs preview link in TestPyPI PR comment
- BuckarooCompare article
- Content plan outline
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add voice/personality to DDD post, add type coverage research
Incorporate colorful wording from buckaroo_writing notes into the DDD blog
post intro ("wonderfully variant splendor", "weirdest DataFrames in the
wild", "hard fought experience"). Add Buckaroo's displayability philosophy.
New research doc tests every pandas (classic, extension, arrow-backed) and
polars dtype through both JSON and parquet serialization paths, documenting
which are covered by the DDD and test suite.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add full dtype coverage table to DDD post
Cross-engine table showing Yes/not tested/fail for every dtype across
pandas-classic, pandas-arrow, and polars. Footnote noting that serialization
complexity warrants its own follow-up post.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add parquet, JS type, and display columns to dtype table
Expand the dtype coverage table with three new columns showing the full
pipeline: what Parquet physical type each dtype maps to, what JS type
hyparquet produces after decode, and how buckaroo's display formatter
renders it. Footnotes explain BigInt handling, coercion for types without
native Parquet equivalents, and the two serialization failures.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: credit Cecil Curry / beartype for DDD inspiration
The naming and early shape of the DDD was influenced by an exchange
with leycec on beartype#529. Added a shout-out in the intro.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: update copyright years to include 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: link first DDD mention to source on GitHub main
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: show actual rendered values in dtype table Buckaroo display column
Replace generic type names with example values buckaroo actually displays:
1,234 for integers, 1d 2h 3m 4s for durations, 68656c6c6f for binary, etc.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: fix dtype table — actual display values, footnotes, no blank cells
- Replace generic type names with actual buckaroo display values
- Add footnotes for BigInt (stringified, no commas) and Period (time span)
- Fill all blank cells with — for dtypes that don't exist in that engine
- Clarify Period label as "Period (time span)"
- Fix Nullable int/float/bool row with proper values
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* WIP
* docs: remove content-plan.md from ddd-post branch
This file belongs on the content-plan branch (PR #638), not here.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: address inline review comments on DDD article
- Shorten Cecil Curry praise (remove "makes open source worth doing")
- Add LLM-generated DataFrames and inherited pipelines to "why this matters"
- Fix "three values" → "three non-numeric values" for infinity/NaN section
- Remove duplicate None mention from MultiIndex rows section
- Add note about planned MultiIndex-both-axes improvements
- Update footnote 1: "putting together this table exposed areas that need work"
- Fix comma→period typo in footnote 1
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* build: auto-create static stubs in hatch hook, remove manual touch hacks
The hatch build hook (initialize2 → initialize) now auto-creates empty
stub files in buckaroo/static/ when the real JS artifacts haven't been
built. This eliminates the need for manual mkdir/touch blocks in CI
and ReadTheDocs.
- scripts/hatch_build.py: rename initialize2 → initialize (was dead
code), create stubs for editable installs, build JS for wheel builds
- pyproject.toml: use glob for artifacts (buckaroo/static/*.js|*.css)
instead of incomplete file list
- checks.yml: remove 4 separate mkdir/touch stub blocks
- .readthedocs.yaml: remove pnpm install for js-core (stubs handle it)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* build: stop tracking standalone.js/css in git
These are build artifacts produced by full_build.sh. They're already
in .gitignore but were force-tracked. The glob artifact pattern in
pyproject.toml ensures they're still included in the wheel.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: build all static assets in hatch hook pnpm fallback
The pnpm fallback only built buckaroo-widget (widget.js/css) but not
compiled.css, standalone.js/css, or static-embed.js/css. A bare
`uv build` would produce an incomplete wheel.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 00eb5c6 commit bd20ac6
6 files changed
Lines changed: 61 additions & 383 deletions
File tree
- .github/workflows
- buckaroo/static
- docs
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | 300 | | |
307 | 301 | | |
308 | 302 | | |
| |||
325 | 319 | | |
326 | 320 | | |
327 | 321 | | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | 322 | | |
335 | 323 | | |
336 | 324 | | |
| |||
357 | 345 | | |
358 | 346 | | |
359 | 347 | | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | 348 | | |
368 | 349 | | |
369 | 350 | | |
| |||
683 | 664 | | |
684 | 665 | | |
685 | 666 | | |
686 | | - | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | 667 | | |
691 | 668 | | |
692 | 669 | | |
| |||
This file was deleted.
0 commit comments