ekzhu/datasketch

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

View on GitHub ↗Jump to charts ↓

ekzhu/datasketch has 2.5k+ stars and 300+ forks on GitHub, is written in Python, and was last pushed on Oct 10, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 15 minutes ago
Added to GitGenius on March 25th, 2026
Created on March 20th, 2015
Open Issues & Pull Requests: 59 (+0)
GitHub issues: Enabled
Number of forks: 323
Total Stargazers: 2,971 (+0)
Total Subscribers: 45 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 39.9 days
Mean response time: 292.4 days
90th percentile: 1006.8 days
Tracked items: 21

Maintainer activity

2 people did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 18, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits. How this is counted.

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 73% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

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

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

Sign in to see which issues are moving.
Sign in

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.

Enhancement requests and help-wanted issues represent the most common issue types, indicating active development and community interest.

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.