Skip to main content

naina hero banner

CI License GitHub stars

PyPI npm npm wasm pub.dev crates.io

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 tag for PyPI and npm, and a cargo publish for 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

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

naina-0.2.0.tar.gz (283.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

naina-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

naina-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

naina-0.2.0-cp313-cp313-macosx_13_0_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

naina-0.2.0-cp313-cp313-macosx_13_0_arm64.whl (15.2 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

naina-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

naina-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

naina-0.2.0-cp312-cp312-macosx_13_0_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

naina-0.2.0-cp312-cp312-macosx_13_0_arm64.whl (15.2 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

naina-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

naina-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

naina-0.2.0-cp311-cp311-macosx_13_0_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

naina-0.2.0-cp311-cp311-macosx_13_0_arm64.whl (15.2 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

naina-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

naina-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

naina-0.2.0-cp310-cp310-macosx_13_0_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

naina-0.2.0-cp310-cp310-macosx_13_0_arm64.whl (15.2 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

naina-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

naina-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

naina-0.2.0-cp39-cp39-macosx_13_0_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

naina-0.2.0-cp39-cp39-macosx_13_0_arm64.whl (15.2 MB view details)

Uploaded CPython 3.9macOS 13.0+ ARM64

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

Hashes for naina-0.2.0.tar.gz
Algorithm Hash digest
SHA256 fa549da54db59f90bfe90304078492b61befc3c146b2d9daaffae7ee12d0f5ae
MD5 2ecd3b91a5c33925569b3edbdeb31a14
BLAKE2b-256 9c94b295b78db3b84f6c98e2cf881fbc22813413eab31bcf3ed1819ef530df52

See more details on using hashes here.

Provenance

The following attestation bundles were made for naina-0.2.0.tar.gz:

Publisher: release.yml on jvoltci/naina

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a886d2670e7f6354e7b7928a6fd50f20decd581872ad1aacdfa9bab1c80af105
MD5 2b1b5e3de3a26f51ad70494e33dc29fe
BLAKE2b-256 84ebdfadc03b0e7fa20def9799c95263a646b5af265983234e66085c28d66a27

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9a43a52f6f3edb03024e3aa71fe54a38abdca16f90bf23568f5435b6bc3db073
MD5 9a04d77d50c16058e3e36d8a3dda2d2d
BLAKE2b-256 188716308ccf2178a84b2a6199ca02e67755c532e435ef6c88a38b1da2c4dcb1

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 82edec68dca99f21e6f960dbfd79b41bccbdf1a55fd7773b2b85b1a9ab7e531a
MD5 39c22a712a56aa0cd28b4108149733b7
BLAKE2b-256 e68ff9f9b1e6055c1eaec21580a03d2b3c08c0bdc3c80d34766aff4e6c70d8a4

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 0bdd01e3d4aaca7872763f3c1ff99df0c6a82830dbe1fedad4a6970f8c56e3fb
MD5 29f38d89304c3b4f29f2df91372554e7
BLAKE2b-256 a8553020c04ae3e669e50162c2ca604c44efcfc2ae8113e3e15e22bccc2547d3

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3f332d5353d40a17d88e041685393199e07e3ad1c601fb7c6243322ce7a87eff
MD5 8c885ba6b68299d7e0e65b3a3f16cbb4
BLAKE2b-256 739869da2061199bf6b51bde321d5983f23fcde9e39004d1e94210a88d64f389

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4a4e8542a4314b348f189b5c2f2349aae2870304f5749acfad064a756d8d5a2b
MD5 5255c56d12e289d99f730d88fdcaa968
BLAKE2b-256 287e6fca7481765f584ff16edbb34673d400179f17949c76acf2eebcae4bc83b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 314a54a5067e2e6246adddeea71eee55c77eb4d352321a1a3aa9acd6a3a3c305
MD5 333fe3e7472e187e027c51245c5227e2
BLAKE2b-256 9a383b95da2839d088d77b47af25367732d423e97c015e92373464f80ee23823

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 348d26d802dd4a9011da7bda790112f421526c68be89e68fd8578c6b92344bab
MD5 1e2142350e103ce6031c07006b13dcd2
BLAKE2b-256 bed6e4238f0f5cad4d88e5a18f83e1e4f65b157f9338adeabca4abaa45517cb7

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c8b1aff3ddad49604dfeb920cb22b4e32182d340c3ccaf1569ef77331becf5d2
MD5 495bc4b6f26f463f5f16ef7cfd1b4424
BLAKE2b-256 62d3a1fe5a2ad3472054a6b4129120abd56826bfb0a9e64de30c97f70df4e85b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 11626c4e759d3262fced63f47ae0406d5b480948f9fd2f0c17367bfc3424f8dc
MD5 8467ad6834196c6cd90f3b7aa2a3180c
BLAKE2b-256 864814bd7b2869922c8246762d1d7120d507a91601c3ddcea1086bc817c72d67

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 931c3055464e6d6a30f34eb9c3535ac72db1240d00ec6e121ddff7299de65cee
MD5 d52e625d7b21fd6e7753fb89482ea56e
BLAKE2b-256 256ba820d16f8abfbebc2859c496893dbf751ce51c5328aed2c64f54b4447b32

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b657cbc2aa76d8e1a7194d95d89af74f349a67497dc55bf82b4df94adf86207e
MD5 a1251a855fe1b084ea8690108a55d2ea
BLAKE2b-256 4700103e9789e7f143bde97692949b82a3ba6a84319973b3083cc18c5b90e537

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 63973a1c5e215dbe0b32f58d7a12040462d65232ec8b4535e8f5c595b2364ad0
MD5 bdf9c88a38738302c6987dd8b33fc7a0
BLAKE2b-256 d077c1733cfe3904adfb23e54974e98c93c0882abab99e9eecec60a7c4580c35

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c66d28e89b5edc150f3bfb1a554b35d74d7f3dbe91b325ffe4a03bcbfa372b73
MD5 24b9b06c7a0f5d89c99b6c8942d4ca11
BLAKE2b-256 983c4f65d56474fdd89de628c6e39ac2346dff6e7be0467249d33dccc3de0d4b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7d624e976ce6c0e0d2daf2ecf5125cdcbea4de83f0ba67698192e6501fc2adb6
MD5 4938774d9327b5af3e512d37163361fe
BLAKE2b-256 0f35bb365ad6dcf7b76bb72130782e6fa8e3424e14c67ecdd188d441700e90ab

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 1002c833a3b6ac0bda5bf3a68c62406a9d4ff60611a859aa54d55ffa167dfa00
MD5 8bc2277121461bac4e97611cacd0f06c
BLAKE2b-256 8cd31d6dab6d5bba00c2c3bcdbb6cc132bdf503dd923863b757b9b105beaafdb

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 45795cb0d38db72dfdb031b2c7f7b068aaecade4a8d54afe02165c3875075f2f
MD5 98b1ddd4f531092543d2b701f07483bf
BLAKE2b-256 e3963ec19427103d5d7fb080f9c7602b832d4ce0b9c122f794b5f18ffe77488e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 548bc7f10cbeadb0325c481537f32c5a30f87f914a02b1aca99344a6a91a6218
MD5 46a8ed9219e9574490fc6c78e5afbfa7
BLAKE2b-256 14c2ded19ad24b74cb05c0052f5bc49ee9247856ed160d81c13aa8de116ec4fe

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file naina-0.2.0-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for naina-0.2.0-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 11af68d0fc85296f596fbff19c49147a154659cb999157b05a94788c49f805e1
MD5 08f5272ce2ae4c2c3184be2ada67cbb3
BLAKE2b-256 59147ec87803a4c3bd77462a1e78be6186210a9f123bccf82b21f12cacbb7391

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for naina-0.2.0-cp39-cp39-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 04720c8da0e8fb645b8ca2515a3b583041a097eadb9ea95c7948db94ce7c3a21
MD5 91ac85d49e3441905aab482023a6da5e
BLAKE2b-256 8379fce61be9d518b73f14d914ba009a369c8351b160bfe0dcfeedce86899362

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.1

21 files

This release

0.2.0 This release

21 files

0.1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page