Skip to main content

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)

Source distribution for swanculler 1.0.9
File Size Uploaded
swanculler-1.0.9.tar.gz 7.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for swanculler 1.0.9
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.0.9 This release

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page