Skip to main content

Free yourself from silo API chaff and expose the sweet social data foodstuff inside in standard formats and protocols!

Project description

https://raw.github.com/snarfed/granary/master/static/granary_logo_128.png https://circleci.com/gh/snarfed/granary.svg?style=svg https://coveralls.io/repos/github/snarfed/granary/badge.svg?branch=master

Granary is a library and REST API that fetches and converts social network data between a wide variety of formats:

Try out the interactive demo and check out the docs.

License: This project is placed in the public domain.

Using

The library and REST API are both based on the OpenSocial Activity Streams service.

Let’s start with an example. This code using the library:

from granary import twitter
...
tw = twitter.Twitter(ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET)
tw.get_activities(group_id='@friends')

is equivalent to this HTTP GET request:

https://granary-demo.appspot.com/twitter/@me/@friends/@app/
  ?access_token_key=ACCESS_TOKEN_KEY&access_token_secret=ACCESS_TOKEN_SECRET

They return the authenticated user’s Twitter stream, ie tweets from the people they follow. Here’s the JSON output:

{
  "itemsPerPage": 10,
  "startIndex": 0,
  "totalResults": 12,
  "items": [{
      "verb": "post",
      "id": "tag:twitter.com,2013:374272979578150912",
      "url": "http://twitter.com/evanpro/status/374272979578150912",
      "content": "Getting stuff for barbecue tomorrow. No ribs left! Got some nice tenderloin though. (@ Metro Plus Famille Lemay) http://t.co/b2PLgiLJwP",
      "actor": {
      "username": "evanpro",
        "displayName": "Evan Prodromou",
        "description": "Prospector.",
        "url": "http://twitter.com/evanpro",
      },
      "object": {
        "tags": [{
            "url": "http://4sq.com/1cw5vf6",
            "startIndex": 113,
            "length": 22,
            "objectType": "article"
          }, "..."],
      },
    }, "..."]
  "..."
}

Check out the docs for more!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

granary-1.4.1.tar.gz (148.9 kB view details)

Uploaded Source

File details

Details for the file granary-1.4.1.tar.gz.

File metadata

  • Download URL: granary-1.4.1.tar.gz
  • Upload date:
  • Size: 148.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for granary-1.4.1.tar.gz
Algorithm Hash digest
SHA256 9f8de0122736d11e159d64a74540fdc40daba2503b6686878d5a242a470a7cc6
MD5 694a52d125ec3ed8d61ff743f16f64e9
BLAKE2b-256 fc8e6c91125e5e4fa507a9d1d07b8e04677c86abc02237e69f65676404fed816

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page