Skip to main content

Pure-Rust + WebAssembly runtime for Needle — a 26M-parameter tool-calling transformer

Project description


A pure-Rust + WebAssembly runtime for Needle by Cactus Compute — a 26M-parameter transformer that maps (query, tool list) → JSON call in one forward pass. Deploys to browsers, edge workers, CLIs, Python, and no_std embedded targets. No server, no API key.


Tool calling usually means either a paid API call or hundreds of megabytes on disk. needle-rs ships the whole agent in 23 MB.

Stack Deploy size Latency Cost Privacy
OpenAI function calling SDK + hosted API 300–800 ms $ per token leaves device
llama.cpp + 1B local model 700 MB+ varies free local
ONNX Runtime Web + a model 8 MB + your model varies free local
needle-rs + Needle 258 KB + 22 MB ~280 ms free local

Same answer to "did the user ask for a flight booking?" — at a fraction of the footprint.


Browser / Node

npm install needle-rs
import init, { NeedleWasm } from "needle-rs";

await init();
const engine = NeedleWasm.load(weights, vocab);

engine.run(
  "Book a flight from London to JFK tomorrow",
  toolsJson
);
// → {"name":"book_flight","arguments":{...}}

Rust

cargo add needle-infer
use needle_infer::NeedleEngine;

let engine = NeedleEngine::load(
    "needle.safetensors",
    "vocab.txt"
)?;
let result = engine.run(query, tools_json);
println!("{}", result.text);

Python

pip install needle-rs
from needle_rs import NeedleEngine

engine = NeedleEngine.load(
    "needle.safetensors",
    "vocab.txt",
)
result = engine.run(query, tools_json)
print(result)
# → [{"name":"book_flight","arguments":{...}}]

Get the weights

huggingface-cli download Abdalrahman/needle-rs-safetensors \
  needle.safetensors vocab.txt --local-dir weights/

Or load directly from a URL in the browser — no install step.


Target Status Binary
Browser (WASM)258 KB
Node.js (WASM)258 KB
Cloudflare Workers258 KB
Linux / macOS / Windows CLI533 KB
Python (native wheel)pip install needle-rs
C / C++ / Go / Swift (via FFI)557 KB
no_std embedded (Rust)size varies
iOS / Android (use Cactus)
Apple NPU / Snapdragon NPU (use Cactus)

Cactus's official engine targets mobile and NPUs with hand-tuned ARM SIMD. needle-rs targets everywhere else. The two stacks are complementary.


Needle is a 26M-parameter encoder-decoder transformer with a small twist: it's trained to do exactly one thing — emit a function-call JSON object from a query and a tool list. That focus is why a model this small works at all.

1 Encoder–decoder SAN. The encoder reads the query and tool definitions once. The decoder generates output JSON token by token, attending to the encoder's cached KV. Single forward pass per call.
2 INT4 quantization. All attention and FFN weights are packed 4-bit nibbles with per-32-row scales. Matvec dequantizes on the fly — the full f32 weight matrix is never materialized. AVX2 on x86_64, NEON on aarch64, scalar fallback for WASM.
3 Constrained decoding. A character-level trie over valid tool names and argument keys, plus a three-state JSON machine, masks logits at every step. Output is always syntactically valid JSON pointing at a real tool — never a hallucinated function name, never broken syntax.
4 Two schema formats. Accepts both the flat {"location": {"type": "string"}} style and OpenAI's {"type":"object","properties":{...}} style. The Python reference handles only the flat form.
5 Greedy by design. Tool calling is a routing task, not a generation task — temperature would only introduce errors. needle-rs is argmax-only and intentionally does not support stochastic sampling.

Architecture deep-dive: ARCHITECTURE.md.


 

A common failure mode for from-scratch model reimplementations is silent drift — outputs that look right but diverge at the third decimal place, with rare and untraceable downstream bugs. needle-rs rejects that. The Rust engine is required to produce the exact same token ID sequence as the Python/JAX reference on every input, at every decode step.

The test suite generates 560 inference examples by running the Python model on a diverse input set: five tool-name conventions (snake_case, camelCase, PascalCase, UPPER_SNAKE_CASE, kebab-case), parameter counts from 0 to 8, tool arrays from 1 to 20 entries, and a spread of natural-language query phrasings. For each example we capture the Python model's complete output token sequence. The Rust engine is then run on every example and required to produce the identical sequence.

560 / 560 pass. Not approximately — same argmax decision at every step.

