Skip to main content

OpenDHT

OpenDHT is a lightweight Distributed Hash Table implementation providing an easy to use distributed in-memory data store.

Key Features

  • Lightweight and scalable, designed for large networks and small devices
  • High resilience to network disruption
  • Public key cryptography layer providing optional data signature and encryption
  • IPv4 and IPv6 support
  • Python 3 bindings
  • REST API with optional HTTP client+server with push notification support

Every node in the network can read and write values to the store. Values are distributed over the network with redundancy.

Installation

Install on Linux, macOS and Windows with:

pip install opendht

Quick Example

Using the simple, blocking API:

import opendht as dht

node = dht.DhtRunner()
node.run()

# Join the DHT network through any running node,
# here using a known bootstrap node.
node.bootstrap("bootstrap.jami.net", "4222")

# blocking call (provide callback arguments to make the call non-blocking)
node.put(dht.InfoHash.get("unique_key"), dht.Value(b'some binary data'))

results = node.get(dht.InfoHash.get("unique_key"))
for value in results:
    print(value)

Or using asyncio:

import asyncio
import opendht.aio as dht

async def dht_async_demo(key_str: str):
    # Start a new node using an async context manager.
    # It is also possible to call run()/await shutdown() manually.
    async with dht.DhtRunner(
        bootstrap=(("bootstrap.jami.net", "4222"),)
    ) as node:
        # compute key hash
        key = dht.InfoHash.get(key_str)

        # put data, waiting for completion
        await node.put(key, dht.Value(b'tata data'))

        # get all values at key
        results = await node.getAll(key)
        for value in results:
            print(value)
        
        # same operation, but stream values as they come from the network
        with node.get(key) as results:
            async for value in results:
                print(value)

        # listen for change of values at key
        with node.listen(key) as values:
            async for value, expired in values:
                print(value)
                if value.data == b'tata data':
                    break

asyncio.run(dht_async_demo("unique_key"))

Documentation

For more information, examples and documentation, or to repport issues, visit: https://opendht.net

License

Copyright (c) 2014-2026 Savoir-faire Linux Inc.

OpenDHT is released under the MIT License. See LICENSE for details.

Metadata

Release files for opendht 4.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for opendht 4.4.2
File Actions
opendht-4.4.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for opendht-4.4.2-cp314-cp314-win_amd64.whl
opendht-4.4.2-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details for opendht-4.4.2-cp314-cp314-manylinux_2_34_x86_64.whl
opendht-4.4.2-cp314-cp314-manylinux_2_34_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ ARM64 Details for opendht-4.4.2-cp314-cp314-manylinux_2_34_aarch64.whl
opendht-4.4.2-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details for opendht-4.4.2-cp314-cp314-macosx_15_0_arm64.whl
opendht-4.4.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for opendht-4.4.2-cp313-cp313-win_amd64.whl
opendht-4.4.2-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details for opendht-4.4.2-cp313-cp313-manylinux_2_34_x86_64.whl
opendht-4.4.2-cp313-cp313-manylinux_2_34_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ ARM64 Details for opendht-4.4.2-cp313-cp313-manylinux_2_34_aarch64.whl
opendht-4.4.2-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details for opendht-4.4.2-cp313-cp313-macosx_15_0_arm64.whl
opendht-4.4.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for opendht-4.4.2-cp312-cp312-win_amd64.whl
opendht-4.4.2-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details for opendht-4.4.2-cp312-cp312-manylinux_2_34_x86_64.whl
opendht-4.4.2-cp312-cp312-manylinux_2_34_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ ARM64 Details for opendht-4.4.2-cp312-cp312-manylinux_2_34_aarch64.whl
opendht-4.4.2-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details for opendht-4.4.2-cp312-cp312-macosx_15_0_arm64.whl
opendht-4.4.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for opendht-4.4.2-cp311-cp311-win_amd64.whl
opendht-4.4.2-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details for opendht-4.4.2-cp311-cp311-manylinux_2_34_x86_64.whl
opendht-4.4.2-cp311-cp311-manylinux_2_34_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ ARM64 Details for opendht-4.4.2-cp311-cp311-manylinux_2_34_aarch64.whl
opendht-4.4.2-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details for opendht-4.4.2-cp311-cp311-macosx_15_0_arm64.whl
opendht-4.4.2-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details for opendht-4.4.2-cp310-cp310-manylinux_2_34_x86_64.whl
opendht-4.4.2-cp310-cp310-manylinux_2_34_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ ARM64 Details for opendht-4.4.2-cp310-cp310-manylinux_2_34_aarch64.whl
opendht-4.4.2-cp39-cp39-manylinux_2_34_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.34+ x86-64 Details for opendht-4.4.2-cp39-cp39-manylinux_2_34_x86_64.whl

