Metadata-Version: 2.3
Name: dbx-tools-core
Version: 0.6.78
Summary: Dependency-free cross-runtime identity helpers for dbx-tools Python packages
Requires-Python: >=3.10
Project-URL: Source, https://github.com/reggie-db/dbx-tools/tree/main/packages/py/core
Description-Content-Type: text/markdown

# `dbx-tools-core`

Dependency-free Python helpers shared by dbx-tools packages.

Install directly from this monorepo:

```bash
pip install "dbx-tools-core @ git+https://github.com/reggie-db/dbx-tools.git@main#subdirectory=packages/py/core"
```

The package intentionally contains only the cross-runtime identity primitives
currently needed by more than one implementation:

- `hash.fnv_hash()` — the single-string subset of TypeScript
  `fnvHashWithOptions`, including UTF-16 code-unit hashing and base-32 output;
- `object.to_stable_key()` — strict structured identity canonicalization;
- `string.to_identifier()` — readable identifier tokenization, with the same
  hyphen default as TypeScript and an explicit delimiter override for consumers
  such as the underscore-delimited Postgres bus channel.

These functions exist so Python packages do not copy the TypeScript algorithms
locally and silently drift. Add broader helpers only when another Python package
actually needs them. Their shared behavior is tested from
`packages/test/polyglot/fixtures/core/fixture.json`, not duplicated in this
package.
