Skip to main content

reading, writing and sorting large files

Project description

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.

streamio currently has the following functionality available:

  • stream - read large files as an iterative stream.
  • jsonstream - read large files as a json stream where each line in the file is valid json.
  • csvstream - read large csv files as a stream interpreteing as csv.
  • csvdictstream - read large csv files as a stream interpreteing as csv and yielding dicts.
  • merge - take a list of ordered iterables and return a single ordered generator (similar to heapq.merge but with key support)
  • mergesort - given a large unsorted input file, split into chunks, sort and merge sort the result into an output file.
  • minmax - compute the min and max of a given iterable all at once
  • Visit the Project Website
  • Read the Docs
  • Download it from the Downloads Page
Latest PyPI version Number of PyPI downloads Build Status


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

Alternatively, you may download the source package from the PyPI Page or the Downloads page on the Project Website; extract it and install using:

> python 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.

Supported Platforms

  • Linux, FreeBSD, Mac OS X
  • Python 2.7
  • PyPy 2.2
Windows: We acknowledge that Windows exists and make reasonable efforts
to maintain compatibility. Unfortunately we cannot guarantee support at this time.


streamio 0.0.1 (2013-11-21)

  • Initial Public Release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for streamio, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size streamio-0.0.1-py2.7.egg (27.7 kB) File type Egg Python version 2.7 Upload date Hashes View hashes
Filename, size streamio-0.0.1.tar.gz (166.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page