semvec/pypi-packages huggingface dataset:
docker-prune-plan 0.2.1
Dry-run view of what docker prune commands would delete
License: MIT
Requires Python: >=3.8
Keywords: docker, prune, cleanup, cli, dry-run

# docker-prune-plan

[![PyPI version](https://badge.fury.io/py/docker-prune-plan.svg)](https://badge.fury.io/py/docker-prune-plan)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**See what Docker’s prune commands are about to wipe before you hit the big red button and regret it.**

Best-effort preview of what Docker prune commands would delete (`system`, `image`, `container`, `volume`, `network`). Implemented as a Python CLI.

## Install

### Option 1: PyPI (Recommended)
The easiest way to install the latest stable version:

```bash
pip install docker-prune-plan
```
### Option 2: Github releases
Install the latest release directly:
```bash
pip install https://github.com/wahabmangat/docker-prune-plan/releases/download/v0.2.1/docker_prune_plan-0.2.1-py3-none-any.whl
```

After installation the command `docker-prune-plan` will be available on your PATH.

## Usage

```bash
# Preview docker system prune
docker-prune-plan system

# Preview docker system prune -a (unused images, not just dangling)
docker-prune-plan system --all/-a

# Preview docker system prune --volumes (unused anonymous volumes)
docker-prune-plan system --volumes

# Preview docker image prune (dangling images)
docker-prune-plan image

# Preview docker image prune -a (all unused images)
docker-prune-plan image --all/-a

# Preview docker volume prune (unused anonymous volumes)
docker-prune-plan volume

# Preview docker volume prune -a (all unused volumes)
docker-prune-plan volume --all/-a

# Preview docker container prune (stopped containers)
docker-prune-plan container

# Preview docker network prune (unused custom networks)
docker-prune-plan network

# JSON output
docker-prune-plan system --json

```
## Notes
- --all is supported for system and image (affects images only), and for volume (includes named volumes).
- Label/Filter support is not implemented yet.
- The tool prints a **Plan Reclaimable Space** total based on the listed items. Differences from other Docker disk usage reports can occur due to shared image layers and build cache internals.
- The output is a best-effort preview based on the current Docker state (useful as a safety checklist before pruning). Actual prune results may differ due to Docker’s prune order and state changes.
halea 0.0.1
Unified access to (some) hardware RNGs for machine learning & scientific computing
License: MIT
Requires Python: >=3.11
Keywords: chaoskey, entropy, hardware-rng, jax, numpy, pytorch, random, truerng

# ⚙️🎲 `HAlea`

Unified access to (some) hardware RNGs for machine learning & scientific computing

## Supported Devices

| Device                                            | Interface  | Backend    |
| ------------------------------------------------- | ---------- | ---------- |
| [TrueRNGpro](https://ubld.it/products/truerngpro) | USB Serial | `truerng`  |
| [ChaosKey](https://altusmetrum.org/ChaosKey/)     | USB Bulk   | `chaoskey` |

## Features

- **Three APIs**: NumPy (`HaleaNumpy`), PyTorch (`HaleaTorch`), JAX (`HaleaJax`)
- **Distributions**: uniform, normal (Box-Muller), integers, bits, bytes
- **Sampling**: `choice()` with/without replacement, `shuffle()`, `permutation()`
- **Auto-detection**: Finds connected devices automatically
- **Buffered I/O**: Efficient bulk reads with configurable buffer size
- **Unbiased mode**: Optional rejection sampling for perfect uniformity

## Quick Start

```python
from halea import HaleaNumpy

with HaleaNumpy() as rng:
    # Uniform [0, 1)
    x = rng.rand(1000)

    # Normal N(0, 1)
    y = rng.randn(100, 100)

    # Integers [0, 100)
    z = rng.randint(100, size=50)

    # Shuffle in-place
    rng.shuffle(my_list)
```

**PyTorch / JAX**:

```python
from halea import HaleaTorch, HaleaJax

with HaleaTorch(device="cuda") as rng:
    tensor = rng.randn(256, 256, dtype=torch.float32)

with HaleaJax() as rng:
    array = rng.normal(shape=(256, 256))
```

## Installation

```bash
pip install halea
```

**Requirements**: `numpy`, `pyserial`, `pyusb`
**Optional**: `torch`, `jax` (for respective APIs)

**Linux udev rules** (for non-root access):

```bash
# TrueRNG
echo 'SUBSYSTEM=="tty", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="f5fe", MODE="0666"' | sudo tee /etc/udev/rules.d/99-truerng.rules

# ChaosKey
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="1d50", ATTR{idProduct}=="60c6", MODE="0666"' | sudo tee /etc/udev/rules.d/99-chaoskey.rules

sudo udevadm control --reload-rules
```

## Scope & Limitations

- **For ML/scientific use** — not cryptographic applications
- **Single-threaded** — create separate instances for multi-threaded use
- **No entropy monitoring** — assumes device is functioning correctly
- **Linux-focused** — other platforms may work but are untested

## Security Notice

This library provides access to hardware random number generators for
**machine learning and scientific computing applications**. It is
**NOT designed for cryptographic use**.

For cryptographic applications:

1. The default `randint()` uses float-based scaling with negligible bias
   (~1e-15) for ranges under 2^53. Use `unbiased=True` for statistically
   perfect uniformity.

2. No entropy health monitoring is performed. If a device fails, the
   library may return low-quality randomness.

3. For cryptographic random bytes, use Python's `secrets` module or
   read from `/dev/random` directly.