Go to file
2018-03-04 22:03:09 -05:00
docs Merge https://github.com/jaraco/skeleton 2018-03-04 22:03:09 -05:00
wolframalpha Add tests for pmxbot command (and Result.results). 2016-09-04 11:41:18 -04:00
.flake8 Run flake8 with tests. Add flake8 config to ignore common exclusions. Add comments to testing and docs extras to aid with merges. 2018-03-03 13:36:28 -05:00
.readthedocs.yml Move requirements for docs and testing into extras 2017-04-21 12:40:43 -04:00
.travis.yml Merge https://github.com/jaraco/skeleton 2018-03-04 22:03:09 -05:00
appveyor.yml Save the pip cache across builds. Ref pypa/setuptools#1279. 2018-02-20 08:45:54 -05: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
LICENSE Add a license file. Fixes jaraco/skeleton#1. 2017-09-26 12:02:52 +01:00
pytest.ini Run flake8 with tests. Add flake8 config to ignore common exclusions. Add comments to testing and docs extras to aid with merges. 2018-03-03 13:36:28 -05:00
README.rst Merge https://github.com/jaraco/skeleton 2018-03-04 22:03:09 -05:00
setup.cfg reference the license file in metadata 2017-11-16 15:45:57 -05:00
setup.py Merge https://github.com/jaraco/skeleton 2018-03-04 22:03:09 -05:00
tox.ini Merge https://github.com/jaraco/skeleton 2018-03-04 22:03:09 -05: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/travis/jaraco/wolframalpha/master.svg
   :target: https://travis-ci.org/jaraco/wolframalpha

.. image:: https://readthedocs.org/projects/wolframalpha/badge/?version=latest
   :target: https://wolframalpha.readthedocs.io/en/latest/?badge=latest

Python Client built against the `Wolfram|Alpha <http://wolframalpha.com>`_
v2.0 API.

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.