Total release size: 101.0 MB

Release files / opendht-4.4.2-cp314-cp314-win_amd64.whl

Download URL opendht-4.4.2-cp314-cp314-win_amd64.whl
Size 5.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
fb034290b00751ec735f26f7c1d8db6a9a1a09dc41b20a60270527d9b5a70f12
BLAKE2b-256 checksum
How to use checksums
81ec6fa3d13955dfced77a10bc83acbcf36337ed3df6b666f0f3646ab12e3e8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL opendht-4.4.2-cp314-cp314-manylinux_2_34_x86_64.whl
Size 6.0 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
5e95b00dad5442b150f9cae6c78f32e906c473e1062ae72ee06f20936b7ca210
BLAKE2b-256 checksum
How to use checksums
14aa64acdfe09e66d3af09f02014ef9b292bda81dde5f14ef2a33ef1bee76ce2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp314-cp314-manylinux_2_34_aarch64.whl

Download URL opendht-4.4.2-cp314-cp314-manylinux_2_34_aarch64.whl
Size 5.6 MB
Tags CPython 3.14 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
b014d602a57ab595fe5141b677107f4f7cddc5bae3933622c9c31794b0232d31
BLAKE2b-256 checksum
How to use checksums
089c8327cda70d928cce2dfd10ef703c0675f7591761f37d4c4dce5f95938907
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp314-cp314-macosx_15_0_arm64.whl

Download URL opendht-4.4.2-cp314-cp314-macosx_15_0_arm64.whl
Size 3.7 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
3a3502054f68d3b62479bf3a68b372915f19ff65f32c1b46750db6d941ffb0a1
BLAKE2b-256 checksum
How to use checksums
f87edc6d7c3626b964329862717ca5c770b182ca5c0c2f1b226ccf911f991892
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp313-cp313-win_amd64.whl

Download URL opendht-4.4.2-cp313-cp313-win_amd64.whl
Size 5.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
bff828cc46393d1ab44afb8178ab5326c6e75c22854f9367444b393dacf795d4
BLAKE2b-256 checksum
How to use checksums
49c51ece69bdb7cc09b667d801f0059b9c5f6f34f6c75fcf1ba6143696c13e6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL opendht-4.4.2-cp313-cp313-manylinux_2_34_x86_64.whl
Size 6.0 MB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
bbcdfeca55ba89d9350332be7142c0ab212904aa6e00d0ec038ab4c59eec94ff
BLAKE2b-256 checksum
How to use checksums
cc693e650687025fbd5e6ca8e272a2e3e6340dc3598f2ec779bd1fbab447e414
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp313-cp313-manylinux_2_34_aarch64.whl

Download URL opendht-4.4.2-cp313-cp313-manylinux_2_34_aarch64.whl
Size 5.6 MB
Tags CPython 3.13 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
bb0d58abbd310db1c2a2f63105e13e7fca348eb3cdf6f7b9b9da5a78ec464a83
BLAKE2b-256 checksum
How to use checksums
ebe04e143a4ab54fd2ebb4f62bc22b09b5e2a50ed89e8c8733843ba430974ea5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp313-cp313-macosx_15_0_arm64.whl

Download URL opendht-4.4.2-cp313-cp313-macosx_15_0_arm64.whl
Size 3.7 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
5c29e5de7682e7ffb19c6d72d7ec059ed0471afeb28848d86f1c7de3c007a087
BLAKE2b-256 checksum
How to use checksums
69718ba0ffcc7ffc22a1e99ec06c69059ddb21288984f484fe1cc0e6a7d2d397
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp312-cp312-win_amd64.whl

