Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
4289170
Make config reactive
MelbourneDeveloper Jul 16, 2026
4df7286
Reactive server-side configuration + basilisk format CLI
MelbourneDeveloper Jul 16, 2026
a68745e
Merge branch 'main' into reactiveconfig
MelbourneDeveloper Jul 16, 2026
1aa6e0e
fixes
MelbourneDeveloper Jul 16, 2026
eb97b66
Fixes
MelbourneDeveloper Jul 16, 2026
5062273
Fixes
MelbourneDeveloper Jul 16, 2026
3cfb87e
Merge branch 'main' into reactiveconfig
MelbourneDeveloper Jul 16, 2026
962f2b3
fixes
MelbourneDeveloper Jul 16, 2026
6d258e6
Inference-first annotation rules: BSK-0001/0002 never fire on inferab…
MelbourneDeveloper Jul 17, 2026
7302774
Restore PyPI packaging in pyproject.toml clobbered by on-branch confi…
MelbourneDeveloper Jul 17, 2026
71eb985
Merge remote-tracking branch 'origin/main' into reactiveconfig
MelbourneDeveloper Jul 17, 2026
6b36b4e
Restamp README conformance/bench references from rebaselined CSV
MelbourneDeveloper Jul 17, 2026
21dfa7f
Stuff
MelbourneDeveloper Jul 17, 2026
1816b78
Format test_book_contract.py to satisfy ruff format gate
MelbourneDeveloper Jul 18, 2026
d38dbe4
Stage 0+1 of inference plan: bidirectional constraint engine + defini…
MelbourneDeveloper Jul 18, 2026
503cae2
Format incremental_measure example (missed by broken shell chain)
MelbourneDeveloper Jul 18, 2026
510a5a6
Stage 2 narrowing core: scoped environment, guard consumption, set op…
MelbourneDeveloper Jul 18, 2026
0139f0b
Stage 2 flow walker: branch/complement/join over resolver guards with…
MelbourneDeveloper Jul 18, 2026
db8fbea
Stage 2: match-statement per-case narrowing; check off flow checklist…
MelbourneDeveloper Jul 18, 2026
dcaf73c
Stage 2: unreachable-branch narrowing test; check off flow behaviour …
MelbourneDeveloper Jul 18, 2026
c14b96a
Stage 2 extended guards: ==/in literals, TypedDict key membership, im…
MelbourneDeveloper Jul 18, 2026
70ed088
Stage 2: Salsa-backed narrowed_uses query, attr-narrowing config knob…
MelbourneDeveloper Jul 18, 2026
6be30b7
Stage 2: inference-driven unreachable-branch reporting from Never nar…
MelbourneDeveloper Jul 18, 2026
0fe5081
Stage 2: type(x)-is narrowing with @final awareness; ifT-benchmark ba…
MelbourneDeveloper Jul 18, 2026
d0f6ebf
Stage 2 expression inference: same-module unannotated-return synthesis
MelbourneDeveloper Jul 18, 2026
c0c313e
Stage 2 expression inference: centralized builtin signatures; constru…
MelbourneDeveloper Jul 18, 2026
e974631
Stage 2 expression inference: #317 parameter inference from body cons…
MelbourneDeveloper Jul 18, 2026
b077a88
Stage 2 expression inference: same-module call-return inference with …
MelbourneDeveloper Jul 18, 2026
3f9b08c
Stage 2 expression inference: imported function/method return types
MelbourneDeveloper Jul 18, 2026
7f67666
Stage 2 expression inference: plain attribute loads via backdated cla…
MelbourneDeveloper Jul 18, 2026
61b1bac
Merge branch 'main' into reactiveconfig
MelbourneDeveloper Jul 18, 2026
7bad959
Stuff
MelbourneDeveloper Jul 18, 2026
dc04830
Merge remote-tracking branch 'origin/reactiveconfig' into reactiveconfig
MelbourneDeveloper Jul 18, 2026
67bf46a
Remove committed scratch test tmp_rebind_claim_verify.rs
MelbourneDeveloper Jul 18, 2026
09739dc
Remove committed scratch test tmp_refute_union_guard_atom.rs
MelbourneDeveloper Jul 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ Code here must comfortably pass review at a top-tier engineering org. Keep quali

## Conformance Is the Prime Directive

