Metadata-Version: 2.4
Name: swanculler
Version: 1.0.6
Summary: Culler for JupyterHub
Project-URL: Homepage, https://github.com/swan-cern/jupyterhub-extensions
Project-URL: GitHub, https://github.com/swan-cern/jupyterhub-extensions
Author: SWAN Admins
License-Expression: AGPL-3.0
Keywords: CERN,JupyterHub,SWAN
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Requires-Dist: python-dateutil
Requires-Dist: tornado
Description-Content-Type: text/markdown

# 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:

```bash
pip install swanculler
```

## Usage

Call the binary and specify configuration parameters:
```bash
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)
