--- layout: post title: Datpy, the punk-to-punk protocol in Python description: A new Python implementation of the Dat protocol is cooking at Autonomic image: 2020-04-23-dat-protocol.png category: technology, peer-to-peer, dat-protocol date: 2020-04-23 --- # Datpy, the punk-to-punk protocol in Python We're quite excited by thew 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 technologies such as [Cabal] is the [Dat protocol], which is a way of describing how two computers can send information to each other directly. The protocol is supported by the [Dat Foundation] and developed as a community based standard. Today, the reference implementation for the Dat 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 [Dat Rust] and [C++ Dat] emerge. Alongside these efforts, a member of Autonomic has begun to work on [Datpy], a Python based implementation of the Dat 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. You can find out more information on [datpy.decentral1.se](https://datpy.decentral1.se/) and please feel more than welcome to join in and participate on the project if you have time and energy for it. [scuttlebutt]: https://scuttlebutt.nz/ [cabal]: https://cabal.chat/ [mapeo]: https://www.digital-democracy.org/mapeo/ [beaker browser]: https://beakerbrowser.com/ [dat protocol]: https://dat.foundation/ [dat foundation]: https://dat.foundation/about/foundation/ [philosophy of modularity]: https://mafinto.sh/blog/pragmatic-modularity.html [dat rust]: https://github.com/datrs/ [c++ dat]: https://datcxx.github.io/ [datpy]: https://datpy.decentral1.se/