pgx
AI 에이전트를 위한 경량 Postgres, Rust로 구현, 하나의 런타임에서 수천 개의 격리된 데이터베이스 제공
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Live: https://presidentl.app
A single-page US map of the 2026 midterms shaded by Polymarket odds. Senate, House and Governors tabs; every Senate and governor race links straight to its Polymarket market, and on the House tab you can zoom in to any state to see its congressional districts, each shaded by its own market.
index.html is fully self-contained (geometry and odds are baked in), so any static server works:
python3 -m http.server 8000 # then open http://localhost:8000
Opening index.html directly from Finder also works.
The page is a static snapshot, refreshed automatically: a GitHub Actions workflow (.github/workflows/refresh-odds.yml) runs every hour, and whenever the feed has new prices it commits the updated data/odds.json and index.html, which redeploys the site. The feed itself updates about twice a day, so most hourly runs change nothing. To refresh by hand:
python3 scripts/fetch_odds.py
That downloads PolymarketTrader.com's free JSON of Polymarket prices (CC BY 4.0, refreshed twice a day), rewrites data/odds.json, and regenerates index.html. No dependencies beyond Python 3. (If you already have a copy of the feed, pass its path: python3 scripts/fetch_odds.py feed.json.)
index.html built page (don't edit by hand; run scripts/build.py)
src/template.html page source: markup, CSS, and the map/panel logic
data/states.js projected SVG path data for the 50 states (us-atlas, Albers USA)
data/districts.js projected SVG paths for the 429 multi-district House seats (Census, 119th Congress)
data/odds.json Senate + House + Governor odds in the page's schema
data/baseline.json current seat counts and who holds each seat up in 2026 (for the projection and flip list)
data/history/ one compact snapshot per feed update (Democratic price per race); feeds the deltas and sparklines
scripts/build.py template + data -> index.html
scripts/fetch_odds.py refresh data/odds.json from the feed, then build
scripts/build_districts.js regenerate data/districts.js from the Census shapefile (needs node)
You only need this if district lines change (next redistricting). It needs Node plus two packages:
npm i mapshaper d3-geo
curl -LO https://www2.census.gov/geo/tiger/GENZ2024/shp/cb_2024_us_cd119_500k.zip && unzip cb_2024_us_cd119_500k.zip
node scripts/build_districts.js cb_2024_us_cd119_500k.shp && python3 scripts/build.py
The script simplifies the boundaries (topology-preserving) and projects them with the same Albers USA settings us-atlas uses for the states, so districts sit exactly on top of their state. At-large states reuse the state outline.
Color = the favourite's Polymarket price in that race. Safe ≥95%, Likely 80–95%, Lean 60–80%, Toss-up <60%; blue for the Democrat, red for the Republican. On the House tab a state's color reflects the share of its districts each party is favoured in; click a state to zoom in and see each district shaded by its own market (Esc or "All states" zooms back out). The Governors tab shades the 36 states with a 2026 governor race; there is no chamber-control market for governors, so the bar shows how many races each party is favoured in.
Deep links: #senate, #house, #governor, or #house/TX to open zoomed in to a state.
Every time the workflow sees new prices it also drops a small snapshot in data/history/ (about two a day). build.py folds those into the page, which then shows for every race the change in the favourite's price (▲/▼ points), a sparkline, and a "Biggest movers" strip with a toggle to sort the ledger by movement instead of closeness. The comparison window is 7 days once there is a week of history; until then it is "since ". The history started on Oct 22, 2026, so the first few days show small or no deltas.
Under the control bar each chamber shows what the chamber would look like if every race went to its current favourite, next to the change from today's composition, and which seats would flip. The baseline lives in data/baseline.json: the current D/R counts, the majority threshold, and the party holding every seat that is up in 2026. Update it when a seat changes hands (a resignation, a special election). Senate D counts include the two independents who caucus with the Democrats. The House projection only covers districts with a market (CA-40 has none at the moment), so its two changes do not sum to zero.
The "Election night" button (and automatically from 6 PM ET on Nov 3) switches the page into results mode: the ledger is ordered by poll-closing time, each row shows when its state's polls close, and any race whose Polymarket favourite is priced at 98.5% or higher is marked Called (solid navy / dark red on the map, a ✓ on the state label). The control bar becomes a called-seats tally with open races in grey. Poll-closing times live in src/template.html (CLOSE), using each state's last closing time in Eastern. Before Election Day the button is a preview: a 98.5% price then just means a safe seat.
site.json)Everything that turns the site into a business lives in one file; scripts/build.py bakes it into the pages.
| Key | What it does |
|---|---|
referral.polymarket | Your Polymarket referral code; appended as ?r=CODE to every market link. Polymarket pays 10% of referred users' net fees for 30 days once your own account has $10K lifetime volume. |
referral.kalshi | Your Kalshi referral code; appended as ?referral=CODE to Kalshi links ($25 credit per referral, capped at 40). Check the Kalshi market URL pattern in KL() in src/template.html against a real market page before relying on it. |
sponsor | name, url, text, from, to (ISO dates). A "presented by" band shows under the header only inside the window. Links carry rel="sponsored". |
newsletter.action | A form endpoint that accepts POST email=…, e.g. Buttondown's https://buttondown.com/api/emails/embed-subscribe/<username>. The signup box is hidden until this is set. |
embed.whitelabel_price | Price shown on embed.html. |
contact.email / contact.url | Where the embed and data pages send inquiries. |
/ — the map. Tabs: Senate, House, Governors, 2028 (winner and both nominee markets, from data/odds_2028.json)./?embed=1&chamber=senate|house|governor[&state=TX][&night=1] — embed mode: map, legend and a badge, nothing else. Built from the same index.html./embed.html — snippet generator, live preview, and the white-label offer./data.html — the dataset page: data/odds.json, data/odds_2028.json, data/history.csv (long format, one row per race per snapshot) with the schema and CC BY terms.Kalshi prices (kalshi on each Senate and governor race) show as a second line in the ledger with the Polymarket–Kalshi gap; gaps of 3+ points are highlighted.
scripts/fetch_earlyvote.py (run by the hourly workflow) saves one snapshot a day of the UF Election Lab's 2026 early-vote tracker to data/earlyvote/YYYY-MM-DD.json, refreshes the Texas day-by-day series in data/earlyvote_ref.json from the Texas SOS daily reports (via github.com/Seeker-Cliff/tx-early-vote-live), and, with --backfill, tries to fill earlier days from the Wayback Machine (it rate-limits and had no captures when tried on Oct 30, so this is off in the hourly run). data/earlyvote_ref.json also holds static reference data: 2018 and 2022 total ballots and eligible population per state (UF Election Lab turnout files) and the 2022 final early-vote totals per state (US Elections Project 2022 tracker).
The page shows early ballots so far as a share of 2022 and 2018 total turnout and of the 2022 final early vote, in-person vs mail, party registration where states report it, a national day-by-day line built from the snapshots, and a Texas chart that lines up the same day of early voting in 2018, 2022, 2024 and 2026. No national day-by-day series exists for 2018 or 2022, which is why those years appear as final totals.
The hourly workflow runs the script after the odds fetch and rebuilds; if the UF feed is down the last snapshot is kept.
https://gamma-api.polymarket.com/events?slug=<market>) is public; each race's market slug in odds.json is the event slug.data/history/ from Polymarket's CLOB prices-history endpoint so the sparklines start with 30+ days instead of a few.Attribution: odds data from PolymarketTrader.com (CC BY 4.0), via Polymarket. Prices are market odds, not polls. State shapes from us-atlas; district shapes from the US Census Bureau's 2024 cartographic boundary files.