Download URL opendht-4.4.2-cp312-cp312-win_amd64.whl
Size 5.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
9cd4a91a4f0e1e22ddfd6259324290a1b7ededd7f32aad17531dabc1d196cc9a
BLAKE2b-256 checksum
How to use checksums
002c5b44c305d19e48110179c003690dd31879ccbc8a3e29e81e04ee82f8c977
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL opendht-4.4.2-cp312-cp312-manylinux_2_34_x86_64.whl
Size 6.0 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
1f5d99927875f2ba652bfc9972b8819bee126e4d8137db22e6673c27d476b358
BLAKE2b-256 checksum
How to use checksums
ba5df6b0416e58c72497330899e653a44ee3bd6d271087a35381fb472e9e7dfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp312-cp312-manylinux_2_34_aarch64.whl

Download URL opendht-4.4.2-cp312-cp312-manylinux_2_34_aarch64.whl
Size 5.7 MB
Tags CPython 3.12 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
9f6796914feaa570f33ddade97184a0111223e4202bdc18d786560c15343d831
BLAKE2b-256 checksum
How to use checksums
1907b21be69967f64d1c9a36d8c3d0313923df57a62e4e264180fa4d08b54594
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp312-cp312-macosx_15_0_arm64.whl

Download URL opendht-4.4.2-cp312-cp312-macosx_15_0_arm64.whl
Size 3.7 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
b4b6565dbbf212b4838ce4664153de2db3deab4b096303ef057fc21a2aefbf63
BLAKE2b-256 checksum
How to use checksums
c565eb7a769c5987e0cf18b7cea71991d40a708020392495e96afe589c3fc448
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp311-cp311-win_amd64.whl

Download URL opendht-4.4.2-cp311-cp311-win_amd64.whl
Size 5.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
c444a6ec7cdce8ba1d1abfc1293f01a59d0a7aa9067bf1619722e808ae1e118b
BLAKE2b-256 checksum
How to use checksums
350f2fd0a67f5bdc16e808b6c25e19651cf3ecf563e9fbe14e5eca78939b60d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL opendht-4.4.2-cp311-cp311-manylinux_2_34_x86_64.whl
Size 6.1 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
ab34bfa6e6229fbc9522ef96defe8840a9bd4e936045c9a5b46b75147a6e48c0
BLAKE2b-256 checksum
How to use checksums
4ac228e3be7146c3551657fe47d4d9a7441a65410e6852f93ce00168a5368793
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp311-cp311-manylinux_2_34_aarch64.whl

Download URL opendht-4.4.2-cp311-cp311-manylinux_2_34_aarch64.whl
Size 5.7 MB
Tags CPython 3.11 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
d492d6ad0485484d3666c1378070c49e08affb21bdc5fd4df6d8b0fae4bd919c
BLAKE2b-256 checksum
How to use checksums
fcc3e462ee67c9bef4ca8f6229ad8a21d0e904dbc78c94f9dba0c6b01b12e052
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp311-cp311-macosx_15_0_arm64.whl

Download URL opendht-4.4.2-cp311-cp311-macosx_15_0_arm64.whl
Size 3.7 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
f534dbab579460fcbb34351f85085aa9eedd1edee73a0b93d39024d52b497393
BLAKE2b-256 checksum
How to use checksums
668af9c317d4657380639d71829c47bf44b550927ef874f6d8cfd87c20f458f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL opendht-4.4.2-cp310-cp310-manylinux_2_34_x86_64.whl
Size 6.0 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
ab15adce92913b7bb11c28dc59197dcdd5560d99198453b97c7e6aca43e92a56
BLAKE2b-256 checksum
How to use checksums
ff4e5176213c561c931f86c1d13d44cd514a4d373f6cc44712c23053bb0da212
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp310-cp310-manylinux_2_34_aarch64.whl

Download URL opendht-4.4.2-cp310-cp310-manylinux_2_34_aarch64.whl
Size 5.7 MB
Tags CPython 3.10 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
44831140093d1a5f0e8993d1f11052b37a896557060a09d1e9c691182007d764
BLAKE2b-256 checksum
How to use checksums
e9e413274360722267f6d2b82bfe44cce9dc90ab8bf6edb4e143d4e05427b218
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / opendht-4.4.2-cp39-cp39-manylinux_2_34_x86_64.whl

Download URL opendht-4.4.2-cp39-cp39-manylinux_2_34_x86_64.whl
Size 6.0 MB
Tags CPython 3.9 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
15788fa73f2d6a2d803fae55680c85248ce4171f86fb4200000c02f8bd684ee6
BLAKE2b-256 checksum
How to use checksums
2f5ed1f4e75ec6884983c1ec9debb6cde4020c0fe8bc8c7f971b92a04e7da2e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for opendht 4.4.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page