Metadata-Version: 2.1
Name: shard-computer
Version: 1.1.0
Summary: A library for rapid computation of Neuroglancer Precomputed shard hashes.
Home-page: https://github.com/seung-lab/shard-computer/
Author: William Silversmith
Author-email: ws9@princeton.edu
License: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
Keywords: neuroglancer sharding igneous cloud-volume MurmurHash3
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Topic :: Utilities
Requires-Python: >=3.7.0,<4.0.0
Description-Content-Type: text/markdown
License-File: LICENSE

![Automated Tests](https://github.com/github/docs/actions/workflows/run_tests.yml/badge.svg)


# shard-computer
Perform accelerated shard hash computation for [Neuroglancer Precomputed shards](https://github.com/google/neuroglancer/blob/master/src/neuroglancer/datasource/precomputed/sharded.md#sharding-specification).

```python
import shardcomputer

preshift_bits = 0
shard_bits = 11
minishard_bits = 8

label = 12949142

shard_no = shardcomputer.shard_number(label, preshift_bits, shard_bits, minishard_bits)

# let arr be a uint64 numpy array of labels
shard_no_set = shardcomputer.unique_shard_numbers(
	label, preshift_bits, shard_bits, minishard_bits
)
```


