/httpstream

HTTPStream is an HTTP client library for Python with an easy-to-use API and support for incremental JSON document retrieval.

Primary LanguagePythonApache License 2.0Apache-2.0

https://travis-ci.org/nigelsmall/httpstream.png?branch=master

HTTPStream

HTTPStream is an HTTP client library for Python that wraps the standard library HTTP client with a convenient resource-based interface and also provides support for incremental JSON document retrieval and RFC 6570 URI Templates.

Installation

HTTPStream is hosted on PyPI and so to install, simply use pip:

pip install httpstream

Quick Start

>>> from httpstream import get
>>> get("https://api.duckduckgo.com/?q=neo4j&format=json").content
{'Abstract': 'Neo4j is an open-source graph database, implemented in Java.',
 'AbstractSource': 'Wikipedia',
 'AbstractText': 'Neo4j is an open-source graph database, implemented in Java.',
 'AbstractURL': 'https://en.wikipedia.org/wiki/Neo4j',
 'Answer': '',
 'AnswerType': '',
 'Definition': '',
 'DefinitionSource': '',
 'DefinitionURL': '',
 'Heading': 'Neo4j',
 'Image': 'https://i.duckduckgo.com/i/4d74091a.jpg',
 'Redirect': '',
 'RelatedTopics': [{'FirstURL': 'http://duckduckgo.com/noSQL',
   'Icon': {'Height': '', 'URL': '', 'Width': ''},
   'Result': '<a href="http://duckduckgo.com/noSQL">Structured storage</a> - A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.',
   'Text': 'Structured storage - A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.'},
  {'FirstURL': 'http://duckduckgo.com/CODASYL',
   'Icon': {'Height': '', 'URL': '', 'Width': ''},
   'Result': '<a href="http://duckduckgo.com/CODASYL">CODASYL</a> - CODASYL (often spelled Codasyl) is an acronym for "Conference on Data Systems Languages".',
   'Text': 'CODASYL - CODASYL (often spelled Codasyl) is an acronym for "Conference on Data Systems Languages".'},
  {'FirstURL': 'http://duckduckgo.com/Cypher_Query_Language',
   'Icon': {'Height': '', 'URL': '', 'Width': ''},
   'Result': '<a href="http://duckduckgo.com/Cypher_Query_Language">Cypher Query Language</a>',
   'Text': 'Cypher Query Language'},
  {'FirstURL': 'http://duckduckgo.com/c/Software_companies_of_Sweden',
   'Icon': {'Height': '', 'URL': '', 'Width': ''},
   'Result': '<a href="http://duckduckgo.com/c/Software_companies_of_Sweden">Software companies of Sweden</a>',
   'Text': 'Software companies of Sweden'},
  {'FirstURL': 'http://duckduckgo.com/c/Structured_storage',
   'Icon': {'Height': '', 'URL': '', 'Width': ''},
   'Result': '<a href="http://duckduckgo.com/c/Structured_storage">Structured storage</a>',
   'Text': 'Structured storage'},
  {'FirstURL': 'http://duckduckgo.com/c/NoSQL',
   'Icon': {'Height': '', 'URL': '', 'Width': ''},
   'Result': '<a href="http://duckduckgo.com/c/NoSQL">NoSQL</a>',
   'Text': 'NoSQL'},
  {'FirstURL': 'http://duckduckgo.com/c/Free_software_programmed_in_Java',
   'Icon': {'Height': '', 'URL': '', 'Width': ''},
   'Result': '<a href="http://duckduckgo.com/c/Free_software_programmed_in_Java">Free software programmed in Java</a>',
   'Text': 'Free software programmed in Java'}],
 'Results': [{'FirstURL': 'http://neo4j.org',
   'Icon': {'Height': 16,
    'URL': 'https://i.duckduckgo.com/i/neo4j.org.ico',
    'Width': 16},
   'Result': '<a href="http://neo4j.org"><b>Official site</b></a><a href="http://neo4j.org"></a>',
   'Text': 'Official site'}],
 'Type': 'A'}

Full Documentation

For further information on how to use HTTPStream, go to http://nigelsmall.com/httpstream.