Hyperpy, the punk-to-punk protocol in Python

some smiling hexagons and a generic example hash link

We’re quite excited by the new wave of community-developed peer-to-peer technology. Scuttlebutt, Cabal, Mapeo and Beaker browser are inspiring examples of software which show that technology can be built to operate without running on centralised commercially-owned infrastructure (e.g. WhatsApp).

One of the underlying innovations for these technologies is the Hypercore protocol, which is a way of describing how two computers can send information to each other directly.

Today, the reference implementation of the Hypercore protocol is written in Javascript. The Javascript ecosystem has proved to be remarkably flexible for advancing this next generation of tools. Simple methods of publishing (npm publish), well-established distribution channels (the browser) and a philosophy of modularity have enabled so many to get started with building peer-to-peer technology.

However, there is a great need for other languages and ecosystems to benefit from the tools and concepts that are being developed based on the reference implementation. People from all walks of life need a working implementation in their preferred language of choice. In response to this, we are seeing projects like Datrs and Datcxx emerge (please note, the Hypercore protocol was once called the Dat protocol, see this blog post for more information).

Alongside these efforts, a member of Autonomic has begun to work on Hyperpy, a Python-based implementation of the Hypercore protocol. The project proposes a roadmap but offers no deadlines and receives no funding at current status.

However slowly, things are moving along. Further progress updates will be posted on this blog as they come in. All development is taking place on git.autonomic.zone/hyperpy.