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

source-academy / py-slang / 28800629579
81%

Build:
DEFAULT BRANCH: main
Ran 06 Jul 2026 02:56PM UTC
Jobs 1
Files 86
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

06 Jul 2026 02:52PM UTC coverage: 77.44% (-0.9%) from 78.307%
28800629579

push

github

web-flow
Add a native Pynter/PVML pathway to the standalone repl (#216)

* Add a native Sinter/SVML pathway to the standalone repl

Extends `yarn repl` with `--engine svml`, which compiles a SICPy program to
SVML bytecode and runs it on a native Sinter `runner` binary (built
separately from the sinter repo) instead of the CSE machine. Restricted to
`-v 3`, matching what the SVML compiler currently supports.

Also adds an opt-in parity harness (generateNativeSinterTestCases, gated on
SINTER_RUNNER_PATH) that reruns the existing CSE test suite's TestCases
tables against svml/sinter, to track coverage as the compiler and Sinter
itself gain features.

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

* Target the native Pyinter fork instead of Sinter for the SVML repl pathway

Sinter is the fallback engine for the live Source curriculum on real
hardware, so it isn't safe to grow Python-specific VM semantics into it.
source-academy/pyinter is a new fork of Sinter, kept as a separate sister
project for that purpose. Repoints the --engine svml CLI pathway added in
the previous commit at Pyinter instead: --sinter -> --pyinter,
SINTER_RUNNER_PATH -> PYINTER_RUNNER_PATH, generateNativeSinterTestCases ->
generateNativePyinterTestCases, and moves the native runner wrapper out of
engines/svml/sinter/ (which still holds the pre-existing WASM Sinter
integration used by PySvmlSinterEvaluator, untouched here) into its own
engines/svml/pyinter/.

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

* Rename the Sinter fork from Pyinter to Pynter

The sister project's name is Pynter, not Pyinter.

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

* Fork the SVML wiki docs into docs/pvml/ as PVML's starting point

Copied from the js-slang wiki (SVML-Specification, SVML-Instruction-Set,
SVML-Compiler-and-Machine) so py-slang can start documenting and evolving
PVML — the bytecode format Pynter (the Sinter fork) will run — without
touching the canonical SVML docs.
... (continued)

2469 of 3473 branches covered (71.09%)

Branch coverage included in aggregate %.

166 of 230 new or added lines in 10 files covered. (72.17%)

6 existing lines in 1 file now uncovered.

5965 of 7418 relevant lines covered (80.41%)

13502.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
27
74.01
-19.52% src/tests/utils.ts
9
65.51
src/engines/pvml/pvml-interpreter.ts
8
65.98
src/engines/pvml/types.ts
5
85.79
src/engines/pvml/pvml-compiler.ts
5
74.42
src/pvml-runner.ts
4
79.9
src/engines/pvml/pvml-assembler.ts
2
62.35
src/engines/pvml/builtins.ts
2
84.62
src/engines/pvml/errors.ts
1
97.42
src/engines/pvml/PVMLIRBuilder.ts
1
91.18
src/engines/pvml/pynter/native-pynter.ts

Coverage Regressions

Lines Coverage ∆ File
6
66.1
-10.17% src/utils/buffer.ts
Jobs
ID Job ID Ran Files Coverage
1 28800629579.1 06 Jul 2026 02:56PM UTC 86
77.44
GitHub Action Run
Source Files on build 28800629579
  • Tree
  • List 86
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28800629579
  • 14638b86 on github
  • Prev Build on main (#28789248808)
  • Next Build on main (#28802687945)
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