Skip to content

Use sqlite-utils to build puzzle SQLite artifact from Hugo outputs#1613

Open
tphummel wants to merge 1 commit intomainfrom
ai/create-github-action-to-load-puzzles-into-sqlite
Open

Use sqlite-utils to build puzzle SQLite artifact from Hugo outputs#1613
tphummel wants to merge 1 commit intomainfrom
ai/create-github-action-to-load-puzzles-into-sqlite

Conversation

@tphummel
Copy link
Owner

Summary

  • replace the Node/Ruby puzzle database builder with a Python script that uses sqlite-utils to ingest Hugo’s public JSON/TSV exports
  • document the static outputs (per-guest JSON and guest-entries TSV) and the resulting SQLite tables
  • update the workflow to install sqlite-utils via pip and run the Python builder, backed by a minimal requirements file

Testing

  • python -m pip install -r scripts/requirements-sqlite-utils.txt (fails in sandbox: proxy 403)

Codex Task

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Dec 24, 2025

Deploying wordle with  Cloudflare Pages  Cloudflare Pages

Latest commit: 9654174
Status: ✅  Deploy successful!
Preview URL: https://9c19b1b2.wordle-static.pages.dev
Branch Preview URL: https://ai-create-github-action-to-l.wordle-static.pages.dev

View logs

@github-actions
Copy link

Hugo Build Profile
Start building sites … 
hugo v0.148.1-98ba786f2f5dca0866f47ab79f394370bcb77d2f linux/amd64 BuildDate=2025-07-11T12:56:21Z VendorInfo=gohugoio


Template Metrics:

     cumulative       average       maximum         
       duration      duration      duration  count  template
     ----------      --------      --------  -----  --------
