• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Toilal / rebulk / 28253209765
96%
master: 97%

Build:
Build:
LAST BUILD BRANCH: develop
DEFAULT BRANCH: master
Ran 26 Jun 2026 05:05PM UTC
Jobs 14
Files 17
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Jun 2026 05:05PM UTC coverage: 96.029% (-0.002%) from 96.031%
28253209765

push

github

Toilal
feat(typing): typed keys for type-safe value retrieval (v5 POC)

Introduce Key[T], a typed handle binding a match name to its value type.
Passing it to a builder method (key=...) wires up both the match name and
formatter, and reading it back is fully typed instead of Any:

    YEAR = Key("year", int)
    matches = Rebulk().regex(r"\d{4}", key=YEAR).matches("born 1984")
    matches[YEAR]      # int | None
    matches.all(YEAR)  # list[int]

This sidesteps the heterogeneous-collection erasure problem: the value
type is named at the read site (via the key), so each access has a single
concrete T, no existentials needed. The dynamic engine is untouched and
the string-based API is unchanged — Key is purely additive.

POC scope: the declaration -> matches[KEY] / matches.all(KEY) path for
scalar value types. A typed result model (.to(dataclass)) and a formatter
(not just type[T]) variant are left for follow-up.

Refs #43

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

31 of 32 new or added lines in 4 files covered. (96.88%)

1741 of 1813 relevant lines covered (96.03%)

12.45 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
94.57
-0.78% rebulk/builder.py
Jobs
ID Job ID Ran Files Coverage
1 28253209765.1 26 Jun 2026 05:05PM UTC 17
95.59
GitHub Action Run
2 28253209765.2 26 Jun 2026 05:05PM UTC 17
95.59
GitHub Action Run
3 28253209765.3 26 Jun 2026 05:05PM UTC 17
96.03
GitHub Action Run
4 28253209765.4 26 Jun 2026 05:05PM UTC 17
96.03
GitHub Action Run
5 28253209765.5 26 Jun 2026 05:05PM UTC 17
95.59
GitHub Action Run
6 28253209765.6 26 Jun 2026 05:05PM UTC 17
96.03
GitHub Action Run
7 28253209765.7 26 Jun 2026 05:05PM UTC 17
95.59
GitHub Action Run
8 28253209765.8 26 Jun 2026 05:05PM UTC 17
96.03
GitHub Action Run
9 28253209765.9 26 Jun 2026 05:05PM UTC 17
96.03
GitHub Action Run
10 28253209765.10 26 Jun 2026 05:05PM UTC 17
95.59
GitHub Action Run
11 28253209765.11 26 Jun 2026 05:05PM UTC 17
95.64
GitHub Action Run
12 28253209765.12 26 Jun 2026 05:05PM UTC 17
95.59
GitHub Action Run
13 28253209765.13 26 Jun 2026 05:06PM UTC 17
96.03
GitHub Action Run
14 28253209765.14 26 Jun 2026 05:06PM UTC 17
96.03
GitHub Action Run
Source Files on build 28253209765
  • Tree
  • List 17
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 119b465d on github
  • Prev Build on develop (#28251563767)
  • Next Build on feat/typed-keys-poc (#28260226274)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc