Skip to main content

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 Mutation and BatchWriter operations with structured failure reporting;
  • table, namespace, and security administration through connector helpers and tableOps, namespaceOps, and securityOps;
  • 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.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sharkbite 1.4.4
File Size Uploaded Provenance Actions
sharkbite-1.4.4.tar.gz 60.2 kB With provenance Details for sharkbite-1.4.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sharkbite 1.4.4
File Interpreter ABI Platform Actions
sharkbite-1.4.4-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details for sharkbite-1.4.4-py3-none-manylinux_2_28_x86_64.whl

Total release size: 9.1 MB

Release files / sharkbite-1.4.4.tar.gz

Download URL sharkbite-1.4.4.tar.gz
Size 60.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b9368ea6a3a99bec0aac13a7fdf65c8c1bfdb8d2cf2f035f2dfe1d4a2ed2cd07
BLAKE2b-256 checksum
How to use checksums
1502350a3bd733b1700c45b1a888687ab4d51df830d1b80ae14635c94eea066e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

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 18, 2026.

Transparency log

Release files / sharkbite-1.4.4-py3-none-manylinux_2_28_x86_64.whl

Download URL sharkbite-1.4.4-py3-none-manylinux_2_28_x86_64.whl
Size 9.1 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
733d5ba90bb766ed77e5c10a4c3c6aa13e056673d57002a219f4ddbbb32af7d8
BLAKE2b-256 checksum
How to use checksums
e3328dcaeb1281f026ad733036cb144224a594b8672bf6632100777e2eba2840
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

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 18, 2026.

Transparency log

Security for sharkbite 1.4.4

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.

Select from 2 files

Attestation for sharkbite-1.4.4.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 18, 2026.

Transparency log

A 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.

Release history Release notifications | RSS feed

This release

1.4.4 This release

2 release files Full provenance

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