annotate README.md @ 41:13226cb44fb3 1.5.0

release 1.5.0
author drewp@bigasterisk.com
date Thu, 24 Nov 2022 20:40:44 -0800
parents 8d908762fe1e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
1 RDF graph that accepts patches and serves them over HTTP (with a SSE protocol).
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
2
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
3 Example:
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
4
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
5 ```
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
6 from patchablegraph import PatchableGraph
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
7
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
8 masterGraph = PatchableGraph()
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
9
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
10 ```
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
11
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
12 Then, you call `masterGraph.patch`, etc to edit the
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
13 graph. `rdfdb.grapheditapi.GraphEditApi` is mixed in, so you can
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
14 use
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
15 [higher-level functions](https://bigasterisk.com/darcs/?r=rdfdb;a=headblob;f=/rdfdb/grapheditapi.py) from
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
16 there, such as patchObject.
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
17
31
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
18 Web serving with starlette:
0
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
19
31
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
20 ```
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
21 from patchablegraph.handler import StaticGraph, GraphEvents
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
22
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
23 masterGraph = PatchableGraph()
0
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
24
31
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
25 app = Starlette(
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
26 routes=[
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
27 Route('/graph/environment', StaticGraph(masterGraph)),
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
28 Route('/graph/environment/events', GraphEvents(masterGraph)),
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
29 ...
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
30 ])
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
31
0
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
32 ```
c3f0a692c4cb move repo from homeauto/lib/
drewp@bigasterisk.com
parents:
diff changeset
33
31
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
34 * Versions 0.x.x used cyclone web and twisted.
8d908762fe1e rewrite for starlette
drewp@bigasterisk.com
parents: 0
diff changeset
35 * Versions 1.x.x use starlette and asyncio.