Protocol conformance
Verification
Scope
Replies to execute, complete, is_complete, and kernel_info requests, and the stdout, stderr, execute-result, display-data, and error output of each sample. Every message validated against the Jupyter messaging protocol v5 schema.
References
- Reference
- jupyter_kernel_test 0.7.0, Jupyter messaging protocol 5.x
- Versions
- PHP 8.5.10, Python 3.14.7, ipykernel 7.4.0, jupyter_client 8.10.0, jupyter_kernel_test 0.7.0
Data
- Inputs
- PHP samples declared on JuphyterKernelTests, tests/Protocol/test_kernel.py
Method
jupyter_kernel_test's KernelTests drive a kernel registered from the tested commit through jupyter_client, with the PHP samples declared in tests/Protocol/test_kernel.py.
- Check
- Comparison with a reference implementation
- Recorded
- 2026-11-01, PHP 8.5.10, macOS 27.0.1 (arm64), commit 46349a3
Tolerances
exact equality
Applies to: Messages and sample output
V5 schema and expected values
x: package value; r: reference value.
Results
9 comparisons: 9 pass, 0 fail, 0 skipped.
| Case | Quantity | Status |
|---|---|---|
| completion | Messages and output | pass |
| display data | Messages and output | pass |
| error | Messages and output | pass |
| execute result | Messages and output | pass |
| execute stderr | Messages and output | pass |
| execute stdout | Messages and output | pass |
| is complete | Messages and output | pass |
| kernel info | Messages and output | pass |
| kernel info reports the running php | Messages and output | pass |
Limitations
Exclusions
- juphyter does not send clear_output messages.
- juphyter does not implement the history request.
- juphyter does not implement the inspect request.
- juphyter does not send pager payloads.
Reproduction
python -m pip install -r tests/Protocol/requirements.txt
composer install
python -m pytest tests/Protocol -v
- Raw record
- site/verifications/protocol-conformance.json
- Full results
- tests/Protocol/test_kernel.py