Django Activity Stream is a module to generate JSON feeds of activities such as "justquick (actor) closed (verb) issue 2 (object) on django-activity-stream (target) 12 hours ago" in Activity Streams format.
Here is a simple, minimal example of a JSON serialized activity:
{
"published": "2011-02-10T15:04:55Z",
"actor": {
"url": "http://example.org/martin",
"objectType" : "person",
"id": "tag:example.org,2011:martin",
"image": {
"url": "http://example.org/martin/image",
"width": 250,
"height": 250
},
"displayName": "Martin Smith"
},
"verb": "post",
"object" : {
"url": "http://example.org/blog/2011/02/entry",
"id": "tag:example.org,2011:abc123/xyz"
},
"target" : {
"url": "http://example.org/blog/",
"objectType": "blog",
"id": "tag:example.org,2011:abc123",
"displayName": "Martin's Blog"
}
}
A single activity consists of an actor
(required), a verb
(required), an an object
(optional), and a target
(optional). In Django Activity Stream each of those noun components might be any properly registered Django Model.
There are some pre-defined streams such as User streams (what the given user did) or Target streams (what happened to the given target) and you can create your own custom ones.
GitHub with the source is located at https://github.com/justquick/django-activity-stream and official documentation is at http://django-activity-stream.readthedocs.io/en/latest/