Skip to main content

Fast and Redis-compatible HyperLogLog extension for Python 3

Project description

pfutil

Fast HyperLogLog extension for Python 3. The underlying binary representation is compatible with Redis.

#!python3
import redis
from pfutil import HyperLogLog

r = redis.Redis()
r.pfadd('foo', 'a', 'b', 'c')
r.pfadd('bar', 'x', 'y', 'z')
r.pfmerge('bar', 'foo')
assert r.pfcount('foo') == 3
assert r.pfcount('bar') == 6

foo = HyperLogLog.from_bytes(r.get('foo'))
bar = HyperLogLog.from_elements('x', 'y')
bar.pfadd('z')
bar.pfmerge(foo)
assert foo.pfcount() == 3
assert bar.pfcount() == 6
assert r.get('bar') == bar.to_bytes()

Install

Install from PyPI:

pip install pfutil

Install from source:

python setup.py install

License

  • This pfutil software is released under the 3-Clause BSD License
  • The files in src/redis/ are extracted and modified from Redis 6.2.12, which is released under the 3-Clause BSD License as well.

Project details


Download files

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

Source Distribution

pfutil-1.0.1.tar.gz (33.8 kB view details)

Uploaded Source

Built Distribution

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

pfutil-1.0.1-cp310-cp310-macosx_10_9_universal2.whl (41.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file pfutil-1.0.1.tar.gz.

File metadata

  • Download URL: pfutil-1.0.1.tar.gz
  • Upload date:
  • Size: 33.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.0 CPython/3.10.0

File hashes

Hashes for pfutil-1.0.1.tar.gz
Algorithm Hash digest
SHA256 eb5a69703094694ce43d2d830df32480fafc9b42c8591e46a50a40a48fd5b84d
MD5 3ef06742863dddaed435ed0401ac96a8
BLAKE2b-256 4135c911b88766dc826724b5bdb1915ed15388e40c0e78e954e530fd1d66232f

See more details on using hashes here.

File details

Details for the file pfutil-1.0.1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pfutil-1.0.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5e1d8a0003a095e45bc0c85dbd56a1bcaf847322fcc0cff81cbb8c40fe0e0423
MD5 c1b3d0905f237629c89d9d216fd677a5
BLAKE2b-256 e58f5860df30a855369126acd8769e50fb993030a86a24093665efc93c9c23c6

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