5m46.495605055s  239.789346ms  409.681932ms   1445  w/single.html
1m31.233355302s       42.52µs   57.299681ms  2145628  _partials/guess-count.html
1m14.155573726s     130.953µs   40.938264ms  566274  _partials/puzzle-hash.html
  25.649066798s   17.750219ms    41.33023ms   1445  _partials/by-month-day.html
  24.393912113s     649.292µs   37.391318ms  37570  _partials/letter-counts.html
  22.715136143s  22.715136143s  22.715136143s      1  index.html
  22.006804778s   628.76585ms  6.338322998s     35  single.html
  11.446362801s    5.7231814s  5.764053833s      2  _partials/non-openers.html
   6.337445954s  6.337445954s  6.337445954s      1  _inline_shortcode/non-opener-usage/om.inline
   5.723344624s  5.723344624s  5.723344624s      1  index.p8s.txt
   5.395682006s    3.726299ms  1.893794383s   1448  _partials/alphabet-pangrams.html
   4.378307455s    3.023692ms  1.853569048s   1448  _partials/front-half-alphabet-pangrams.html
   4.144569403s    2.862271ms  1.744731702s   1448  _partials/back-half-alphabet-pangrams.html
   3.892822691s    2.688413ms   1.63722826s   1448  _partials/single-letter-guesses.html
   3.721986966s    2.570432ms  1.533247165s   1448  _partials/all-vowels.html
   3.715943435s    2.566259ms  1.539836571s   1448  _partials/all-vowels-plus-y.html
    3.68285177s    1.695603ms   28.165506ms   2172  taxonomy/word.html
    3.63014707s     106.737µs   20.306273ms  34010  _partials/puzzle-score.html
   2.447590447s     219.731µs   21.350803ms  11139  _partials/emoji-grid.html
   2.358354568s    1.085798ms   17.954053ms   2172  _partials/word-scorecard.html
   2.320378841s  464.075768ms  563.559184ms      5  _partials/openers.html
   2.304985101s     324.966µs   23.005422ms   7093  _partials/guess-eval-counts.html
   1.970830149s     1.36107ms   650.57242ms   1448  _partials/no-green-before-solve.html
    1.85658482s   1.85658482s   1.85658482s      1  _inline_shortcode/front-half-alphabet-pangrams/om.inline
   1.747696321s  1.747696321s  1.747696321s      1  _inline_shortcode/back-half-alphabet-pangrams/om.inline
   1.649307606s    137.4423ms  234.124136ms     12  taxonomy/contest.html
   1.640168754s  1.640168754s  1.640168754s      1  _inline_shortcode/single-letter-guesses/om.inline
   1.592110159s  1.592110159s  1.592110159s      1  _inline_shortcode/guesses/solve.inline
   1.393445835s  1.393445835s  1.393445835s      1  _inline_shortcode/all-vowels-guessed/om.inline
   1.356919872s  1.356919872s  1.356919872s      1  _inline_shortcode/all-vowels-plus-y/om.inline
   1.244389631s     859.385µs  379.262996ms   1448  _partials/homo-guesses-only.html
   1.130770618s     780.918µs  332.673007ms   1448  _partials/anagrams.html
   1.028877969s     731.776µs   20.891434ms   1406  taxonomy/hash.html
   1.006075517s     104.353µs   20.331692ms   9641  _partials/breadcrumb.html
   994.732823ms     687.444µs  340.775349ms   1447  _partials/true-anagrams.html
   984.524906ms  984.524906ms  984.524906ms      1  _inline_shortcode/alphabet-pangrams/om.inline
   896.057325ms      389.59µs   301.03245ms   2300  _partials/opener-double-misses.html
   816.445525ms     563.843µs   255.99423ms   1448  _partials/opener-triple-misses.html
   785.477792ms     543.583µs    23.98005ms   1445  _partials/share-enhanced.html
   726.957162ms  726.957162ms  726.957162ms      1  _inline_shortcode/no-green-before-solve/om.inline
   673.190577ms     226.358µs   20.413506ms   2974  term.html
   661.744654ms  661.744654ms  661.744654ms      1  taxonomy/word.terms.html
   631.562332ms  631.562332ms  631.562332ms      1  w/list.html
   622.981687ms     431.129µs   14.222703ms   1445  _partials/puzzle-score-detail.html
   572.430242ms  572.430242ms  572.430242ms      1  taxonomy/hash.terms.html
   561.840952ms  561.840952ms  561.840952ms      1  _inline_shortcode/homogenous-guesses-only/om.inline
   559.011388ms     386.057µs  163.316691ms   1448  _partials/symmetrical.html
   528.876597ms  528.876597ms  528.876597ms      1  _inline_shortcode/openers/om.inline
   522.690605ms   74.670086ms  339.021857ms      7  _partials/puzzles-by-hash.html
   489.579998ms     338.809µs   10.522251ms   1445  _partials/share-spoilers.html
   481.765737ms     333.401µs   10.525861ms   1445  taxonomy/puzzle.html
   465.020489ms   93.004097ms  132.082299ms      5  w/year.html
   455.750742ms  455.750742ms  455.750742ms      1  _inline_shortcode/collections/solve.inline
   452.369408ms     313.058µs   11.922227ms   1445  _partials/share-standard.html
   437.382733ms     302.059µs  133.688959ms   1448  _partials/opener-misses.html
   424.703544ms  424.703544ms  424.703544ms      1  _partials/hourly-breakdown.html
   406.426527ms   81.285305ms  120.014639ms      5  _partials/calendar-year.html
   364.892695ms     251.997µs  112.688649ms   1448  _partials/no-yellow-tiles.html
   345.007312ms  345.007312ms  345.007312ms      1  _inline_shortcode/true-anagrams/om.inline
    342.79406ms   342.79406ms   342.79406ms      1  _inline_shortcode/anagrams/om.inline
    313.63485ms   313.63485ms   313.63485ms      1  _inline_shortcode/opener-double-misses/om.inline
    308.82922ms     213.279µs   92.814034ms   1448  _partials/dive-and-saves.html
   286.563109ms  286.563109ms  286.563109ms      1  sitemap.xml
   262.455487ms  262.455487ms  262.455487ms      1  _inline_shortcode/opener-triple-misses/om.inline
   255.251857ms    2.144973ms   19.327606ms    119  taxonomy/openerhash.html
   253.660099ms     175.543µs    20.36279ms   1445  _partials/tile-counts.html
   238.331264ms  238.331264ms  238.331264ms      1  _inline_shortcode/opener-misses/om.inline
   224.556635ms  224.556635ms  224.556635ms      1  _inline_shortcode/solve-in-four/solve.inline
    186.36004ms   186.36004ms   186.36004ms      1  _inline_shortcode/solve-in-three/solve.inline
   180.041365ms  180.041365ms  180.041365ms      1  _inline_shortcode/solve-in-five/solve.inline
   175.041239ms  175.041239ms  175.041239ms      1  _inline_shortcode/symmetrical/om.inline
   148.876704ms  148.876704ms  148.876704ms      1  _inline_shortcode/no-yellow-tiles/om.inline
   137.329708ms  137.329708ms  137.329708ms      1  taxonomy/puzzle.terms.html
    132.81828ms   132.81828ms   132.81828ms      1  taxonomy/shift.terms.html
   126.813208ms      29.253µs     194.985µs   4335  _partials/stairstep.html
   116.546631ms  116.546631ms  116.546631ms      1  _inline_shortcode/dive-and-saves/om.inline
    83.418388ms   41.709194ms    82.72492ms      2  _default/terms.html
    75.283296ms    5.377378ms   47.695514ms     14  taxonomy/tag.html
    68.508536ms   68.508536ms   68.508536ms      1  _partials/streak-wins.html
    60.735822ms   60.735822ms   60.735822ms      1  _inline_shortcode/stairstep/om.inline
    57.753794ms   57.753794ms   57.753794ms      1  _inline_shortcode/solve-in-six/solve.inline
     49.92739ms    49.92739ms    49.92739ms      1  _partials/streak-days-played-won.html
     48.43425ms    48.43425ms    48.43425ms      1  _inline_shortcode/opener-hash-checklist/openerhashes.inline
    38.318276ms   38.318276ms   38.318276ms      1  taxonomy/openerhash.terms.html
    33.843255ms   33.843255ms   33.843255ms      1  _partials/streak-days-played.html
    25.235352ms   25.235352ms   25.235352ms      1  taxonomy/contest.terms.html
     23.33902ms    23.33902ms    23.33902ms      1  _inline_shortcode/solve-in-two/solve.inline
    21.978215ms   10.989107ms   21.300076ms      2  a/single.html
    21.251209ms       89.29µs    2.406803ms    238  _partials/first-guess-emoji.html
    20.364186ms   20.364186ms   20.364186ms      1  _inline_shortcode/losses/solve.inline
     11.79486ms    11.79486ms    11.79486ms      1  _inline_shortcode/solve-in-one/solve.inline
     8.954167ms        6.05µs      94.176µs   1480  _partials/tag-list.html
     3.226587ms      32.591µs     285.895µs     99  alias.html
     1.047892ms     349.297µs     616.624µs      3  list.html
      538.435µs      29.913µs      91.391µs     18  _shortcodes/relref.html
      188.083µs      31.347µs      40.776µs      6  _shortcodes/ref.html
       67.566µs      67.566µs      67.566µs      1  _partials/first-guess-hash.html
          961ns         961ns         961ns      1  _inline_shortcode/contests/2023-04-lucky/contest.inline
          902ns         902ns         902ns      1  _inline_shortcode/contests/2023-05-relay-mode/contest.inline
          822ns         822ns         822ns      1  _inline_shortcode/contests/2023-06-squid/contest.inline
          791ns         791ns         791ns      1  _inline_shortcode/contests/2023-03-ffa/contest.inline
          772ns         772ns         772ns      1  _inline_shortcode/contest-form/contestForm.inline
          752ns         752ns         752ns      1  _inline_shortcode/contests/2023-02-orate/contest.inline
          722ns         722ns         722ns      1  _inline_shortcode/contests/2023-07-tiger/contest.inline
          612ns         612ns         612ns      1  _inline_shortcode/contests/2023-01-guide/contest.inline


                │  EN  
──────────────────┼──────
Pages            │ 9644 
Paginator pages  │    0 
Non-page files   │ 2264 
Static files     │   22 
Processed images │    0 
Aliases          │   99 
Cleaned          │    0 

Total in 117201 ms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant