Sharkbite Python client
Sharkbite is a Python client for Accumulo-compatible storage, backed by the Shoal stable C ABI. The package keeps the established import names:
import sharkbite
import pysharkbite
assert pysharkbite.Client is sharkbite.Client
Install
For supported Linux x86-64 systems, install the published wheel:
python -m pip install sharkbite
That wheel includes the verified Shoal native library. You do not need to build Shoal separately.
Source installs and platforms without a published native wheel use an existing Shoal shared library. Give its absolute path explicitly:
python -m pip install sharkbite # or: python -m pip install ./python
export SHOAL_LIBRARY=/opt/shoal/libshoal.so
On Windows, use an absolute path to shoal.dll; on macOS, use an absolute path
to libshoal.dylib. System-library discovery is disabled unless you explicitly
set SHOAL_ALLOW_SYSTEM_LIBRARY=1. The loader never searches the current
working directory or repository build directories.
The loader verifies the bundled library checksum, checks ABI major version 1, checks the minimum supported ABI version, and resolves capabilities before an operation is allowed.
Quick example
from sharkbite import Client
with Client("accumulo", "zk1:2181", "root", "secret", table="events") as client:
with client.scanner() as scanner:
for key, value in scanner.scan(b"a", b"z"):
print(key.row, value)
What is included
The current binding provides:
- deterministic native-library discovery and ABI/capability negotiation;
- stable status-to-exception mapping, including
ClientException; - owned handles and results with idempotent context-manager cleanup;
Connector,Client,Scanner,BatchScanner, synchronous and asynchronous results,Key, and bounded scans;- binary-safe
MutationandBatchWriteroperations with structured failure reporting; - table, namespace, and security administration through connector helpers and
tableOps,namespaceOps, andsecurityOps; - context-managed HDFS clients and typed or raw streams;
- context-managed RFile readers and writers, including named locality groups.
The package accepts Accumulo 4 configurations. It does not expose generated Thrift exceptions or password read-back. Transport pools are scoped per connector.
Concurrency and process safety
Blocking native calls release the Python GIL. Shared operations may run from multiple Python threads, but closing or freeing a wrapper must not race with use of that wrapper.
A fork child cannot reuse inherited native state. In a fork child, construct
fresh objects after exec(), or use the spawn or forkserver multiprocessing
start method. The parent process and a fresh exec-created child remain
supported.
Compatibility boundaries
Some historical entry points remain importable for discovery but raise
NotImplementedError with a stable message. This includes hedged reads,
RFile-only scanner mode, and Python iterators; use normal RPC scans,
RFileOperations, and Shoal's Go iterator runtime instead.
Online compaction, legacy chunked iterators, and other surfaces without an equivalent stable C ABI remain outside the binding. Live-cluster timeout, consistency, and retry parity are tracked in issue #74.
See the release policy for supported platforms, reproducible builds, artifact verification, checksums, attestations, and the pre-release container chaos gate.
Metadata
Release files for sharkbite 1.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sharkbite-1.4.3.tar.gz | 60.2 kB | With provenance | Details for sharkbite-1.4.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sharkbite-1.4.3-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details for sharkbite-1.4.3-py3-none-manylinux_2_28_x86_64.whl |
Total release size: 9.1 MB
Security for sharkbite 1.4.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for sharkbite-1.4.3.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.