Skip to content

Releases

zclick 0.1.1a3

zclick 0.1.1a3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Nov 06:26

zclick 0.1.1a3

Prerelease. Full Click compatibility is not yet complete.

1 known compatibility item remains unfinished:

UNFINISHED: Import and command invocation in Python subinterpreters

zclick requires the main interpreter. Its native module rejects initialization in subinterpreters with ImportError.

Reference behavior: Click 8.5.1 imports and invokes commands in CPython 3.12 isolated and shared-GIL subinterpreters after initialization in the main interpreter.

The pinned PyO3 0.30.1 binding does not support independent subinterpreter module and type state. Bypassing its isolation checks would risk sharing Python objects across interpreters.

The complete disclosure and compatibility report record the limits and reproducer.

Validation and scope

The compatibility target is Click 8.5.1, source commit cf19179e8e2fd54c601378cec9e0d21bb12b6fb1. Publishing requires evidence accounting for all 33,459 fixed upstream case IDs, with the original platform skips and expected failures retained, plus API contracts, actual Shell completion, interpreter safety, dependency checks and executable distribution checks. These gates do not remove the unfinished item above.

Evidence assets

compatibility-evidence.zip contains the complete per-case reports, API audits, actual Shell results, subinterpreter difference and safe-rejection evidence, the known gap list, and wheel/source-archive execution checks. Original reference crashes or platform exclusions remain visible in those records.

benchmarks.json contains raw measurements from this immutable release commit on a separate CI host. Timing is workload-specific: a ratio above 1 means lower zclick latency, and a ratio below 1 means a regression at that boundary.

Measurements on the release CI host

Warm Python API workload Click µs zclick µs Ratio
construct/1 4.524 4.361 1.037×
parse/1 2.156 2.108 1.023×
invoke/1 32.028 28.075 1.141×
help/1 79.286 30.269 2.619×
construct/10 38.119 36.518 1.044×
parse/10 6.156 7.214 0.853×
invoke/10 86.777 66.920 1.297×
help/10 127.513 67.599 1.886×
construct/100 381.480 364.365 1.047×
parse/100 47.949 54.997 0.872×
invoke/100 677.390 496.221 1.365×
help/100 608.002 426.075 1.427×
construct/1000 3967.816 3739.228 1.061×
parse/1000 630.123 546.141 1.154×
invoke/1000 11070.030 5201.535 2.128×
help/1000 5333.284 4011.592 1.329×
nested-command 57.815 52.508 1.101×
wrap-text 450.214 49.721 9.055×
Fresh process, import, construction and action Click ms zclick ms Ratio
command/1 41.504 34.170 1.215×
help/1 46.121 38.501 1.198×
command/10 41.408 33.927 1.221×
help/10 46.613 37.889 1.230×
command/100 42.376 34.856 1.216×
help/100 48.427 40.257 1.203×
command/1000 62.502 48.833 1.280×
help/1000 64.183 55.141 1.164×

Change from published zclick 0.1.1a2

Warm Python API workload Published baseline µs Candidate µs Baseline / candidate
construct/1 4.387 4.361 1.006×
parse/1 3.528 2.108 1.674×
invoke/1 30.809 28.075 1.097×
help/1 28.342 30.269 0.936×
construct/10 36.612 36.518 1.003×
parse/10 9.507 7.214 1.318×
invoke/10 71.208 66.920 1.064×
help/10 65.640 67.599 0.971×
construct/100 364.772 364.365 1.001×
parse/100 66.463 54.997 1.208×
invoke/100 520.041 496.221 1.048×
help/100 432.794 426.075 1.016×
construct/1000 3726.953 3739.228 0.997×
parse/1000 636.707 546.141 1.166×
invoke/1000 5375.468 5201.535 1.033×
help/1000 4068.650 4011.592 1.014×
nested-command 59.993 52.508 1.143×
wrap-text 49.120 49.721 0.988×

The three implementations run in fresh isolated processes for 12 rounds, using two minimal wheel environments. The reference environment contains fixed Click and the published baseline; the candidate environment contains the same Click wheel and the candidate. Ordering is seeded (20261111); every six rounds include all six package orders. Cold scenarios use independently seeded orders. Full output checksums and immutable wheel/runtime hashes are verified. Raw data also includes the old-version cold timings, every allocation sample and per-process RSS.

