Go to file
Zenohm f653d1e3a9 Consistency matters.
Redesign how information is stored and accessed. This way code can be written once. A developer using this API should not have to build contingencies just because Wolfram Alpha changes its output. The API should handle that.
These changes move the parsing of the tree out of the Wolfram API's returned XML and into Python dictionaries. This allows the full suite of tools that work with Python dictionaries to be used as well as simplifying and unifying how the responses should be handled.
In addition, I have added consistencies in certain areas that allow information to be accessed in one, unified way; regardless of how it would otherwise have been formatted by the library.
With this I want to encourage simplicity. You shouldn't have to look back through the code to figure out exactly what is being iterated over when someone decided to write iter(self) instead of simply iter(self.pods).
Also moved the Client class to the top of the file where it can be immediately seen.
2016-05-14 17:24:48 -04:00
docs Merge with latest skeleton 2016-04-29 10:06:30 -04:00
wolframalpha Consistency matters. 2016-05-14 17:24:48 -04:00
.gitignore Add gitignore. Make .hgignore empty - there's nothing here that's project specific. 2016-01-01 08:30:19 -05:00
.hgtags Added tag 2.4 for changeset 877f5698c7e7 2016-04-29 10:35:06 -04:00
.travis.yml Add password for deployment 2016-04-29 10:12:34 -04:00
CHANGES.rst Update changelog 2016-04-29 10:07:21 -04:00
conftest.py Bypass tests on Python 2.7 when pmxbot is involved. 2015-12-11 12:35:36 -05:00
pytest.ini Update project skeleton 2015-11-24 20:10:37 -05:00
README.rst Replace latent Bitbucket reference. 2016-04-29 10:48:12 -04:00
setup.cfg Learning from lessons in the keyring 8.4 release (https://github.com/jaraco/keyring/issues/210), always clean the build artifacts before cutting a release. 2016-02-15 04:59:44 -05:00
setup.py Fix package name and description 2016-04-29 10:31:36 -04:00

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>`_.

Installation
============

This library is released to PyPI, so the easiest way to install it is to use
easy_install::

    easy_install wolframalpha

or pip::

    pip install wolframalpha

If you don't have these tools or you prefer not to use setuptools, you may
also simply extract the 'wolframalpha' directory an appropriate location in
your Python path.

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` attribute (a Pod is an answer from Wolfram Alpha)::

    for pod in res.pods:
        do_something_with(pod)

You may also query for simply the pods which have 'Result' titles::

    print(next(res.results).text)

For more information, read the source.