by itchio

itchio / wharf

:satellite: A protocol to quickly transfer software builds (reference Go implementation)

137 Stars 10 Forks Last release: Not found MIT License 599 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


Build Status build status codecov Go Report Card GoDoc MIT licensed

wharf is a protocol for incrementally transferring software builds over the network using minimal time/bandwidth.

It is used in production at https://itch.io to allow creators to quickly iterate & players to keep their library always up-to-date.

This repository contains the reference golang implementation of the wharf protocol, along with the reference protobuf definition files.

The complete spec is available online, as a book:

And can be contributed to via its GitHub repository:

See also

butler is the https://itch.io command-line tool and is a wharf client. It's the easiest way to try out wharf without having to code anything yourself.

Hacking on wharf

wharf is a pretty typical golang project, all its dependencies are open-source, it even has a few tests.

Regenerating protobuf code

protoc --go_out=. pwr/*.proto

protobuf v3 is required, as we use the 'proto3' syntax.


(containers) and
packages work similarly.


Licensed under MIT License, see

for details.

Contains modified code from the following projects:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.