59 lines
2.7 KiB
Markdown
59 lines
2.7 KiB
Markdown
---
|
|
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 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 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 in the project if you have the time and
|
|
energy for it.
|
|
|
|
All development is taking place on [git.autonomic.zone/datpy].
|
|
|
|
[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/
|
|
[git.autonomic.zone/datpy]: https://git.autonomic.zone
|