semvec/pypi-packages huggingface dataset:
agate 1.14.1
A data analysis library that is optimized for humans instead of machines.
License: MIT

.. image:: https://github.com/wireservice/agate/workflows/CI/badge.svg
    :target: https://github.com/wireservice/agate/actions
    :alt: Build status

.. image:: https://coveralls.io/repos/wireservice/agate/badge.svg?branch=master
    :target: https://coveralls.io/r/wireservice/agate
    :alt: Coverage status

.. image:: https://img.shields.io/pypi/dm/agate.svg
    :target: https://pypi.python.org/pypi/agate
    :alt: PyPI downloads

.. image:: https://img.shields.io/pypi/v/agate.svg
    :target: https://pypi.python.org/pypi/agate
    :alt: Version

.. image:: https://img.shields.io/pypi/l/agate.svg
    :target: https://pypi.python.org/pypi/agate
    :alt: License

.. image:: https://img.shields.io/pypi/pyversions/agate.svg
    :target: https://pypi.python.org/pypi/agate
    :alt: Support Python versions

agate is a Python data analysis library that is optimized for humans instead of machines. It is an alternative to numpy and pandas that solves real-world problems with readable code.

agate was previously known as journalism.

Important links:

* Documentation:    https://agate.rtfd.org
* Repository:       https://github.com/wireservice/agate
* Issues:           https://github.com/wireservice/agate/issues
biplex-utils-hash 0.1.0
Deterministic canonical JSON and stable UUID/hash generation
License: MIT
Requires Python: >=3.10

# Biplex Utils Hash

Deterministic canonical JSON serialization for stable UUIDv5 and hashes.

## Installation

```bash
pip install biplex_utils_hash
```

## Usage

```python
from biplex_utils_hash import canonical_json, uuid5_from_data, sha256_from_data

# Generate stable UUID from data (float precision issues are handled automatically)
uuid = uuid5_from_data({"price": 0.1 + 0.2})

# Generate stable SHA256 hash
hash_hex = sha256_from_data({"price": 0.1 + 0.2})

# Get canonical JSON representation
json_str = canonical_json({"price": 0.1 + 0.2})
# Returns: '{"price":"0.300000"}'

# Custom decimal precision
uuid = uuid5_from_data({"price": 0.123456789}, decimal_places=3)
```

## Features

- **Deterministic output**: Same data always produces the same hash/UUID
- **Float stability**: Handles floating-point precision issues (0.1 + 0.2 problem)
- **Canonical JSON**: Sorted keys, compact format, consistent decimal formatting
- **Support for common types**: dict, list, tuple, set, datetime, date, UUID

## API

### `canonical_json(data, *, decimal_places=None) -> str`

Converts data to deterministic canonical JSON string.

### `uuid5_from_data(data, *, namespace=NAMESPACE_OID, decimal_places=None) -> UUID`

Generates stable UUID5 from data.

### `sha256_from_data(data, *, decimal_places=None) -> str`

Generates SHA256 hash from data.

### `normalize(data, *, decimal_places=6) -> Any`

Normalizes data for deterministic serialization.

## License

MIT