Recorded CPU affinity: [0]. CPU frequency and shared-host activity are not locked. Small differences are not claimed to be significant. Python allocation samples do not measure every Rust allocation.

Installation and publication

Wheel assets are attached for the listed Python/platform combinations, together with a source archive. GitHub artifact publication and PyPI publication are separate jobs. The existence of this GitHub release does not by itself establish that the PyPI upload succeeded.

zclick 0.1.1a2

zclick 0.1.1a2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Nov 16:02

zclick 0.1.1a2

Prerelease. Full Click compatibility is not yet complete.

1 known compatibility item remains unfinished:

UNFINISHED: Import and command invocation in Python subinterpreters

zclick requires the main interpreter. Its native module rejects initialization in subinterpreters with ImportError.

Reference behavior: Click 8.5.1 imports and invokes commands in CPython 3.12 isolated and shared-GIL subinterpreters after initialization in the main interpreter.

The pinned PyO3 0.30.1 binding does not support independent subinterpreter module and type state. Bypassing its isolation checks would risk sharing Python objects across interpreters.

The complete disclosure and compatibility report record the limits and reproducer.

Validation and scope

The compatibility target is Click 8.5.1, source commit cf19179e8e2fd54c601378cec9e0d21bb12b6fb1. Publishing requires evidence accounting for all 33,459 fixed upstream case IDs, with the original platform skips and expected failures retained, plus API contracts, actual Shell completion, interpreter safety, dependency checks and executable distribution checks. These gates do not remove the unfinished item above.

Evidence assets

compatibility-evidence.zip contains the complete per-case reports, API audits, actual Shell results, subinterpreter difference and safe-rejection evidence, the known gap list, and wheel/source-archive execution checks. Original reference crashes or platform exclusions remain visible in those records.

benchmarks.json contains raw measurements from this immutable release commit on a separate CI host. Timing is workload-specific: a ratio above 1 means lower zclick latency, and a ratio below 1 means a regression at that boundary.

Measurements on the release CI host

Warm Python API workload Click µs zclick µs Ratio
construct/1 6.199 5.981 1.036×
parse/1 2.907 4.711 0.617×
invoke/1 68.058 69.487 0.979×
help/1 160.319 57.461 2.790×
construct/10 51.102 48.681 1.050×
parse/10 8.576 13.192 0.650×
invoke/10 147.040 129.905 1.132×
help/10 232.380 111.570 2.083×
construct/100 509.940 487.971 1.045×
parse/100 68.096 92.697 0.735×
invoke/100 928.616 720.583 1.289×
help/100 896.932 611.180 1.468×
construct/1000 5273.717 4959.468 1.063×
parse/1000 836.866 857.956 0.975×
invoke/1000 14169.504 7023.316 2.017×
help/1000 7243.400 5486.346 1.320×
nested-command 119.839 131.907 0.909×
wrap-text 650.213 69.811 9.314×
Fresh process, import, construction and action Click ms zclick ms Ratio
command/1 47.971 39.650 1.210×
help/1 54.821 45.123 1.215×
command/10 48.305 39.811 1.213×
help/10 55.592 45.297 1.227×
command/100 49.844 41.480 1.202×
help/100 56.866 46.616 1.220×
command/1000 74.481 57.698 1.291×
help/1000 74.790 65.037 1.150×

Change from published zclick 0.1.1a1

Warm Python API workload Published baseline µs Candidate µs Baseline / candidate
construct/1 6.847 5.981 1.145×
parse/1 5.987 4.711 1.271×
invoke/1 73.169 69.487 1.053×
help/1 69.845 57.461 1.216×
construct/10 56.406 48.681 1.159×
parse/10 22.096 13.192 1.675×
invoke/10 144.753 129.905 1.114×
help/10 138.535 111.570 1.242×
construct/100 561.699 487.971 1.151×
parse/100 200.341 92.697 2.161×
invoke/100 803.018 720.583 1.114×
help/100 788.245 611.180 1.290×
construct/1000 5711.841 4959.468 1.152×
parse/1000 2019.259 857.956 2.354×
invoke/1000 7377.726 7023.316 1.050×
help/1000 7158.829 5486.346 1.305×
nested-command 135.448 131.907 1.027×
wrap-text 72.940 69.811 1.045×

