f653d1e3a9
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. |
||
---|---|---|
docs | ||
wolframalpha | ||
.gitignore | ||
.hgtags | ||
.travis.yml | ||
CHANGES.rst | ||
conftest.py | ||
pytest.ini | ||
README.rst | ||
setup.cfg | ||
setup.py |
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.