jupyter-positron-verifier
A JupyterHub managed service that mints short-lived, cryptographically signed Positron Server license tokens for per-session use.
What it does
When Positron Server runs inside a JupyterHub environment, it needs a per-session license token to operate. This service sits between JupyterHub and Positron Server and handles that handoff:
- Authenticates the caller — verifies the caller's JupyterHub API token against the Hub's
/authorizations/tokenendpoint using the service's own token. - Checks entitlement — calls a local
license-managerbinary to verify the host's Positron Server license is active. The result is cached for 5 minutes. - Mints a license — signs a JSON payload (connection token + timestamp) with an RSA private key
- Prevents reuse — tracks issued connection tokens so each one gets exactly one license.
The single HTTP endpoint is POST {SERVICE_PREFIX}/mint.
Configuration
All configuration is via environment variables. JupyterHub sets the JUPYTERHUB_* variables automatically for managed services.
| Variable | Description |
|---|---|
JUPYTERHUB_API_URL |
Hub API base URL (default: http://hub:8081/hub/api) |
JUPYTERHUB_API_TOKEN |
This service's own Hub token (set automatically by JupyterHub) |
JUPYTERHUB_SERVICE_PREFIX |
URL prefix for this service (default: /services/positron-license/) |
POSITRON_MINTING_KEY |
PEM-encoded RSA private key (literal string) |
POSITRON_MINTING_KEY_FILE |
Path to a PEM-encoded RSA private key file (used if POSITRON_MINTING_KEY is unset) |
POSITRON_LICENSE_MANAGER_PATH |
Path to the license-manager binary for entitlement checks |
PORT |
Port to listen on (default: 8099) |
Running
pip install jupyter-positron-verifier
positron-verifier
In practice, this is used under the hood by Positron. You should not need to interact with this package.
Metadata
Release files for jupyter-positron-verifier 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyter_positron_verifier-0.0.1.tar.gz | 73.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyter_positron_verifier-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 81.8 kB
Release files / jupyter_positron_verifier-0.0.1.tar.gz
| Download URL | jupyter_positron_verifier-0.0.1.tar.gz |
|---|---|
| Size | 73.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2bfd36de229d0bb099a798eeb76448393b0397b4f8889fcd0ad4f94e6be03944
|
|
BLAKE2b-256 checksum How to use checksums |
ce7927a8c5f7953958c6b0a454ab2740a18ca2e9105ecdecf0c290f8b10ba954
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logRelease files / jupyter_positron_verifier-0.0.1-py3-none-any.whl
| Download URL | jupyter_positron_verifier-0.0.1-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2c58ffae558bec0650e1e29f538d2b41694269858db3bbfbe186058b57b1f92b
|
|
BLAKE2b-256 checksum How to use checksums |
bcc1654ea0a7981eccda8a32730d7b2948332829aa9563d40926c163a537d142
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency log