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

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.3
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)

Table of built distributions (wheels) for sharkbite 1.4.3
File Interpreter ABI Platform Actions
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

Release files / sharkbite-1.4.3.tar.gz

Download URL sharkbite-1.4.3.tar.gz
Size 60.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3a056d704691232593695ffcf72d670250e70f8b72ae65cee77abb95d33f4f74
BLAKE2b-256 checksum
How to use checksums
6812827a872bbec7137d5e5961ce37e9d0662bce0a77c1cc76c79809554c9209
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 16, 2026.

Transparency log

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

Download URL sharkbite-1.4.3-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
06fd19bbd522c40e0b1af06ea3c35522730b3adb465393a91c790f46a7ddf266
BLAKE2b-256 checksum
How to use checksums
f52b4825630c30ef91602e15f39323a9f36d874972a5f17af4643b427fdf99df
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 16, 2026.

Transparency log

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.

Select from 2 files

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