The three implementations run in fresh isolated processes for 12 rounds, using two minimal wheel environments. The reference environment contains fixed Click and the published baseline; the candidate environment contains the same Click wheel and the candidate. Ordering is seeded (20261111); every six rounds include all six package orders. Cold scenarios use independently seeded orders. Full output checksums and immutable wheel/runtime hashes are verified. Raw data also includes the old-version cold timings, every allocation sample and per-process RSS.

Recorded CPU affinity: [0]. CPU frequency and shared-host activity are not locked. Small differences are not claimed to be significant. Python allocation samples do not measure every Rust allocation.

Installation and publication

Wheel assets are attached for the listed Python/platform combinations, together with a source archive. GitHub artifact publication and PyPI publication are separate jobs. The existence of this GitHub release does not by itself establish that the PyPI upload succeeded.

zclick 0.1.1a1

zclick 0.1.1a1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Nov 13:54

zclick 0.1.1a1

Prerelease. Full Click compatibility is not yet complete.

1 known compatibility item remains unfinished:

UNFINISHED: Import and command invocation in Python subinterpreters

zclick requires the main interpreter. Its native module rejects initialization in subinterpreters with ImportError.

Reference behavior: Click 8.5.1 imports and invokes commands in CPython 3.12 isolated and shared-GIL subinterpreters after initialization in the main interpreter.

The pinned PyO3 0.30.1 binding does not support independent subinterpreter module and type state. Bypassing its isolation checks would risk sharing Python objects across interpreters.

The complete disclosure and compatibility report record the limits and reproducer.

Validation and scope

The compatibility target is Click 8.5.1, source commit cf19179e8e2fd54c601378cec9e0d21bb12b6fb1. Publishing requires evidence accounting for all 33,459 fixed upstream case IDs, with the original platform skips and expected failures retained, plus API contracts, actual Shell completion, interpreter safety, dependency checks and executable distribution checks. These gates do not remove the unfinished item above.

Evidence assets

compatibility-evidence.zip contains the complete per-case reports, API audits, actual Shell results, subinterpreter difference and safe-rejection evidence, the known gap list, and wheel/source-archive execution checks. Original reference crashes or platform exclusions remain visible in those records.

benchmarks.json contains raw measurements from this immutable release commit on a separate CI host. Timing is workload-specific: a ratio above 1 means lower zclick latency, and a ratio below 1 means a regression at that boundary.

Measurements on the release CI host

Warm Python API workload Click µs zclick µs Ratio
construct/1 4.650 4.932 0.943×
parse/1 2.221 4.266 0.520×
invoke/1 33.176 31.372 1.058×
help/1 86.071 34.204 2.516×
construct/10 38.758 41.444 0.935×
parse/10 6.248 15.722 0.397×
invoke/10 90.180 78.331 1.151×
help/10 123.294 82.330 1.498×
construct/100 373.818 408.062 0.916×
parse/100 47.263 137.088 0.345×
invoke/100 669.676 572.830 1.169×
help/100 600.138 557.844 1.076×
construct/1000 3856.818 4267.831 0.904×
parse/1000 634.544 1459.968 0.435×
invoke/1000 11148.740 5581.622 1.997×
help/1000 5321.224 5262.660 1.011×
nested-command 56.485 63.561 0.889×
wrap-text 448.322 51.389 8.724×
Fresh process, import, construction and action Click ms zclick ms Ratio
command/1 41.160 39.809 1.034×
help/1 45.944 44.286 1.037×
command/10 41.355 40.134 1.030×
help/10 46.324 44.331 1.045×
command/100 42.631 40.433 1.054×
help/100 48.078 45.708 1.052×
command/1000 63.205 55.066 1.148×
help/1000 63.471 62.415 1.017×

Packages run in fixed order on a shared host, without CPU affinity or frequency locking. Small timing differences are not claimed to be significant. Python allocation samples do not measure every Rust allocation.

Installation and publication

Wheel assets are attached for the listed Python/platform combinations, together with a source archive. GitHub artifact publication and PyPI publication are separate jobs. The existence of this GitHub release does not by itself establish that the PyPI upload succeeded.