Latest release

hydrotoolbox license

hydrotoolbox – Quick Guide

The hydrotoolbox is a Python script for hydrologic calculations and analysis
or by function calls within Python. Uses pandas (
or numpy ( for any heavy lifting.


  • pandas – on Windows this is part scientific Python distributions like
    Python(x,y), Anaconda, or Enthought.
  • mando – command line parser


Should be as easy as running pip install hydrotoolbox
at any command line. Not sure on Windows whether this will bring
in pandas, but as mentioned above, if you start with scientific Python
distribution then you shouldn’t have a problem.

Usage – Command Line

Just run ‘hydrotoolbox –help’ to get a list of subcommands:

usage: hydrotoolbox [-h] [-v] {baseflow_sep,recession,about} ...

positional arguments:
    baseflow_sep        baseflow_sep subcommand
    recession           Recession coefficient.
    about               Display version number and system information.

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit

The default for all of the subcommands is to accept data from stdin (typically
a pipe). If a subcommand accepts an input file for an argument, you can use
“–input_ts=input_file_name.csv”, or to explicitly specify from stdin (the
default) “–input_ts=’-‘”.

For the subcommands that output data it is printed to the screen and you can
then redirect to a file.

Usage – API

You can use all of the command line subcommands as functions. The function
signature is identical to the command line subcommands. The return is always
a PANDAS DataFrame. Input can be a CSV or TAB separated file, or a PANDAS
DataFrame and is supplied to the function via the ‘input_ts’ keyword.

Simply import hydrotoolbox:

from hydrotoolbox import hydrotoolbox

# Then you could call the functions
ntsd = hydrotoolbox.baseflow_sep(method='broughton', input_ts='tests/test_fill_01.csv')


View Github