Token-exact parity is checked on every CI run. Any change that drifts gets caught before merge. The reference vectors are committed to the repo, so the parity contract is version-pinned and reproducible without re-running Python:

Plus 55 unit tests on the constrained decoder covering edge cases the parity suite doesn't reach (empty tool arrays, parameter-less tools, name-collision under snake_case normalization, max-length queries).


JavaScript / TypeScript
engine.run(query, tools)                              // → string
engine.run_stream(query, tools, (id, piece) => {})    // per-token callback → final string
engine.run_batch([{ query, tools }, ...])             // → string[]
engine.encode_contrastive(text)                       // → Float32Array | null
engine.retrieve_tools(query, descriptionsJson, topK)  // semantic tool routing
Rust
engine.run(query, tools_json);
engine.run_stream(query, tools_json, |_id, piece| print!("{piece}"));
engine.run_batch(&[(q1, t1), (q2, t2)]);
engine.encode_contrastive(text);            // → Option<Vec<f32>>
engine.retrieve_tools(query, descs, k);     // → Vec<(usize, f32)>
C (and anything with FFI)
#include "needle.h"

NeedleHandle h  = needle_load("needle.safetensors", "vocab.txt");
const char *out = needle_run(h, query, tools_json);
printf("%s\n", out);
needle_free_str((char *)out);
needle_free(h);

Full header: crates/needle-c/include/needle.h. Null-safe throughout; errors via thread-local needle_last_error().


Intel i7-1185G7 (Tiger Lake, 4-core), Linux, release build, median of 5 runs.

End-to-end (load + infer)283 ms
Warm inference only~80 ms
INT4 matvec 512×512 (AVX2)83 µs · 3.2 Gelem/s
INT4 matvec 2048×512 (AVX2)311 µs · 3.1 Gelem/s

Apple Silicon NEON path is implemented but unbenchmarked — M-series numbers welcome via PR.

Footprint, stripped release:

WASM module258 KB
CLI binary533 KB
C shared library557 KB
Weights (INT4 SafeTensors)22 MB
Runtime dependencies1 (libm; WASM adds wasm-bindgen)

Full methodology and raw numbers: BENCHMARKS.md.


✓ Browser-side intent routing Decide which API to call before making the network request. Sub-second, zero servers.

✓ Edge function dispatch Tool calling inside Cloudflare Workers, Vercel Edge, Deno Deploy — anywhere with a WASM runtime.

✓ On-device privacy User queries never leave the browser tab. Useful for healthcare, legal, and any context where sending text to OpenAI is a non-starter.

✓ Embedded agents no_std core means the kernels run on microcontrollers with enough RAM for the weights.

What it's not good for: open-ended chat, long-context reasoning, anything where you'd reach for a >1B-parameter model. Needle is a router, not a generalist.


Needle is designed and trained by Henry Ndubuaku and the Cactus Compute team. The model architecture, training code, dataset, and weights are entirely their work, released under MIT. needle-rs is an independent Rust runtime — no upstream code is copied, only the published architecture is implemented.

If you find this useful, please star the upstream Needle repo as well.


