Metadata-Version: 2.4
Name: swmmtoolbox
Version: 4.1.0
Summary: Command line script and Python library to read Storm Water Management Model binary output.
Author-email: Tim Cera <tim@cerazone.net>
License: BSD-3-Clause
Project-URL: bitbucket, https://bitbucket.org/timcera/swmmtoolbox/src/main/
Project-URL: documentation, https://timcera.bitbucket.io/swmmtoolbox/docs/index.html#swmmtoolbox-documentation
Project-URL: github, https://github.com/timcera/swmmtoolbox
Keywords: cli-app,hydrograph,hydrology,model,simulation,stormwater,swmm,time-series
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
Requires-Dist: cltoolbox>=1.0.0
Requires-Dist: dateparser
Requires-Dist: numpy
Requires-Dist: openpyxl
Requires-Dist: pandas[excel]
Requires-Dist: pint!=0.21.*
Requires-Dist: pint-pandas
Requires-Dist: pydantic
Requires-Dist: scipy
Requires-Dist: tabulate
Dynamic: license-file

.. image:: https://github.com/timcera/swmmtoolbox/actions/workflows/pypi-package.yml/badge.svg
    :alt: Tests
    :target: https://github.com/timcera/swmmtoolbox/actions/workflows/pypi-package.yml
    :height: 20

.. image:: https://img.shields.io/coveralls/github/timcera/swmmtoolbox
    :alt: Test Coverage
    :target: https://coveralls.io/r/timcera/swmmtoolbox?branch=master
    :height: 20

.. image:: https://img.shields.io/pypi/v/swmmtoolbox.svg
    :alt: Latest release
    :target: https://pypi.python.org/pypi/swmmtoolbox/
    :height: 20

.. image:: https://img.shields.io/pypi/l/swmmtoolbox.svg
    :alt: BSD-3 clause license
    :target: https://pypi.python.org/pypi/swmmtoolbox/
    :height: 20

.. image:: https://img.shields.io/pypi/pyversions/swmmtoolbox
    :alt: PyPI - Python Version
    :target: https://pypi.org/project/swmmtoolbox/
    :height: 20

swmmtoolbox - Overview
----------------------
The swmmtoolbox is a Python script to read the Storm Water Management Model
(SWMM) version 5 binary output files.

Requirements
============
Python - of course, version 3.7+.

Installation
============
The swmmtoolbox is available via pip or conda.

pip
~~~
.. code-block:: bash

    pip install swmmtoolbox

conda
~~~~~
.. code-block:: bash

    conda install -c conda-forge swmmtoolbox

Usage
-----

Command Line
============
Just run 'swmmtoolbox --help' to get a list of subcommands and options::

    usage: swmmtoolbox [-h]
                       {about,catalog,extract,listdetail,listvariables,stdtoswmm5}
                       ...

    positional arguments:
      {about,catalog,extract,listdetail,listvariables,stdtoswmm5}
        about               Display version number and system information.
        catalog             List the catalog of objects in output file.
        extract             Get the time series data for a particular object and
                            variable.
        listdetail          List nodes and metadata in output file.
        listvariables       List variables available for each type.
        stdtoswmm5          Take the toolbox standard format and return SWMM5
                            format.

    options:
      -h, --help            show this help message and exit

Python API
==========
Simply import swmmtoolbox::

    import swmmtoolbox

    ntsd = swmmtoolbox.extract("tests/frutal.out", "node,45,Hydraulic_head")
