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

source-academy / py-slang / 42487950578
88%

Build:
DEFAULT BRANCH: main
Ran 08 Nov 2026 02:26PM UTC
Jobs 1
Files 199
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

08 Nov 2026 02:04PM UTC coverage: 88.153% (+0.1%) from 88.02%
42487950578

push

github

web-flow
Typed Python §4, phase 2: the type checker (#634)

* docs: Typed Python §4 spec: static type checking before dynamic type checking

Section 3 is now "Static Type Checking" and section 4 "Dynamic Type Checking". The two references
from the static section to the dynamic one say "below".

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* Typed Python §4, phase 2: build the checker's worker

The type checker of Typed Python §4 is pyright, in a worker (docs/typed-python-4.md). `yarn
build:typecheck` builds dist/TypedPy4Checker.js: the web worker of browser-basedpyright with the
third-party stubs and all but 59 standard library stubs removed (18 MB to 4.7 MB; 0.77 MB brotli),
and with Source Python's `builtins.pyi` and `types.pyi`, the prelude and the configuration baked
in, so that the worker is one file with everything that it needs.

* src/typecheck/bundler/: the edits of the worker's embedded typeshed (bundle.ts), the changes to
  typeshed that make Python §4's rules (source-builtins.ts: strict bool, bool is not a number, the
  types of **), and the build with a stamp, so that it is rebuilt when a source changes, and a lock,
  so that parallel callers wait for one build (typed4.ts). Each change to typeshed checks that
  typeshed has the shape that it expects, and fails with what to update if a newer one does not.
* src/typecheck/prelude.pyi: the types of the names of Python §4 that Python does not have.
* src/typecheck/config.ts: pyright's configuration. constants.ts: where programs are.
* browser-basedpyright is pinned (1.40.2) as a dev dependency; its polyfill dependencies add about
  90 packages to yarn.lock, which the worker does not need. acorn, which reads the worker's source,
  was already in the lockfile.

Tests of the build (on a small bundle, and on typeshed's shapes): src/tests/typecheck-build.test.ts.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* Typed Python §4, phase 2: the checker

TypedPythonChecker (src/typech... (continued)

7421 of 8881 branches covered (83.56%)

Branch coverage included in aggregate %.

449 of 465 new or added lines in 15 files covered. (96.56%)

15259 of 16847 relevant lines covered (90.57%)

307273.81 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
87.41
src/typecheck/client.ts
4
89.0
src/typecheck/checker.ts
1
95.27
src/typecheck/bundler/bundle.ts
1
96.84
src/typecheck/messages.ts
Jobs
ID Job ID Ran Files Coverage
1 42487950578.1 08 Nov 2026 02:26PM UTC 199
88.15
GitHub Action Run
Source Files on build 42487950578
  • Tree
  • List 199
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #42487950578
  • 23825d8f on github
  • Prev Build on main (#42461589325)
  • Next Build on main (#42494967454)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc