Read any document. One C++ core, everywhere.
Try it online · Documentation · Architecture · Roadmap · Model weights
Use it in your browser now → No install, no upload, no account. PDFs and images, Latin/CJK and Devanagari.
Publishing status. The web app and docs are live. The Python, Node and Flutter packages are built and tested but not yet on PyPI, npm or pub.dev — the version badges above go green when they are. Publishing needs one
git tagfor PyPI and npm, and acargo publishfor crates.io. Build from source meanwhile; see Install.
Packages
| Package | Registry | What it does | State |
|---|---|---|---|
naina |
PyPI | Python, self-contained wheels | built, unpublished |
@jvoltci/naina |
npm | Node, inference off the event loop | built, unpublished |
@jvoltci/naina-wasm |
npm | Browser, 143 KB brotli | built, unpublished |
naina |
pub.dev | Flutter, FFI, Android + iOS | built; Android verified on-device, iOS unproven |
naina |
crates.io | Rust over the C ABI | built, unpublished |
| — | — | MCP server for LLM tools | works, in-repo |
import naina
import numpy as np
from PIL import Image
img = np.asarray(Image.open("invoice.png").convert("RGB"))
# One-liner: image -> markdown
print(naina.read(img))
# Or keep an Engine around
engine = naina.Engine(tier=naina.Tier.SMALL)
page = engine.read(img)
for line in page.lines:
print(f"{line.confidence:.3f} {line.text}")
Why
OCR accuracy is a solved commodity. PP-OCRv6's weights are Apache-2.0, so naina runs the same models PaddleOCR runs and gets the same accuracy. Competing there is unwinnable and pointless.
The gap is distribution. Every existing tool is locked into one lane:
| Tool | Lane | Cannot do |
|---|---|---|
| PaddleOCR | Python, server | No Node/Rust/browser/C ABI. Training framework first, huge surface |
| RapidOCR | Multi-language, as separate ports | Behaviour drifts between the Python, C++, Java and .NET versions |
| oar-ocr | Rust only | No Python/Node bindings, no shipped WASM |
| retto | Rust only, det+rec only | No bindings, no layout |
| client-ocr | Browser only | No server, no native |
| ML Kit (Google Lens) | Mobile only, closed weights | Cannot self-host; 5 scripts only |
| MinerU / marker / docling | Python, GPU-leaning | Licence traps, heavy installs |
Nobody ships one engine that runs identically everywhere. This is llama.cpp's playbook applied to OCR: llama.cpp won on portability and zero dependencies, not on inference math.
No OpenCV. No pyclipper. No PaddlePaddle. The convex hull, minimum-area rectangle, polygon offset and contour tracing are ~450 lines of tested C++, because a 300 MB dependency tree would defeat the point of an 11 MB tier.
What you get
Three device tiers. A size axis, not a licence axis — every model naina ships is Apache-2.0 and safe for commercial use.
| Tier | det | rec | layout | Total | Target | Charset |
|---|---|---|---|---|---|---|
tiny |
1.8 MB | 4.5 MB | 4.9 MB | ≈ 11 MB | Browser, phone, Pi Zero | 6,904 (CJK + Latin) |
small |
9.9 MB | 21.2 MB | 23.5 MB | ≈ 55 MB | Laptop, Pi 5, mobile app | 18,708 (50 languages) |
medium |
62.0 MB | 76.6 MB | 130.5 MB | ≈ 269 MB | Server, desktop | 18,708 (50 languages) |
PaddleOCR ships no ONNX build of the small layout models, so naina converts them
itself — byte-deterministically, and verified per-column against the Paddle
original. Without that, layout would exist only at the 269 MB tier and an 11 MB
browser build could not describe document structure. See
tools/paddle2onnx_layout.py.
Every binding over one C ABI, so behaviour cannot drift between languages:
| Binding | Status | Install |
|---|---|---|
| C / C++ | ✅ works | naina.h — the contract every other binding targets |
| Python | ✅ works, unpublished | build from source; pip install naina once released |
| Node / TypeScript | ✅ works, unpublished | build from source; needs a local toolchain |
| Rust | ❌ v0.5 | — |
| WASM / browser | ❌ v0.4 | — |
Weights are mirrored, not borrowed. naina fetches from
its own release, not
from upstream hosting, so an upstream re-tag or deletion cannot break installs.
Every file is pinned by sha256, so a corrupted or substituted download fails
closed rather than producing silently wrong output. Provenance for each artifact
is recorded in NOTICE and as a source_url in the manifest.
Benchmarks
Real measurements, not vendor claims.
End-to-end, tiny tier, Apple M3 Pro — rendered text fixture, 480×140:
| Line | Recognised | Recognition conf | Detection score |
|---|---|---|---|
| 1 | HELLO WORLD |
0.967 | 0.899 |
| 2 | naina 2026 |
1.000 | 0.925 |
Reproduce: ctest --preset macos-arm64 -R test_ocr_e2e --output-on-failure
On the accuracy numbers everyone quotes. Vendors self-report 96.33% on OmniDocBench v1.6 while independent evaluation of the same benchmark tops out around 90.1%. naina will publish per-device numbers with the harness in-repo and the command to reproduce them, or publish nothing. A full benchmark matrix lands with v1.0.
Status
v0.2 — text spotting works end to end. The honest state:
| Component | Status |
|---|---|
C ABI (naina_read, page accessors, stage-level access) |
✅ |
| Model registry — manifest-driven, sha256-verified, tier fallback | ✅ |
| Detection — PP-OCRv6 det, DBNet decode | ✅ |
| Recognition — PP-OCRv6 rec, CTC greedy decode | ✅ |
| Geometry — convex hull, min-area rect, polygon offset, no OpenCV | ✅ |
| Page storage — pointer-stable, markdown + JSON | ✅ |
| Python binding | ✅ |
| Node binding | ✅ |
| ONNX Runtime backend | ✅ |
| NCNN backend | ⚠️ compiles, but FindNCNN.cmake does not locate a brew install |
| Recognition batching (one strip per call today) | ⚠️ correct but unoptimised |
| Layout analysis → structured markdown | ❌ v0.3 |
| WASM + browser app | ❌ v0.4 |
| Rust binding | ❌ v0.5 |
| Cross-binding parity enforced in CI | ❌ v1.0 |
MCP server (mcp/, 2 tools, verified over stdio) |
✅ |
13 C++ tests, 6 Python tests, 6 Node tests. CI builds on Linux (gcc + clang) and macOS arm64.
Not supported, deliberately: handwriting (PP-OCRv6 is weak at it and claiming otherwise would be dishonest), autoregressive VLM parsing, training, and chart/formula semantic extraction.
Install
Not yet on PyPI or npm — see the note at the top. Build from source:
cmake --preset macos-arm64 # or linux-x86_64, linux-arm64, windows-x86_64
cmake --build --preset macos-arm64
ctest --preset macos-arm64
Requires CMake ≥ 3.24, a C++20 compiler, yaml-cpp, libcurl, and ONNX Runtime.
naina ships no image decoder on purpose — it takes raw pixels. Use Pillow,
OpenCV, sharp, or anything else that hands you a buffer.
Environment
| Variable | Effect |
|---|---|
NAINA_CACHE |
Where weights are cached. Default ~/.cache/naina/models |
NAINA_OFFLINE=1 |
Disable network; use only what is already cached |
NAINA_REGISTRY |
Path to registry.yaml. Both bindings set this automatically |
MCP server
An agent can read documents through naina directly:
{
"mcpServers": {
"naina": { "command": "npx", "args": ["-y", "@jvoltci/naina-mcp"] }
}
}
Two tools: read_document (markdown) and read_document_detailed (per-line
text, confidence, quads). See mcp/README.md.
Reading a page carries no session state, so the server is written stateless —
which is what MCP spec revision 2026-07-28 formalised. Note that the current
SDK (1.30.0) only negotiates up to 2025-11-25; the newer revision is a
dependency bump away, not a rewrite.
Documentation
- Architecture — the C ABI, backends, model registry
- Roadmap — what ships when
- Design spec — why naina is shaped this way
- Contributing
The name
naina (नैना) means eyes in Hindi. The library reads.
It began as a face-recognition runtime under the same name. That work is
preserved on the face-stack
branch, and the engine it produced — C ABI, backend abstraction, manifest-driven
model loader — is what made this pivot cheap.
Contributing
PRs welcome. See CONTRIBUTING.md. Open a Discussion for anything beyond a small fix.
License
Apache-2.0. Redistributed model weights are also Apache-2.0 — see NOTICE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file naina-0.2.0.tar.gz.
File metadata
- Download URL: naina-0.2.0.tar.gz
- Upload date:
- Size: 283.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa549da54db59f90bfe90304078492b61befc3c146b2d9daaffae7ee12d0f5ae
|
|
| MD5 |
2ecd3b91a5c33925569b3edbdeb31a14
|
|
| BLAKE2b-256 |
9c94b295b78db3b84f6c98e2cf881fbc22813413eab31bcf3ed1819ef530df52
|
Provenance
The following attestation bundles were made for naina-0.2.0.tar.gz:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0.tar.gz -
Subject digest:
fa549da54db59f90bfe90304078492b61befc3c146b2d9daaffae7ee12d0f5ae - Sigstore transparency entry: 2280257876
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.8 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a886d2670e7f6354e7b7928a6fd50f20decd581872ad1aacdfa9bab1c80af105
|
|
| MD5 |
2b1b5e3de3a26f51ad70494e33dc29fe
|
|
| BLAKE2b-256 |
84ebdfadc03b0e7fa20def9799c95263a646b5af265983234e66085c28d66a27
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
a886d2670e7f6354e7b7928a6fd50f20decd581872ad1aacdfa9bab1c80af105 - Sigstore transparency entry: 2280258005
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: naina-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 9.8 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a43a52f6f3edb03024e3aa71fe54a38abdca16f90bf23568f5435b6bc3db073
|
|
| MD5 |
9a04d77d50c16058e3e36d8a3dda2d2d
|
|
| BLAKE2b-256 |
188716308ccf2178a84b2a6199ca02e67755c532e435ef6c88a38b1da2c4dcb1
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl -
Subject digest:
9a43a52f6f3edb03024e3aa71fe54a38abdca16f90bf23568f5435b6bc3db073 - Sigstore transparency entry: 2280257908
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp313-cp313-macosx_13_0_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp313-cp313-macosx_13_0_x86_64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.13, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82edec68dca99f21e6f960dbfd79b41bccbdf1a55fd7773b2b85b1a9ab7e531a
|
|
| MD5 |
39c22a712a56aa0cd28b4108149733b7
|
|
| BLAKE2b-256 |
e68ff9f9b1e6055c1eaec21580a03d2b3c08c0bdc3c80d34766aff4e6c70d8a4
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp313-cp313-macosx_13_0_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp313-cp313-macosx_13_0_x86_64.whl -
Subject digest:
82edec68dca99f21e6f960dbfd79b41bccbdf1a55fd7773b2b85b1a9ab7e531a - Sigstore transparency entry: 2280258020
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp313-cp313-macosx_13_0_arm64.whl.
File metadata
- Download URL: naina-0.2.0-cp313-cp313-macosx_13_0_arm64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.13, macOS 13.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bdd01e3d4aaca7872763f3c1ff99df0c6a82830dbe1fedad4a6970f8c56e3fb
|
|
| MD5 |
29f38d89304c3b4f29f2df91372554e7
|
|
| BLAKE2b-256 |
a8553020c04ae3e669e50162c2ca604c44efcfc2ae8113e3e15e22bccc2547d3
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp313-cp313-macosx_13_0_arm64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp313-cp313-macosx_13_0_arm64.whl -
Subject digest:
0bdd01e3d4aaca7872763f3c1ff99df0c6a82830dbe1fedad4a6970f8c56e3fb - Sigstore transparency entry: 2280258064
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f332d5353d40a17d88e041685393199e07e3ad1c601fb7c6243322ce7a87eff
|
|
| MD5 |
8c885ba6b68299d7e0e65b3a3f16cbb4
|
|
| BLAKE2b-256 |
739869da2061199bf6b51bde321d5983f23fcde9e39004d1e94210a88d64f389
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
3f332d5353d40a17d88e041685393199e07e3ad1c601fb7c6243322ce7a87eff - Sigstore transparency entry: 2280258117
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: naina-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 9.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a4e8542a4314b348f189b5c2f2349aae2870304f5749acfad064a756d8d5a2b
|
|
| MD5 |
5255c56d12e289d99f730d88fdcaa968
|
|
| BLAKE2b-256 |
287e6fca7481765f584ff16edbb34673d400179f17949c76acf2eebcae4bc83b
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl -
Subject digest:
4a4e8542a4314b348f189b5c2f2349aae2870304f5749acfad064a756d8d5a2b - Sigstore transparency entry: 2280258031
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp312-cp312-macosx_13_0_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp312-cp312-macosx_13_0_x86_64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.12, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
314a54a5067e2e6246adddeea71eee55c77eb4d352321a1a3aa9acd6a3a3c305
|
|
| MD5 |
333fe3e7472e187e027c51245c5227e2
|
|
| BLAKE2b-256 |
9a383b95da2839d088d77b47af25367732d423e97c015e92373464f80ee23823
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp312-cp312-macosx_13_0_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp312-cp312-macosx_13_0_x86_64.whl -
Subject digest:
314a54a5067e2e6246adddeea71eee55c77eb4d352321a1a3aa9acd6a3a3c305 - Sigstore transparency entry: 2280257944
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp312-cp312-macosx_13_0_arm64.whl.
File metadata
- Download URL: naina-0.2.0-cp312-cp312-macosx_13_0_arm64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.12, macOS 13.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
348d26d802dd4a9011da7bda790112f421526c68be89e68fd8578c6b92344bab
|
|
| MD5 |
1e2142350e103ce6031c07006b13dcd2
|
|
| BLAKE2b-256 |
bed6e4238f0f5cad4d88e5a18f83e1e4f65b157f9338adeabca4abaa45517cb7
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp312-cp312-macosx_13_0_arm64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp312-cp312-macosx_13_0_arm64.whl -
Subject digest:
348d26d802dd4a9011da7bda790112f421526c68be89e68fd8578c6b92344bab - Sigstore transparency entry: 2280257976
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8b1aff3ddad49604dfeb920cb22b4e32182d340c3ccaf1569ef77331becf5d2
|
|
| MD5 |
495bc4b6f26f463f5f16ef7cfd1b4424
|
|
| BLAKE2b-256 |
62d3a1fe5a2ad3472054a6b4129120abd56826bfb0a9e64de30c97f70df4e85b
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
c8b1aff3ddad49604dfeb920cb22b4e32182d340c3ccaf1569ef77331becf5d2 - Sigstore transparency entry: 2280257934
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: naina-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 9.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11626c4e759d3262fced63f47ae0406d5b480948f9fd2f0c17367bfc3424f8dc
|
|
| MD5 |
8467ad6834196c6cd90f3b7aa2a3180c
|
|
| BLAKE2b-256 |
864814bd7b2869922c8246762d1d7120d507a91601c3ddcea1086bc817c72d67
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl -
Subject digest:
11626c4e759d3262fced63f47ae0406d5b480948f9fd2f0c17367bfc3424f8dc - Sigstore transparency entry: 2280257883
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp311-cp311-macosx_13_0_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp311-cp311-macosx_13_0_x86_64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.11, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
931c3055464e6d6a30f34eb9c3535ac72db1240d00ec6e121ddff7299de65cee
|
|
| MD5 |
d52e625d7b21fd6e7753fb89482ea56e
|
|
| BLAKE2b-256 |
256ba820d16f8abfbebc2859c496893dbf751ce51c5328aed2c64f54b4447b32
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp311-cp311-macosx_13_0_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp311-cp311-macosx_13_0_x86_64.whl -
Subject digest:
931c3055464e6d6a30f34eb9c3535ac72db1240d00ec6e121ddff7299de65cee - Sigstore transparency entry: 2280258106
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp311-cp311-macosx_13_0_arm64.whl.
File metadata
- Download URL: naina-0.2.0-cp311-cp311-macosx_13_0_arm64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.11, macOS 13.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b657cbc2aa76d8e1a7194d95d89af74f349a67497dc55bf82b4df94adf86207e
|
|
| MD5 |
a1251a855fe1b084ea8690108a55d2ea
|
|
| BLAKE2b-256 |
4700103e9789e7f143bde97692949b82a3ba6a84319973b3083cc18c5b90e537
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp311-cp311-macosx_13_0_arm64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp311-cp311-macosx_13_0_arm64.whl -
Subject digest:
b657cbc2aa76d8e1a7194d95d89af74f349a67497dc55bf82b4df94adf86207e - Sigstore transparency entry: 2280257901
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63973a1c5e215dbe0b32f58d7a12040462d65232ec8b4535e8f5c595b2364ad0
|
|
| MD5 |
bdf9c88a38738302c6987dd8b33fc7a0
|
|
| BLAKE2b-256 |
d077c1733cfe3904adfb23e54974e98c93c0882abab99e9eecec60a7c4580c35
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
63973a1c5e215dbe0b32f58d7a12040462d65232ec8b4535e8f5c595b2364ad0 - Sigstore transparency entry: 2280257916
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: naina-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 9.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c66d28e89b5edc150f3bfb1a554b35d74d7f3dbe91b325ffe4a03bcbfa372b73
|
|
| MD5 |
24b9b06c7a0f5d89c99b6c8942d4ca11
|
|
| BLAKE2b-256 |
983c4f65d56474fdd89de628c6e39ac2346dff6e7be0467249d33dccc3de0d4b
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl -
Subject digest:
c66d28e89b5edc150f3bfb1a554b35d74d7f3dbe91b325ffe4a03bcbfa372b73 - Sigstore transparency entry: 2280257952
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp310-cp310-macosx_13_0_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp310-cp310-macosx_13_0_x86_64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.10, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d624e976ce6c0e0d2daf2ecf5125cdcbea4de83f0ba67698192e6501fc2adb6
|
|
| MD5 |
4938774d9327b5af3e512d37163361fe
|
|
| BLAKE2b-256 |
0f35bb365ad6dcf7b76bb72130782e6fa8e3424e14c67ecdd188d441700e90ab
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp310-cp310-macosx_13_0_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp310-cp310-macosx_13_0_x86_64.whl -
Subject digest:
7d624e976ce6c0e0d2daf2ecf5125cdcbea4de83f0ba67698192e6501fc2adb6 - Sigstore transparency entry: 2280258089
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp310-cp310-macosx_13_0_arm64.whl.
File metadata
- Download URL: naina-0.2.0-cp310-cp310-macosx_13_0_arm64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.10, macOS 13.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1002c833a3b6ac0bda5bf3a68c62406a9d4ff60611a859aa54d55ffa167dfa00
|
|
| MD5 |
8bc2277121461bac4e97611cacd0f06c
|
|
| BLAKE2b-256 |
8cd31d6dab6d5bba00c2c3bcdbb6cc132bdf503dd923863b757b9b105beaafdb
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp310-cp310-macosx_13_0_arm64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp310-cp310-macosx_13_0_arm64.whl -
Subject digest:
1002c833a3b6ac0bda5bf3a68c62406a9d4ff60611a859aa54d55ffa167dfa00 - Sigstore transparency entry: 2280257962
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.8 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45795cb0d38db72dfdb031b2c7f7b068aaecade4a8d54afe02165c3875075f2f
|
|
| MD5 |
98b1ddd4f531092543d2b701f07483bf
|
|
| BLAKE2b-256 |
e3963ec19427103d5d7fb080f9c7602b832d4ce0b9c122f794b5f18ffe77488e
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl -
Subject digest:
45795cb0d38db72dfdb031b2c7f7b068aaecade4a8d54afe02165c3875075f2f - Sigstore transparency entry: 2280257892
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: naina-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 9.8 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
548bc7f10cbeadb0325c481537f32c5a30f87f914a02b1aca99344a6a91a6218
|
|
| MD5 |
46a8ed9219e9574490fc6c78e5afbfa7
|
|
| BLAKE2b-256 |
14c2ded19ad24b74cb05c0052f5bc49ee9247856ed160d81c13aa8de116ec4fe
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl -
Subject digest:
548bc7f10cbeadb0325c481537f32c5a30f87f914a02b1aca99344a6a91a6218 - Sigstore transparency entry: 2280258047
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp39-cp39-macosx_13_0_x86_64.whl.
File metadata
- Download URL: naina-0.2.0-cp39-cp39-macosx_13_0_x86_64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.9, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11af68d0fc85296f596fbff19c49147a154659cb999157b05a94788c49f805e1
|
|
| MD5 |
08f5272ce2ae4c2c3184be2ada67cbb3
|
|
| BLAKE2b-256 |
59147ec87803a4c3bd77462a1e78be6186210a9f123bccf82b21f12cacbb7391
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp39-cp39-macosx_13_0_x86_64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp39-cp39-macosx_13_0_x86_64.whl -
Subject digest:
11af68d0fc85296f596fbff19c49147a154659cb999157b05a94788c49f805e1 - Sigstore transparency entry: 2280257990
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file naina-0.2.0-cp39-cp39-macosx_13_0_arm64.whl.
File metadata
- Download URL: naina-0.2.0-cp39-cp39-macosx_13_0_arm64.whl
- Upload date:
- Size: 15.2 MB
- Tags: CPython 3.9, macOS 13.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04720c8da0e8fb645b8ca2515a3b583041a097eadb9ea95c7948db94ce7c3a21
|
|
| MD5 |
91ac85d49e3441905aab482023a6da5e
|
|
| BLAKE2b-256 |
8379fce61be9d518b73f14d914ba009a369c8351b160bfe0dcfeedce86899362
|
Provenance
The following attestation bundles were made for naina-0.2.0-cp39-cp39-macosx_13_0_arm64.whl:
Publisher:
release.yml on jvoltci/naina
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
naina-0.2.0-cp39-cp39-macosx_13_0_arm64.whl -
Subject digest:
04720c8da0e8fb645b8ca2515a3b583041a097eadb9ea95c7948db94ce7c3a21 - Sigstore transparency entry: 2280257923
- Sigstore integration time:
-
Permalink:
jvoltci/naina@4e2d5839be1a17527463f39b801533eadc6d97dc -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/jvoltci
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e2d5839be1a17527463f39b801533eadc6d97dc -
Trigger Event:
push
-
Statement type: