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.8

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.8
File Size Uploaded
swanculler-1.0.8.tar.gz 7.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for swanculler 1.0.8
File Interpreter ABI Platform
swanculler-1.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 16.1 kB

Release files / swanculler-1.0.8.tar.gz

Download URL swanculler-1.0.8.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
830273909f4598471e26e72ca641af60377ee6dea2dd89d46da572d9fc4362be
BLAKE2b-256 checksum
How to use checksums
2a1d406488dc1d928b772e1acb060aef996bf711a86976f2a3ffe5d9dcb8244c
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 Sep 23, 2026.

Transparency log

Release files / swanculler-1.0.8-py3-none-any.whl

Download URL swanculler-1.0.8-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b906867b7805c026f1bf9371573459be70436451d831472e48f161e3110e41d4
BLAKE2b-256 checksum
How to use checksums
a180a2ed0000adc1b67d9905e20286cb26af45b88b70a0499023d216a8227fab
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 Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.9

2 release files

This release

1.0.8 This release

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