Probabilistic data structures in python
Project description
pyprobables is a python library for probabilistic data structures. The goal is to provide the developer with a pure-python implementation of common probabilistic data-structures to use in their work.
Installation
Pip Installation:
$ pip install pyprobables
To install from source:
To install pyprobables, simply clone the repository on GitHub, then run from the folder:
$ python setup.py install
pyprobables supports python versions 2.7 and 3.3 - 3.6
API Documentation
The documentation of is hosted on readthedocs.io
You can build the documentation locally by running:
$ pip install sphinx $ cd docs/ $ make html
Automated Tests
To run automated tests, one must simply run the following command from the downloaded folder:
$ python setup.py test
Quickstart
Import pyprobables and setup a Bloom Filter:
>>> from probables import (BloomFilter)
>>> blm = BloomFilter(est_elements=1000, false_positive_rate=0.05)
>>> blm.add('google.com')
>>> blm.check('facebook.com') # should return False
>>> blm.check('google.com') # should return True
Import pyprobables and setup a Count-Min Sketch:
>>> from probables import (CountMinSketch)
>>> cms = CountMinSketch(width=1000, depth=5)
>>> cms.add('google.com') # should return 1
>>> cms.add('facebook.com', 25) # insert 25 at once; should return 25
See the API documentation for other data structures available and the quickstart page for more examples!
Changelog
Please see the changelog for a list of all changes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for pyprobables-0.0.7-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c4e7dd6380ca2e6e824562910791670661507461875d8f316f103352ffa0c1d |
|
MD5 | 33149ad87736f582cd7087298ddaeee4 |
|
BLAKE2b-256 | 29eb52bcfe5912c1d532ef508d5f6c0ef9c5f732a65b1e136c06960fb6516fb3 |