SwanCuller
JupyterHub service that checks and cleans user sessions. It also calls bash scripts to check/renew kerberos tokens for the users, if their sessions still exist, or remove them if not in use.
Requirements
This module requires and installs Tornado.
Installation
Install the package:
pip install swanculler
Usage
Call the binary and specify configuration parameters:
swanculler --cull_every=600
Configuration parameters:
- url: The JupyterHub API URL (default=$JUPYTERHUB_API_URL)
- timeout: The idle timeout (in seconds) (default=600)
- cull_every: The interval (in seconds) for checking for idle servers to cull (default=0)
- max_age: The maximum age (in seconds) of servers that should be culled even if they are active (default=0)
- cull_users: Cull users in addition to servers (default=False)
- concurrency: Limit the number of concurrent requests made to the Hub (default=10)
- hooks_dir: Path to the directory for the krb tickets script (check_ticket.sh) (default="/srv/jupyterhub/culler)
- disable_hooks: Whether to call the krb tickets scripts or not (default=False)
Metadata
Release files for swanculler 1.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| swanculler-1.0.9.tar.gz | 7.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| swanculler-1.0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.0 kB
Release files / swanculler-1.0.9.tar.gz
| Download URL | swanculler-1.0.9.tar.gz |
|---|---|
| Size | 7.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f2a0d0d997ac5ef398498ad3ad5a9d7c6f9177b5456cb184d1473c223aac0dd
|
|
BLAKE2b-256 checksum How to use checksums |
d99ec40d1aad1b3daa86bf093fd1ad83745963acaf5641c18458270e1ccedaf8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Oct 2, 2026.
Transparency logRelease files / swanculler-1.0.9-py3-none-any.whl
| Download URL | swanculler-1.0.9-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dcad81dce4dbe13d43e9e8d7b850a3fba4c79894b5168b1ffda54b6e6a54c7ea
|
|
BLAKE2b-256 checksum How to use checksums |
ad70ec3eec68768548d7723acdd5bfa66826ce00ff56c1045a8d7855098b0242
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Oct 2, 2026.
Transparency log