reading, writing and sorting large files
streamio is a simple library of functions designed to read, write and sort large files using iterators so that the operations will successfully complete on systems with limited RAM. This library has been used extensively at Griffith University whilst developing the TerraNova Climate Change and Adaptation Visualization tool(s) and processing large volumes of data. streamio is written in Python and has extensive documentation and unit tests with 100% coverage.
See the API for a list of the available functions.
Read a large text file iteratively:
from streamio import stream f = stream("large_file.txt")
Read a large CSV file iteratively:
from streamio import jsonstream f = stream("large_file.json")
Merge-sort a large JSON file with the key itemgetter("value"):
from operator import itemgetter from streamio import mergesort f = mergesort("large_file.json", key=itemgetter("value"))
streamio also comes with documentation and a full comprehensive unit test suite which require the following:
To build the docs:
To run the unit tests:
The simplest and recommended way to install streamio is with pip. You may install the latest stable release from PyPI with pip:
> pip install streamio
If you do not have pip, you may use easy_install:
> easy_install streamio
> python setup.py install
You can also install the latest-development version by using pip or easy_install:
> pip install streamio==dev
> easy_install streamio==dev
For further information see the streamio documentation.
Linux, FreeBSD, Mac OS X
- Windows: We acknowledge that Windows exists and make reasonable efforts
to maintain compatibility. Unfortunately we cannot guarantee support at this time.
streamio 0.0.9 (2014-02-27)
Bumped py 1.4.19 -> 1.4.20
streamio 0.0.8 (2014-02-13)
Fixed Unicode support for csvstream adding unicodecsv as a new dependency.
streamio 0.0.7 (2014-01-29)
Forgot to include required README.rst and CHANGES.rst
streamio 0.0.6 (2014-01-29)
Don’t include fabfile and tests (for now) in the resulting egg
Make mergesort show progress optionally via progress=True
streamio 0.0.5 (2014-01-16)
Added encoding parameter support to *stream() function(s).
streamio 0.0.4 (2013-11-22)
Added streamio.stream.compress function for compressing an iterable using zlib compression.
Loosended requirements on py and progress
streamio 0.0.3 (2013-11-21)
Fixed broken link to the API Docs.
streamio 0.0.2 (2013-11-21)
Added some examples
Fixed a few typos
streamio 0.0.1 (2013-11-21)
Initial Public Release
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.