Go to file
2016-09-04 11:41:18 -04:00
docs Merge with latest skeleton 2016-04-29 10:06:30 -04:00
wolframalpha Add tests for pmxbot command (and Result.results). 2016-09-04 11:41:18 -04:00
.gitignore Add gitignore. Make .hgignore empty - there's nothing here that's project specific. 2016-01-01 08:30:19 -05:00
.travis.yml Merge with skeleton 2016-09-03 16:09:11 -04:00
CHANGES.rst Return iterables throughout for consistency. 2016-09-03 14:59:58 -04:00
conftest.py Add tests for pmxbot command (and Result.results). 2016-09-04 11:41:18 -04:00
pytest.ini Generate project skeleton 2015-12-19 22:29:56 -05:00
README.rst Merge with skeleton 2016-09-03 16:09:11 -04:00
setup.cfg Update release process to use warehouse rather than legacy PyPI. Ref pypa/warehouse#1422. 2016-08-09 09:50:49 -04:00
setup.py Re-use always_iterable 2016-09-03 15:23:08 -04:00

.. image:: https://img.shields.io/pypi/v/wolframalpha.svg
   :target: https://pypi.org/project/wolframalpha

.. image:: https://img.shields.io/pypi/pyversions/wolframalpha.svg

.. image:: https://img.shields.io/pypi/dm/wolframalpha.svg

.. image:: https://img.shields.io/travis/jaraco/wolframalpha/master.svg
   :target: http://travis-ci.org/jaraco/wolframalpha

Python Client built against the `Wolfram|Alpha <http://wolframalpha.com>`_
v2.0 API. This project is hosted on `Github
<https://github.com/jaraco/wolframalpha>`_.

Usage
=====

Basic usage is pretty simple. Create the client with your App ID (request from
Wolfram Alpha)::

    import wolframalpha
    client = wolframalpha.Client(app_id)

Then, you can send queries, which return Result 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:
        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.text)

You may also query for simply the pods which have 'Result' titles or are
marked as 'primary' using ``Result.results``::

    print(next(res.results).text)

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).

For more information, read the source.