More sociomantic libraries and apps open-sourced!

Gavin via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Aug 9 03:59:20 PDT 2017


Over the past few months, we've been quietly open-sourcing a set 
of our core libraries and applications. We've held back on 
announcing them publicly as the repos form a chain, with one 
dependent on the last, so it didn't make much sense to announce 
them to the world until the complete chain was out there. We've 
now reached that point.

Here's what's new:

1. turtle (https://github.com/sociomantic-tsunami/turtle). Our 
utility library for implementing black-box application tests: 
spawns the tested application as a separate process in a 
temporary sandbox, then runs a set of auto-discovered test cases.

2. swarm (https://github.com/sociomantic-tsunami/swarm). The core 
client/server library which forms the foundation of our various 
distributed storage systems.

3. dhtproto (https://github.com/sociomantic-tsunami/dhtproto). 
Based on swarm, defines the protocol for our Distributed Hash 
Table database -- an in-memory database for quick-access, binary 
data. The repo also contains the DHT client and a set of tests 
(based on turtle) for a DHT server implementation.

4. dhtnode (https://github.com/sociomantic-tsunami/dhtnode). 
Based on dhtproto, this is the actual implementation of our DHT 
server.

5. dlsproto (https://github.com/sociomantic-tsunami/dlsproto). 
Based on swarm, defines the protocol for our Distributed Log 
Store database -- a disk-based database for batch-read, 
historical data. The repo also contains the DLS client and a set 
of tests (based on turtle) for a DLS server implementation.

6. dlsnode (https://github.com/sociomantic-tsunami/dlsnode). 
Based on dlsproto, this is the actual implementation of our DLS 
server.

These new repos are, of course, in addition to our ocean library 
-- https://github.com/sociomantic-tsunami/ocean/ -- which was 
open-sourced some time ago.

As with ocean, all of these repos are written in a subset of D2 
that's compatible with D1. When we've finished our migration to 
D2, D1 support in the libraries will be phased out.


More information about the Digitalmars-d-announce mailing list