Welcome to wolframalpha documentation!¶
- class wolframalpha.Client(app_id)¶
Wolfram|Alpha v2.0 client
Basic usage is pretty simple. Get your App ID at https://products.wolframalpha.com/api/. Create the client with your App ID:
>>> app_id = getfixture('API_key') >>> client = Client(app_id)
Send a query, which returns Results objects:
>>> res = client.query('temperature in Washington, DC on October 3, 2012')
Result objects have pods (a Pod is an answer group from Wolfram Alpha):
>>> for pod in res.pods: ... pass # do_something_with(pod)
Pod objects have
subpods(a Subpod is a specific response with the plaintext reply and some additional info):
>>> for pod in res.pods: ... for sub in pod.subpods: ... print(sub.plaintext) temperature | Washington, District of Columbia Wednesday, October 3, 2012 (70 to 81) °F (average: 75 °F) ...
To query simply for the pods that have ‘Result’ titles or are marked as ‘primary’ using
>>> print(next(res.results).text) (70 to 81) °F (average: 75 °F) (Wednesday, October 3, 2012)
All objects returned are dictionary subclasses, so to find out which attributes Wolfram|Alpha has supplied, simply invoke
.keys()on the object. Attributes formed from XML attributes can be accessed with or without their “@” prefix (added by xmltodict).
- classmethod from_env()¶
Create a client with a key discovered from the keyring or environment variable. Raises an exception if no key is found.
- query(input, params=(), **kwargs)¶
Query Wolfram|Alpha using the v2.0 API
Allows for arbitrary parameters to be passed in the query. For example, to pass assumptions:
>>> client = Client(getfixture('API_key')) >>> res = client.query(input='pi', assumption='*C.pi-_*NamedConstant-')
To pass multiple assumptions, pass multiple items as params:
>>> params = ( ... ('assumption', '*C.pi-_*NamedConstant-'), ... ('assumption', 'DateOrder_**Day.Month.Year--'), ... ) >>> res = client.query(input='pi', params=params)
For more details on Assumptions, see https://products.wolframalpha.com/api/documentation.html#6
- class wolframalpha.Document¶
- classmethod make(path, key, value)¶
- class wolframalpha.Image¶
Holds information about an image included with an answer.
- key = 'img'¶
- class wolframalpha.Pod(*args, **kwargs)¶
Groups answers and information contextualizing those answers.
- property primary¶
- property text¶
- property texts¶
The text from each subpod in this pod as a list.
- class wolframalpha.Result(*args, **kwargs)¶
Handles processing the response for the programmer.
- property details¶
A simplified set of answer text by title.
- property info¶
The pods, assumptions, and warnings of this result.
- key = 'queryresult'¶
- property results¶
The pods that hold the response to a simple, discrete query.
- class wolframalpha.Subpod¶
Holds a specific answer or additional information relevant to said answer.
>>> xml_bool('true') True >>> xml_bool('false') False