Metadata-Version: 2.4
Name: uubed-rs
Version: 1.0.14
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: System :: Archiving :: Compression
Requires-Dist: cffi>=1.15.0
Requires-Dist: numpy>=1.20.0
Requires-Dist: pytest>=7.0 ; extra == 'dev'
Requires-Dist: pytest-benchmark>=4.0 ; extra == 'dev'
Requires-Dist: numpy>=1.20.0 ; extra == 'dev'
Requires-Dist: maturin>=1.0,<2.0 ; extra == 'dev'
Provides-Extra: dev
License-File: LICENSE
Summary: High-performance Rust core for position-safe embedding encoding (QuadB64 family)
Keywords: encoding,embeddings,base64,rust,performance
Author-email: Adam Twardoch <adam+github@twardoch.com>
Maintainer-email: Adam Twardoch <adam+github@twardoch.com>
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Changelog, https://github.com/twardoch/uubed-rs/blob/main/CHANGELOG.md
Project-URL: Documentation, https://uubed.readthedocs.io/
Project-URL: Homepage, https://github.com/twardoch/uubed-rs
Project-URL: Issues, https://github.com/twardoch/uubed-rs/issues
Project-URL: Repository, https://github.com/twardoch/uubed-rs

---
this_file: README.md
---
# Uubed Rust workspace

One native implementation for compact byte encoding and translation-memory search.

| Crate | Responsibility |
| --- | --- |
| `uubed-core` | Existing tested byte encoders, optional SIMD and C API; no Python dependency. |
| `uubed-tm` | SQLite source/pair storage, exact matches and signed int8 cosine search. |
| `uubed-python` | PyO3 bindings for both, published as the `uubed-rs` Python distribution. |

The extension is imported as `uubed_native`. Model inference, model identity,
TMX streaming and atomic index publication live in the companion `uubed` Python
package. There is no second Candle/Qwen model runtime or fixed-1024 database.

```bash
cargo test --workspace
cargo clippy --workspace --all-targets --features simd -- -D warnings
uvx maturin build --release
```

Requires Rust 1.88+; the existing core remains edition 2021. Python integration is
tested on 3.12. Native binding behavior is tested through the built wheel, rather
than linking a Rust executable against a Python extension module.

SQLite stores BINARY-collated source strings, all target variants and their path/unit
provenance. One int8 BLOB per English source has its positive scale and norm stored
alongside it. Metadata records the format and full embedding-space identity.
Query vectors must match the dimensions and contain finite, nonzero values.
Search ranks cosine similarities after filtering by target language. Scale cancels
in cosine, so no float32 corpus matrix is materialized. Search is exhaustive O(Nd),
not an approximate-nearest-neighbor service.

See [the workspace guide](../../README.md) for the complete two-consumer workflow.

## Releases and local data

`./publish.sh --dry-run` verifies the next release without pushing or uploading.
`./publish.sh` commits, tags and publishes it. See [RELEASING.md](RELEASING.md)
for credentials, same-tag retries, dependency order and private-data exclusions.

