Latest Version: 0.4.2

wq.io on GitHub

wq.io is a collection of Python libraries for consuming (input) and generating (output) external data resources in various formats. It thereby facilitates interoperability between the wq framework and other systems and formats.

Getting Started

pip install wq.io
# Or, if using together with wq.app and/or wq.db
pip install wq
# To use wq.io's GIS capabilities also install Shapely and Fiona
pip install shapely fiona

See the documentation for more information.


The basic idea behind wq.io is to avoid having to remember the unique usage of e.g. csv, xlrd, or lxml every time one needs to work with an external dataset. Instead, wq.io abstracts these libraries into a consistent interface that works as an iterable of namedtuples. The field names for a dataset are automatically determined from the source file, e.g. the column headers in an Excel spreadsheet.

from wq.io import load_file
data = load_file('example.xls')
for row in data:
    print row.name, row.date

When fiona and shapely are available, wq.io can also open and create shapefiles and other OGR-compatible geographic data formats.

from wq.io import ShapeIO
data = ShapeIO(filename='sites.shp')
for id, site in data.items():
    print id, site.geometry.wkt

It is straightforward to extend wq.io by subclassing existing functionality with custom implementations.