Metadata-Version: 2.4
Name: py-hopscotch-dict
Version: 2.2.0
Summary: A replacement for dict using hopscotch hashing.
Author-email: Jeremy Brown <mischif@noreply.codeberg.org>
License-Expression: LicenseRef-Prosperity-3.0.0
Project-URL: source, https://codeberg.org/mischif/py-hopscotch-dict
Project-URL: releasenotes, https://codeberg.org/mischif/py-hopscotch-dict/releases/latest
Project-URL: changelog, https://codeberg.org/mischif/py-hopscotch-dict/src/CHANGELOG.md
Project-URL: issues, https://codeberg.org/mischif/py-hopscotch-dict/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: ~=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Dynamic: license-file

py-hopscotch-dict
=================

[![Python Versions](https://img.shields.io/pypi/pyversions/py-hopscotch-dict?style=for-the-badge)](https://pypi.org/project/py-hopscotch-dict/)
[![Package Version](https://img.shields.io/pypi/v/py-hopscotch-dict?style=for-the-badge)](https://pypi.org/project/py-hopscotch-dict/)

py-hopscotch-dict is a package that contains a replacement for the standard Python `dict` which implements the concepts of [hopscotch hashing](https://en.wikipedia.org/wiki/Hopscotch_hashing), as explained in the [foundational paper](https://web.archive.org/web/20230603014056/http://people.csail.mit.edu/shanir/publications/disc2008_submission_98.pdf).

Hopscotch hashing provides a number of benefits over the methods used in the standard `dict` implementation, most notably that insertions, deletions and lookups have an expected O(1) runtime.

py-hopscotch-dict has not been tested in a concurrent environment and thusly cannot be guaranteed to function correctly in conjunction with multi-threading, across multiple processes or in an asynchronous environment.

Usage
-----

	>>> from py_hopscotch_dict import HopscotchDict
	>>> d = HopscotchDict()
	>>> d["test"] = True
	>>> d
	HopscotchDict({'test': True})

License
-------

py-hopscotch-dict is released under version 3.0.0 of the [Prosperity Public License](./LICENSE.txt)
