ekzhu/datasketch

Description: MinHash, LSH, LSH Forest, Weighted MinHash, HyperLogLog, HyperLogLog++, LSH Ensemble and HNSW

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 7 minutes ago
Added to GitGenius on March 25th, 2026
Created on March 20th, 2015
Open Issues & Pull Requests: 54 (+0)
Number of forks: 317
Total Stargazers: 2,942 (+0)
Total Subscribers: 45 (+0)

Issue Activity (beta)

Open issues: 21
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 1,137 days
Stale 30+ days: 21
Stale 90+ days: 19

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (9)
  • help wanted (5)
  • question (5)
  • bug (2)

Most active issues this week

Repository Insights (GitGenius)

Median issue/PR response: 29.6 days
Mean response time: 297.8 days
90th percentile: 1006.8 days
Tracked items: 20

Most active contributors

Detailed Description

Datasketch is a Python library that implements probabilistic data structures designed to process and search very large datasets efficiently with minimal accuracy loss. The library provides implementations of MinHash, Weighted MinHash, HyperLogLog, and HyperLogLog++ for estimating Jaccard similarity, weighted Jaccard similarity, and cardinality across massive datasets. These sketching techniques allow users to compress large amounts of data into small probabilistic summaries that can be queried and compared rapidly.

Beyond the core sketching algorithms, datasketch includes several indexing structures that enable sub-linear query times on sketched data. The library offers MinHash LSH for Jaccard threshold queries, LSHBloom for similar threshold-based queries, MinHash LSH Forest for top-K similarity searches, MinHash LSH Ensemble for containment threshold queries, and HNSW for custom metric top-K searches. The MinHash LSH and LSH Ensemble indexes can scale to production environments by leveraging Redis or Cassandra as storage backends, making the library suitable for big data applications.

The repository is maintained primarily by ekzhu, who has logged 33 events in issue and pull request activity tracked by GitGenius. The project shows moderate engagement with contributors like 123epsilon and chris-ha458 each contributing 6 events. Enhancement requests and help-wanted issues represent the most common issue types, indicating active development and community interest. The median response latency for issues and pull requests is 711.5 hours, though the mean of 7146.9 hours suggests occasional longer-term discussions on complex topics.

Datasketch requires Python 3.9 or above, NumPy 1.11 or above, and Scipy as core dependencies. The library offers optional dependencies for Redis, Cassandra, and Bloom filter support, allowing users to install only the components they need. Installation is straightforward via pip, with specialized installation commands available for different feature sets.

The development workflow uses uv for Python package management, providing a modern alternative to traditional tools. Contributors are guided through a clear setup process that includes creating virtual environments, installing dependencies, and running tests with pytest. Code quality is maintained through ruff for linting and formatting, with the project following PEP 8 style guidelines. The repository is linked to other major projects including microsoft/autogen, microsoft/agent-framework, and tensorflow/tensorflow through overlapping contributors, suggesting the library serves as a foundational component in broader data processing ecosystems.

datasketch
by
ekzhuekzhu/datasketch

Repository Details

Fetching additional details & charts...