Metadata-Version: 2.4
Name: jupyterhub-usage-quotas
Version: 0.1.0b1
Summary: Enforce compute usage quotas at Jupyter server launch time to proactively manage resource consumption.
Project-URL: Homepage, https://github.com/2i2c-org/jupyterhub-usage-quotas
Project-URL: Source Code, https://github.com/2i2c-org/jupyterhub-usage-quotas
Project-URL: Bug Tracker, https://github.com/2i2c-org/jupyterhub-usage-quotas/issues
Project-URL: Documentation, https://jupyterhub-usage-quotas.readthedocs.io/en/latest/
Author-email: jnywong <jnywong.pro@gmail.com>
License-Expression: BSD-3-Clause
License-File: LICENSE.md
Keywords: jupyterhub,kubernetes,prometheus,python
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Typing :: Typed
Requires-Dist: aiohttp>=3.13.0
Requires-Dist: jsonschema>=4.26.0
Requires-Dist: jupyterhub-kubespawner>=7.0.0
Requires-Dist: jupyterhub>=5.0.0
Requires-Dist: psutil>=7.2.0
Requires-Dist: python-backoff>=2.3.0
Requires-Dist: requests>=2.32.0
Requires-Dist: traitlets>=5.14.0
Provides-Extra: dev
Requires-Dist: ipython>=9.12; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Provides-Extra: service
Requires-Dist: fastapi[standard]; extra == 'service'
Requires-Dist: itsdangerous>=2.0; extra == 'service'
Requires-Dist: jinja2>=3.0; extra == 'service'
Description-Content-Type: text/markdown

# JupyterHub Usage Quotas

![](demo.mp4)

This library implements compute usage quotas for Jupyter servers at server startup-time to manage resource consumption across shared infrastructure managed by [Zero to JupyterHub with Kubernetes](https://z2jh.jupyter.org/en/stable/) deployments.

## Features

- Metric based accounting for compute usage with Prometheus
- Flexible and declarative usage policies, such as quota sizes and quota time windows
- Server startup-time enforcement
- User-facing storage usage dashboard (optional)

## Installation

The [PyPI package](https://pypi.org/project/jupyterhub-usage-quotas/) can be installed with

```bash
pip install jupyterhub-usage-quotas
```

To also install the user-facing storage usage dashboard service:

```bash
pip install "jupyterhub-usage-quotas[service]"
```

For local development, see the [development guide](./DEVELOPMENT.md)

## Documentation

Documentation can be found at [https://jupyterhub-usage-quotas.readthedocs.io/en/latest/](https://jupyterhub-usage-quotas.readthedocs.io/en/latest/)

## Contributing

See the guidance in [CONTRIBUTING](CONTRIBUTING.md)

## License

This project is licensed under the [BSD 3-Clause License](LICENSE.md).
