Olu

Olu is a JSON document store with automatic graph relationship tracking. When documents reference each other, the graph layer maintains edges automatically. RESTful API, dual storage backends, basic graph queries. Written in Go.

https://github.com/ha1tch/olu?tab=readme-ov-file

Apart from REST queries, it features an implementation of Sulpher, a small subset of Neo4js Cypher. Comes batteries included with an in-memory LRU cache, or configurable with an external Redis cache (Docker Compose-ready, just make docker-run)

Core CRUD and graph operations work. About half the planned API is implemented. Still early but functional for prototyping.

#olu #graph #graphdb #documentdb #foss #go

@haitchfive is there a link? It looks like it could be just what I need as a storage option for some of my projects.

@mariusor

Olu is still incomplete, but I can make a quick pre-release for you to assess its suitability.

Before Olu, more than a year ago I had worked on rserv. Olu is essentially the same rserv api, but re-implemented in Go for performance and some safety assurances.

rserv is api-complete, presented as a single-file, no frills python script.
https://github.com/ha1tch/rserv
It can be used for prototyping, but it's probably not practical beyond a few thousand entities.

Olu, when it's ready and whilst not a real full-blown database, should scale to millions of entities, more than enough for prototyping and small-to-medium scale production.

I'll send you a link later when I get some Github things sorted, if you don't mind.

GitHub - ha1tch/rserv: A lightweight REST prototyping server

A lightweight REST prototyping server. Contribute to ha1tch/rserv development by creating an account on GitHub.

GitHub
@haitchfive (@haitchfive@oldbytes.space)

# olu 0.7.0 pre-release Olu is a JSON document store with automatic graph relationship tracking. When documents reference each other, the graph layer maintains edges automatically. RESTful API, dual storage backends, basic graph queries. https://github.com/ha1tch/olu?tab=readme-ov-file Not api-complete yet, but you can use rserv to understand more how Olu will behave when it's feature-complete. https://github.com/ha1tch/rserv/blob/main/manual/rserv-manual_0.3.9-part3-basicgraph.md #golang #foss

OldBytes Space - Mastodon

@haitchfive ty. Don't worry on my account.

I'm looking for something that can be used as an in process library.

@mariusor No worries at all. In any case Olu is sufficiently well-designed that you might be able to use it without the REST api.