{"id":46242,"library":"rensa","title":"rensa: High-performance MinHash in Rust","description":"rensa is a high-performance MinHash implementation written in Rust with Python bindings, currently at version 0.4.0. It provides MinHash signatures and Jaccard similarity computation, claiming up to 40x speed improvement over datasketch. It requires Python >=3.8 and is released on PyPI.","status":"active","version":"0.4.0","language":"python","source_language":"en","source_url":"https://github.com/beowolx/rensa","tags":["minhash","rust","python-bindings","similarity","hash"],"install":[{"cmd":"pip install rensa","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"wrong":"from rensa import MinHash","symbol":"CMinHash","correct":"from rensa import CMinHash"},{"wrong":"from rensa import MinHash","symbol":"RMinHash","correct":"from rensa import RMinHash"},{"wrong":"from rensa import MinHash","symbol":"RMinHashLSH","correct":"from rensa import RMinHashLSH"}],"quickstart":{"code":"from rensa import MinHash\n\nm1 = MinHash()\nm2 = MinHash()\n\nfor d in [\"hello\", \"world\"]:\n    m1.update(d.encode('utf-8'))\n\nfor d in [\"hello\", \"rust\"]:\n    m2.update(d.encode('utf-8'))\n\nprint(\"Jaccard similarity:\", m1.jaccard(m2))","lang":"python","description":"Basic usage of MinHash: create two MinHash instances, update with byte strings, and compute Jaccard similarity."},"warnings":[{"fix":"Use .encode('utf-8') or pass bytes directly.","message":"Input to update() must be bytes, not strings. Forgetting to encode strings leads to TypeError.","severity":"gotcha","affected_versions":"all"},{"fix":"Manually extract signature via m.signature (a list) and serialize with e.g. pickle or JSON (but note performance).","message":"MinHash signatures are not serializable directly. The library does not provide a built-in serialization method as of 0.4.0.","severity":"gotcha","affected_versions":"0.4.0"},{"fix":"Check the latest documentation on GitHub for any API changes.","message":"If you previously used rensa from a different source (e.g., a fork), note that the API is minimal and may change in future versions.","severity":"deprecated","affected_versions":"<0.4.0"}],"env_vars":null,"search_vec":"'0.4.0':25 '3.8':45 '40x':37 'bind':21,55 'claim':34 'comput':33 'current':22 'datasketch':41 'hash':57 'high':3,12 'high-perform':2,11 'implement':15 'improv':39 'jaccard':31 'minhash':5,14,28,51 'perform':4,13 'provid':27 'pypi':50 'python':20,44,54 'python-bind':53 'releas':48 'rensa':1,8 'requir':43 'rust':7,18,52 'signatur':29 'similar':32,56 'speed':38 'version':24 'written':16","created_at":"2026-06-07T12:58:58.252224+00:00","updated_at":"2026-06-07T12:58:58.252224+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/beowolx/rensa","github":"https://github.com/beowolx/rensa","docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["ai-ml","search"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}