Target: **100% PEP conformance**, canonical Python **3.12**. Read the [PEP conformance README](https://github.com/python/typing/blob/main/conformance/README.md) carefully. This discipline outranks every other concern in this file.
Target: **100% conformance with the maintained Python typing specification**.
Python-version boundaries apply only where the typing specification, an
accepted PEP, or Python language semantics defines one; Basilisk has no
canonical Python release. Read the [PEP conformance README](https://github.com/python/typing/blob/main/conformance/README.md)
carefully. This discipline outranks every other concern in this file.

- **One reproducible path — the real harness.** `python3 conformance/run_conformance.py` clones `python/typing@main` FRESH and runs the suite's OWN unmodified harness (`src/main.py --only-run basilisk`) over the binary in its default config — every PEP rule on, nothing configured ([CHKARCH-CONFORMANCE], [CHKARCH-CONFIGURATION-ONLY]). The score is exactly what a user gets out of the box; never quote a number produced any other way, and never re-introduce a home-grown/vendored scorer.
- **Precision is the whole game.** A file passes iff the upstream `errors_diff` is empty: emit an error on EVERY `# E` line, satisfy EVERY `# E[tag]` group, and emit NOTHING on a line the suite does not mark. Follow each PEP exactly — no missed required error, no stray diagnostic.
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ And it is the **fastest checker we’ve measured** — median cold full-

| Type checker | Median cold check |
| --- | --- |
| ⚡ **Basilisk** | **<!--g:benchBasilisk-->11<!--/g:benchBasilisk--> ms** |
| zuban | <!--g:benchZuban-->27<!--/g:benchZuban--> ms |
| ty | <!--g:benchTy-->39<!--/g:benchTy--> ms |
| Pyrefly | <!--g:benchPyrefly-->148<!--/g:benchPyrefly--> ms |
| Pyright | <!--g:benchPyright-->582<!--/g:benchPyright--> ms |
| mypy | <!--g:benchMypy-->610<!--/g:benchMypy--> ms |
| ⚡ **Basilisk** | **<!--g:benchBasilisk-->10<!--/g:benchBasilisk--> ms** |
| zuban | <!--g:benchZuban-->28<!--/g:benchZuban--> ms |
| ty | <!--g:benchTy-->40<!--/g:benchTy--> ms |
| Pyrefly | <!--g:benchPyrefly-->110<!--/g:benchPyrefly--> ms |
| Pyright | <!--g:benchPyright-->573<!--/g:benchPyright--> ms |
| mypy | <!--g:benchMypy-->574<!--/g:benchMypy--> ms |

Median cold full-file check across <!--g:benchCount-->26<!--/g:benchCount--> single-construct typing-spec stress fixtures on an <!--g:benchMachine-->Apple M4 Max<!--/g:benchMachine--> &mdash; lower is better. Basilisk&rsquo;s warm re-check drops to ~<!--g:benchWarm-->4<!--/g:benchWarm--> ms. Every figure is produced by [`hyperfine`](https://github.com/sharkdp/hyperfine) and committed per machine, so nothing here is hand-typed. **Clone the repo, run `make bench` on your own hardware, and send us the CSV &mdash; independent audits are welcome.** [Full benchmarks &amp; methodology &rarr;](https://www.basilisk-python.dev/docs/benchmarks/)

Expand Down
12 changes: 6 additions & 6 deletions README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ Basilisk 是**唯一**在官方

| 类型检查器 | 冷启动检查中位数 |
| --- | --- |
| ⚡ **Basilisk** | **<!--g:benchBasilisk-->11<!--/g:benchBasilisk--> ms** |
| zuban | <!--g:benchZuban-->27<!--/g:benchZuban--> ms |
| ty | <!--g:benchTy-->39<!--/g:benchTy--> ms |
| Pyrefly | <!--g:benchPyrefly-->148<!--/g:benchPyrefly--> ms |
| Pyright | <!--g:benchPyright-->582<!--/g:benchPyright--> ms |
| mypy | <!--g:benchMypy-->610<!--/g:benchMypy--> ms |
| ⚡ **Basilisk** | **<!--g:benchBasilisk-->10<!--/g:benchBasilisk--> ms** |
| zuban | <!--g:benchZuban-->28<!--/g:benchZuban--> ms |
| ty | <!--g:benchTy-->40<!--/g:benchTy--> ms |
| Pyrefly | <!--g:benchPyrefly-->110<!--/g:benchPyrefly--> ms |
| Pyright | <!--g:benchPyright-->573<!--/g:benchPyright--> ms |
| mypy | <!--g:benchMypy-->574<!--/g:benchMypy--> ms |

在 <!--g:benchMachine-->Apple M4 Max<!--/g:benchMachine--> 上,跨 <!--g:benchCount-->26<!--/g:benchCount--> 个单一类型构造压力测试样本的冷启动全文件检查中位数 —— 数值越低越好。Basilisk 的热重检查可降至约 <!--g:benchWarm-->4<!--/g:benchWarm--> ms。每个数字均由 [`hyperfine`](https://github.com/sharkdp/hyperfine) 生成并按机器提交,没有一个是手写的。**克隆仓库,在你自己的硬件上运行 `make bench`,并把 CSV 发给我们 —— 欢迎社区独立复核。** [完整基准测试与方法论(英文)&rarr;](https://www.basilisk-python.dev/docs/benchmarks/)

Expand Down
Loading
Loading