Tools for convenient interface creation over various types of data in a declarative way.
The current stable release:
pip install pyanyapi
or:
easy_install pyanyapi
or from source:
$ sudo python setup.py install
The library provides an ability to create API over various content.
Currently there are bundled tools to work with HTML, XML, CSV, JSON and YAML.
Initially it was created to work with requests
library.
Basic parsers can be declared in the following way:
from pyanyapi.parsers import HTMLParser
class SimpleParser(HTMLParser):
settings = {'header': 'string(.//h1/text())'}
>>> api = SimpleParser().parse('<html><body><h1>Value</h1></body></html>')
>>> api.header
Value
You can view documentation online at:
Or you can look at the docs/ directory in the repository.
PyAnyAPI supports Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5, PyPy and partially PyPy3 and Jython.
Unfortunately lxml
doesn't support PyPy3 and Jython, so HTML & XML parsing is not supported on PyPy3 and Jython.