HTTP streaming toolbox with flow control.
Project description
TideHunter
HTTP streaming toolbox with flow control, written in Python.
Highlights
Stream data queue, state machine, and record counter based on Redis and redis-py.
Based on the solid cURL and PycURL.
OAuth support based on python-oauth2.
Installation
$ pip install tidehunter
Or to update:
$ pip install tidehunter --upgrade
Note: the package will install all Python dependencies for you. However you need to have Redis installed and running.
Usage
See demo.
Test (Unit Tests)
The tests are done through Travis-CI already.
However, running the full test within your local environment is just three lines, provided that you have Redis installed and running:
$ pip install -r requirements.txt
$ pip install -r test_requirements.txt
$ nosetests --with-coverage --cover-package=tidehunter
Documentation
Coming up very soon!
License
Copyright (c) 2013 Addictive Tech Corp., under The MIT License (MIT). See the full LICENSE.
CHANGES
0.1.5b (2013-07-22)
NEW:
Hunter.tide_on()
now accepts an optionallimit
parameter for on-the-fly limit adjustment. The adjustment is not permanent, meaning if you want to reuse the sameHunter
object, the old limit (or default None) is in effect. Seedemo/limit_on_the_fly.py
for sample usage.[Major]: Fixed a potential issue of
Hunter
puts in more records than desired limit.[Minor]: Added temp Basic Auth test case (no stream, need to find a better source).
0.1.3 (2013-07-13)
[Major]: use the great httpbin.org (by Kenneth Reitz) for unit test now.
[Major]: auth (oauth or basic) is no longer required, as long as the target stream server supports access without auth.
0.1.2 (2013-07-12)
[Minor]: include CHANGES (changelog) to be shown on PyPi.
[Minor]: use with statement to open files for setup.py.
[Minor]: added the first demo.
0.1.1 (2013-07-12)
[Minor]: clean up setup.py to ensure requirements are installed/updated.
0.1.0 (2013-07-12)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.