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

Requirements

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:

Installation

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 setup.py install

You can also install the latest-development version by using pip or easy_install:

> pip install streamio==dev

or:

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

Changes

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.

Source Distribution

streamio-0.0.1.tar.gz (166.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streamio-0.0.1-py2.7.egg (27.7 kB view details)

Uploaded Egg

File details

Details for the file streamio-0.0.1.tar.gz.

File metadata

  • Download URL: streamio-0.0.1.tar.gz
  • Upload date:
  • Size: 166.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for streamio-0.0.1.tar.gz
Algorithm Hash digest
SHA256 506a7b3f5bc215c853f324c976cb0aa584079876bf34d0a49ffd76578ec1b5ad
MD5 80d8ad4f5a8aa7eada51a36a271fa817
BLAKE2b-256 b0a5d94a2350fff36355d9469a01e5be3f2f92f0af29da4cb972eb5c2dcdea58

See more details on using hashes here.

File details

Details for the file streamio-0.0.1-py2.7.egg.

File metadata

  • Download URL: streamio-0.0.1-py2.7.egg
  • Upload date:
  • Size: 27.7 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for streamio-0.0.1-py2.7.egg
Algorithm Hash digest
SHA256 d2f225690794b1fa9e9d96d485464b403d9d4eda004e57ade2a8273253d8cac2
MD5 248b811dac270eba5b8ad8186b39f6b2
BLAKE2b-256 ef836746d51a55eed5b69cb0860ba0ccb8abb3b5238fc0fcdbec454fafbafd30

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page