@software{needle2026,
  author  = {Ndubuaku, Henry and {Cactus Compute}},
  title   = {Needle: A 26M-Parameter Tool-Calling Transformer},
  year    = {2026},
  url     = {https://github.com/cactus-compute/needle},
  license = {MIT}
}

@software{needlers2026,
  author  = {Ibrahim, Abdalrahman},
  title   = {needle-rs: Pure-Rust WASM Runtime for Needle},
  year    = {2026},
  url     = {https://github.com/geekgineer/needle-rs},
  license = {MIT}
}

MIT — see LICENSE. Model and weights by Cactus Compute, also MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

needle_rs-0.1.0-cp312-cp312-win_amd64.whl (226.1 kB view details)

Uploaded CPython 3.12Windows x86-64

needle_rs-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl (373.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

needle_rs-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (311.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

needle_rs-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (277.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

needle_rs-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (297.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

needle_rs-0.1.0-cp311-cp311-win_amd64.whl (227.0 kB view details)

Uploaded CPython 3.11Windows x86-64

needle_rs-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl (375.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

needle_rs-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (313.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

needle_rs-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (278.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

needle_rs-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (299.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

needle_rs-0.1.0-cp310-cp310-win_amd64.whl (227.1 kB view details)

Uploaded CPython 3.10Windows x86-64

needle_rs-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl (375.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

needle_rs-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (313.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

needle_rs-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (278.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

needle_rs-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl (299.3 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

needle_rs-0.1.0-cp39-cp39-win_amd64.whl (227.4 kB view details)

Uploaded CPython 3.9Windows x86-64

needle_rs-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl (375.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

needle_rs-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (313.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

needle_rs-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (278.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

needle_rs-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl (299.5 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

needle_rs-0.1.0-cp38-cp38-win_amd64.whl (227.4 kB view details)

Uploaded CPython 3.8Windows x86-64

needle_rs-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl (375.4 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

needle_rs-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (313.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

needle_rs-0.1.0-cp38-cp38-macosx_11_0_arm64.whl (278.8 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

needle_rs-0.1.0-cp38-cp38-macosx_10_12_x86_64.whl (299.5 kB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file needle_rs-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: needle_rs-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 226.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for needle_rs-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 af82c69ad2fa9e5f9a79e96161e4d2336585c9f687f6442adc8d3e4ad0ca8037
MD5 b6b5e65dd1ea816cfcf88ee2b92dae50
BLAKE2b-256 3acff82ef0dce409b3e56d2abf87a67162d73be26986baac2341edad6624989e

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 df9d6591e19a78afdd1cf861f3ffcc2bc006df50be10cf2980654eb7f7bd0f29
MD5 5d51e9f1f79c5532ca887769740fdd6d
BLAKE2b-256 44f8643d229c09692a2bd0ec3cf00ec9d5e22d91e906b85c75e49cc74a01929d

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1be32633ea5d9204107ac905fdfd7763fe86cdeb7b099ddbe20fdb1d14247787
MD5 751f32a1dc7c1e3f46575eb8f7056b2f
BLAKE2b-256 60d8890378660b80b15edd24338598789c5514b28d9a0d83c337b27463bb829c

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eba4fdf0537f2cbc252599aee616086663f45e4255bc972fead22587aa5225c4
MD5 7e1d6e41f65548962c2159e60152faf1
BLAKE2b-256 e8e010a3c6243e81ab9c52dede01ced21e78d2d3a6433a475416b13e8245affb

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bc10e813f9bce3f09332b2993e289c25244722676845b823400bacee62ed5159
MD5 53e4b1c0a85ae293dbf05d651d1a1614
BLAKE2b-256 62737e102b37b82aa0a06ca532f8fa717a6cc59509cb9f6e0b76814b8069c948

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: needle_rs-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 227.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for needle_rs-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0a85c4a7856b3bb93d717bba6f510b40f14552f6c534fc52d1055c669ea98cd3
MD5 b2d19a818446f1a1cee3f180785934ea
BLAKE2b-256 9360117a1b84e3cdb9996088d96264ff9b890ce2e841b8c74f66375d4488e57b

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f86438a34656473df9a0def0beb52adbc279f302c3c22994b0b4757bacbbf098
MD5 5cdfaef657c6067d3f05207b5de6d5a4
BLAKE2b-256 7be6c1557c73a80d4f6c8622589697d5d5413ea50876d914d25e3fd6d6828a88

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8bf6c9769a4cdb8b0c9ed507327e9307e2b30eb69083c777fd45da99bd68452
MD5 378dae1f69af141ae6e3b6bcc3dc2bf6
BLAKE2b-256 2dd854574991189f4299aab4a021184f5f5222d314920b39f62cfba8d6a707d9

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9748c2abc8baee4cddc9b08f81641ec699e7707ce2548495bd03b80014d45698
MD5 e0cdc3978dabe2ca3a69f86a96ec4b10
BLAKE2b-256 b8b9de6a2718b1a1da69ade4f196fa17c3fcbe02c124bcfad24aeb6e0bcdad0a

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 258f48743ec59da0e66692742316b40188104cf6d282b51809d7eeb98f4f68a7
MD5 d5caabce20395f51a44ae3acee4a2680
BLAKE2b-256 1818b95759ec609e736e7e50605edb6f83f288bbecd1af3982c75da343dfdcfa

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: needle_rs-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 227.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for needle_rs-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 06d4658ebda35e86caac0fce89b312d518a81d65d107078f7c352ecdc85237fd
MD5 a0d050c74aca48028a2e575d48aede2c
BLAKE2b-256 622ce7cd8aad97ed0ba4aa1360e4cde70705d456398c6260742c0b7dc1e5bba4

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3b3213387dda48ca2ac4e6ce0b1eb03f0492cdf1a7d4e44475a714e6c743ff58
MD5 c46e34915f69d1f0a06d288e3259ed77
BLAKE2b-256 b30dc0849544518ab34577dea0b823bfc15a3f2c9171daf0010984b1fef856f1

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7814789b237ec13c8c93e00a37811d91e55fc2b476a9dc3b2619e0036f12f9d1
MD5 c3e0368d91526a7e4ecfbd70cd5f2c9f
BLAKE2b-256 17865bc66685d37881bf884e0b25c0733f7e04bacba39fcb3e138c3f392f40a5

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8a833027656bd790c75852dd018e6ee91abbb7cdfabc047a8ab18dbe900f0283
MD5 16474fa523712b23452b60cae1237423
BLAKE2b-256 14d677972856c6a48d4803091d12b3d938654d48e3ace44104ae81ee4a1e71eb

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5b9b7bff2edcac8f31e1bd60ad1e3ef8aa4ca31370c84a55ae132134fd5b693a
MD5 c1152c2a5c489d3198753b659fe6eb2d
BLAKE2b-256 0e45a61d24e3602c6baead443e38daf3edc6a5bc40bca3ec11b7cb16ff52b245

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: needle_rs-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 227.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for needle_rs-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c37d6838b9819480210ff9f3025a4f4dc7fa9c620e37899023cf146fe5d53328
MD5 6a36b17bbfde371b897b74329fe685f9
BLAKE2b-256 591a26c6c428fc1a71c7f4ceb142a1a83cffd72d56e256b94423f49319d299ce

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b8e90130a1d72504eb36afa0552b655c722e4e37642465ed110ad7414da076e7
MD5 cf8329f0dece949d7cf0f225751b2adc
BLAKE2b-256 0472459b76c8b4cf60667bdbf7b4a38148995202d47ab79b16f30a539ce62322

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fbc380b41e5796e80dbcd437da253b9d9f3cc59251c329b4fd9f0c0649f3b8d1
MD5 35402040aa1f21614e99287ca2f9d325
BLAKE2b-256 99f23ca8b7ddb451f38e0f0ca0e8028f752287c6471bcdc1696d242e800cacf6

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6327fd6ed1e171249c4b8e18529ce5552278f2163f719b73e65c61ec49fccd9b
MD5 ea374802438a67fbbae0a468a25ac28b
BLAKE2b-256 2fdd9e69450719c9e7c952d4177e8f5c02ef30d4327edf5c8a331e9148ffcfd4

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eec52e175b2809db3f9038cfb54d4e11b7641316560dbab430951aa07f2380d9
MD5 5919874fb18da3a2e6df40cb9a27b6c3
BLAKE2b-256 a47f71e4cbdeaca48fb678f6b60d9f61964793fb9d8165f412c7ece6b01a816b

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: needle_rs-0.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 227.4 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for needle_rs-0.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2a6afee68b23c748a806941ba495ebae9f61df0e0e8a68a084651393f07f80f4
MD5 008919726645441ad63e207518cbe8f1
BLAKE2b-256 ccd4d46fc502a55eef26ad2186e180b7ec0312980ee6fb6ebb76e666c707f8e2

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b529fdb47dc3adf00fea7869c61da359ecf1b65ff6335fe4cfea524cb2f74279
MD5 32c6d18d12825a6b44da198a7cb7c3ce
BLAKE2b-256 1fb383aac5b6af9a917423130fbf72a6e0dea0d38bfe9ad4cf6286961f5c1fc7

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa9d3667e13734eae7e42c5805e272c250609e0cc393ab352e644272436f6778
MD5 01a1a76519442b748587c14ea42104dd
BLAKE2b-256 bdc961581f6bea0512b0ade7bf8aea3837a0b5aeddcc465ac7706d656a16a323

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e3ebe25c6dfe0283e7201f90f6c939e5d781b809baafbec88591e720501445c
MD5 1f0d78636996c17275c67d5c538e871e
BLAKE2b-256 0c412e36fdd59729778156aad1a7c1910131907b576220ea83d1eab6b044db6e

See more details on using hashes here.

File details

Details for the file needle_rs-0.1.0-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for needle_rs-0.1.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f2c599eed67df54360514092005dc6f1923ab6068f85cc4e38cf9fb945796369
MD5 31cf69df0f856f694edfa46731603ef3
BLAKE2b-256 8b6dcc2b78b27bb628b7a3d0048859e2f037bdd530d3c5202af438c03f7358cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page