{"id":1013,"name":"pipedream","description":"Interactive hydrodynamic solver for sewer/stormwater networks.","url":"https://github.com/mdbartos/pipedream","last_synced_at":"2026-04-06T22:00:21.696Z","repository":{"id":37789939,"uuid":"177349636","full_name":"mdbartos/pipedream","owner":"mdbartos","description":"🚰  Interactive hydrodynamic solver for pipe and channel networks","archived":false,"fork":false,"pushed_at":"2026-01-06T06:45:24.000Z","size":22936,"stargazers_count":92,"open_issues_count":36,"forks_count":20,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-03-28T00:43:05.573Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mdbartos.github.io/pipedream","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdbartos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-03-23T23:14:13.000Z","updated_at":"2025-12-26T03:05:09.000Z","dependencies_parsed_at":"2024-01-12T04:55:33.354Z","dependency_job_id":"77b9ac48-8ad3-49ef-a801-6cfcb88bfcec","html_url":"https://github.com/mdbartos/pipedream","commit_stats":{"total_commits":394,"total_committers":3,"mean_commits":"131.33333333333334","dds":"0.21065989847715738","last_synced_commit":"b9fb759f82c7b97c1ef6235a419ab8eecde2f963"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/mdbartos/pipedream","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdbartos","download_url":"https://codeload.github.com/mdbartos/pipedream/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31156648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-29T17:31:56.304Z","status":"ssl_error","status_checked_at":"2026-03-29T17:31:41.973Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"mdbartos","name":"Matt Bartos","uuid":"8175317","kind":"user","description":"Assistant Professor of Civil Engineering at UT Austin","email":"","website":"future-water.github.io","location":"Austin, TX","twitter":null,"company":"@future-water, @ESIPFed ","icon_url":"https://avatars.githubusercontent.com/u/8175317?u=b970ca0496ab3a237fa1346deb7762e0365835b3\u0026v=4","repositories_count":33,"last_synced_at":"2024-06-11T15:38:40.608Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/mdbartos","funding_links":[],"total_stars":819,"followers":254,"following":65,"created_at":"2022-11-08T22:57:34.990Z","updated_at":"2024-06-11T15:38:43.657Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdbartos","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdbartos/repositories"},"packages":[{"id":2852521,"name":"pipedream-solver","ecosystem":"pypi","description":"🚰 Interactive hydrodynamic solver for pipe and channel networks","homepage":"https://mdbartos.github.io/pipedream","licenses":"gpl-3.0","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/mdbartos/pipedream","keywords_array":[],"namespace":null,"versions_count":5,"first_release_published_at":"2020-10-12T15:56:48.000Z","latest_release_published_at":"2023-07-09T17:32:29.000Z","latest_release_number":"0.2.2","last_synced_at":"2026-04-04T21:00:37.065Z","created_at":"2022-04-10T12:03:17.558Z","updated_at":"2026-04-04T21:00:37.065Z","registry_url":"https://pypi.org/project/pipedream-solver/","install_command":"pip install pipedream-solver --index-url https://pypi.org/simple","documentation_url":"https://pipedream-solver.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":[],"normalized_name":"pipedream-solver","project_status":null},"repo_metadata":{"id":37789939,"uuid":"177349636","full_name":"mdbartos/pipedream","owner":"mdbartos","description":"🚰  Interactive hydrodynamic solver for pipe and channel networks","archived":false,"fork":false,"pushed_at":"2024-08-15T04:04:49.000Z","size":23024,"stargazers_count":76,"open_issues_count":36,"forks_count":18,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-29T22:29:24.545Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mdbartos.github.io/pipedream","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdbartos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-23T23:14:13.000Z","updated_at":"2024-10-19T08:46:15.000Z","dependencies_parsed_at":"2024-01-12T04:55:33.354Z","dependency_job_id":"d52c67e9-8a14-4870-8edd-79c8a12fe858","html_url":"https://github.com/mdbartos/pipedream","commit_stats":{"total_commits":394,"total_committers":3,"mean_commits":"131.33333333333334","dds":"0.21065989847715738","last_synced_commit":"b9fb759f82c7b97c1ef6235a419ab8eecde2f963"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdbartos","download_url":"https://codeload.github.com/mdbartos/pipedream/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155692,"owners_count":16940391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"mdbartos","name":"Matt Bartos","uuid":"8175317","kind":"user","description":"Assistant Professor of Civil Engineering at UT Austin","email":"","website":"future-water.github.io","location":"Austin, TX","twitter":null,"company":"@future-water, @ESIPFed ","icon_url":"https://avatars.githubusercontent.com/u/8175317?u=b970ca0496ab3a237fa1346deb7762e0365835b3\u0026v=4","repositories_count":33,"last_synced_at":"2024-06-11T15:38:40.608Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/mdbartos","funding_links":[],"total_stars":819,"followers":254,"following":65,"created_at":"2022-11-08T22:57:34.990Z","updated_at":"2024-06-11T15:38:43.657Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdbartos","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdbartos/repositories"},"tags":[{"name":"0.2.2","sha":"0fc0159c4d21ec531d55b6cbedaa55ddc2e85ff5","kind":"commit","published_at":"2023-07-09T17:25:47.000Z","download_url":"https://codeload.github.com/mdbartos/pipedream/tar.gz/0.2.2","html_url":"https://github.com/mdbartos/pipedream/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"3b41a29fbcbb2458d672cccd7792bcc0a6b1c0cb","kind":"commit","published_at":"2023-07-09T17:08:24.000Z","download_url":"https://codeload.github.com/mdbartos/pipedream/tar.gz/0.2.1","html_url":"https://github.com/mdbartos/pipedream/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/tags/0.2.1/manifests"},{"name":"0.1","sha":"88612bbbe274c5effdd0f04f5ee3477a29b61b7b","kind":"commit","published_at":"2020-07-17T19:03:12.000Z","download_url":"https://codeload.github.com/mdbartos/pipedream/tar.gz/0.1","html_url":"https://github.com/mdbartos/pipedream/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:58:43.795Z","dependent_packages_count":0,"downloads":42,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":32.38928142809876,"dependent_repos_count":22.087784936889527,"dependent_packages_count":7.31012528119255,"stargazers_count":8.866600624141023,"forks_count":9.370233976862702,"docker_downloads_count":null,"average":16.004805249436913},"purl":"pkg:pypi/pipedream-solver","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pipedream-solver","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pipedream-solver","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pipedream-solver/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:00:25.999Z","issues_count":46,"pull_requests_count":26,"avg_time_to_close_issue":18420069.416666668,"avg_time_to_close_pull_request":5407570.125,"issues_closed_count":12,"pull_requests_closed_count":24,"pull_request_authors_count":4,"issue_authors_count":6,"avg_comments_per_issue":0.34782608695652173,"avg_comments_per_pull_request":0.4230769230769231,"merged_pull_requests_count":22,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":794169.5,"past_year_avg_time_to_close_pull_request":116932.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.6666666666666666,"past_year_avg_comments_per_pull_request":1.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/issues","maintainers":[{"login":"mdbartos","count":60,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mdbartos"}],"active_maintainers":[{"login":"mdbartos","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mdbartos"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pipedream-solver/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pipedream-solver/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pipedream-solver/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pipedream-solver/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pipedream-solver/codemeta","maintainers":[{"uuid":"mdbartos","login":"mdbartos","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/mdbartos/","role":null,"created_at":"2023-02-25T00:44:58.105Z","updated_at":"2023-02-25T00:44:58.105Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/mdbartos/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":833440,"maintainers_count":355816,"namespaces_count":0,"keywords_count":270194,"github":"pypi","metadata":{"funded_packages_count":53084},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-05T05:05:39.368Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":629253,"full_name":"mdbartos/pipedream","default_branch":"master","total_commits":394,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":131.33333333333334,"dds":0.21065989847715738,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-04T21:00:42.575Z","last_synced_commit":"b9fb759f82c7b97c1ef6235a419ab8eecde2f963","created_at":"2023-03-09T08:18:05.863Z","updated_at":"2026-04-04T21:00:28.284Z","committers":[{"name":"Matt Bartos","email":"mdbartos@umich.edu","login":"mdbartos","count":311},{"name":"minsky97","email":"91635752+minsky97","login":"minsky97","count":46},{"name":"Jeil Oh","email":"85962544+jeiloh","login":"jeiloh","count":37}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-06T00:00:08.903Z","repositories_count":6211308,"commits_count":920785377,"contributors_count":35664972,"owners_count":1143052,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"mdbartos/pipedream","html_url":"https://github.com/mdbartos/pipedream","last_synced_at":"2026-02-18T23:00:25.737Z","status":"error","issues_count":46,"pull_requests_count":29,"avg_time_to_close_issue":18420069.416666668,"avg_time_to_close_pull_request":7238751.8,"issues_closed_count":12,"pull_requests_closed_count":25,"pull_request_authors_count":4,"issue_authors_count":6,"avg_comments_per_issue":0.34782608695652173,"avg_comments_per_pull_request":0.3793103448275862,"merged_pull_requests_count":23,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:39:15.359Z","updated_at":"2026-02-18T23:00:25.737Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbartos%2Fpipedream/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"OWNER":41,"NONE":5},"pull_request_author_associations_count":{"OWNER":21,"CONTRIBUTOR":5,"NONE":3},"issue_authors":{"mdbartos":41,"Stickman984":1,"michaeltryby":1,"meghnathomas":1,"schoeller":1,"tianyongsen":1},"pull_request_authors":{"mdbartos":21,"meghnathomas":3,"minsky97":3,"jeiloh":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-04T00:00:10.542Z","repositories_count":14076817,"issues_count":34470844,"pull_requests_count":112511861,"authors_count":11224928,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"mdbartos","count":62,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mdbartos"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":1,"WatchEvent":11,"PushEvent":14},"last_year":{"WatchEvent":4,"PushEvent":10}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-06-23T20:58:14.195Z","updated_at":"2022-06-23T20:58:14.195Z","repository_link":"https://github.com/mdbartos/pipedream/blob/master/setup.py","dependencies":[{"id":25394944,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25394945,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25394946,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25394947,"package_name":"numba","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25394948,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/python-publish.yml","sha":null,"kind":"manifest","created_at":"2023-09-21T19:46:16.278Z","updated_at":"2023-09-21T19:46:16.278Z","repository_link":"https://github.com/mdbartos/pipedream/blob/master/.github/workflows/python-publish.yml","dependencies":[{"id":13856882516,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13856882517,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13856882518,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"27b31702a0e7fc50959f5ad993c78deac1bdfc29","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-09-21T19:46:17.291Z","updated_at":"2023-09-21T19:46:17.291Z","repository_link":"https://github.com/mdbartos/pipedream/blob/master/requirements.txt","dependencies":[]}],"score":9.734832186505988,"created_at":"2023-09-11T11:54:36.656Z","updated_at":"2026-04-06T22:00:21.707Z","avatar_url":"https://github.com/mdbartos.png","language":"Python","category":"Natural Resources","sub_category":"Water Supply and Quality","monthly_downloads":42,"total_dependent_repos":1,"total_dependent_packages":0,"readme":"# pipedream \u003csub\u003e🚰\u003c/sub\u003e \u003csup\u003e💭\u003c/sup\u003e\n[![Build Status](https://travis-ci.org/mdbartos/pipedream.svg?branch=master)](https://travis-ci.org/mdbartos/pipedream) [![Coverage Status](https://coveralls.io/repos/github/mdbartos/pipedream/badge.svg?branch=master)](https://coveralls.io/github/mdbartos/pipedream?branch=master) [![Python 3.7](https://img.shields.io/badge/python-3.7-blue.svg)](https://www.python.org/downloads/release/python-370/) [![Docs](https://img.shields.io/badge/docs-read%20here-ff69b4)](https://mdbartos.github.io/pipedream/) [![Paper](https://img.shields.io/badge/doi-10.1016%2Fj.envsoft.2021.105120-orange)](https://www.sciencedirect.com/science/article/pii/S1364815221001638)\n\nAn interactive hydrodynamic solver for sewer/stormwater networks.\n\n## About\n\n*Pipedream* is a physically-based sewer/stormwater model designed for real-time applications. The *pipedream* toolkit consists of four major components:\n\n- A *hydraulic solver* based on the 1D Saint-Venant equations.\n- An *infiltration solver* based on the Green-Ampt formulation.\n- A *water quality solver* based on the 1D advection-reaction-diffusion equation (experimental).\n- An *interactive simulation manager* that facilitates real-time data assimilation and control.\n\nExample use-cases for *pipedream* include:\n- Real-time detection and forecasting of urban flooding.\n- Implementation of real-time control strategies for combined sewer overflows.\n- Stormwater asset management and detection of maintenance emergencies.\n- Data-driven water quality assessment.\n\n## Documentation\n\n- Read the docs [here 📖](https://mdbartos.github.io/pipedream/).\n\n- Read the paper [here 📄](https://www.sciencedirect.com/science/article/pii/S1364815221001638).\n\n## Installation\n\nUse `pip` to install `pipedream-solver` via pypi:\n\n```shell\n$ pip install pipedream-solver\n```\n\nCurrently, only Python 3 is supported.\n\n### Dependencies\n\nThe following dependencies are required to install and use the *pipedream* toolkit:\n\n- [numpy](http://www.numpy.org/) (\u003e= 1.18)\n- [pandas](https://pandas.pydata.org/) (\u003e= 0.25)\n- [scipy](https://www.scipy.org/) (\u003e= 1.5)\n- [numba](https://numba.pydata.org/) (\u003e= 0.40)\n- [matplotlib](https://matplotlib.org/) (\u003e= 3.0)\n\nListed version numbers have been tested and are known to work (this does not necessarily preclude older versions).\n\n## A Minimal Example\n\n\u003cimg src=\"https://s3.us-east-2.amazonaws.com/mdbartos-img/superlink/example_network_ji.png\" width=\"700\"\u003e\n\n### Import modules and load data\n\n```python\n# Import modules\nimport pandas as pd\nfrom pipedream_solver.hydraulics import SuperLink\nfrom pipedream_solver.simulation import Simulation\n\n# Specify data path\ninput_path = './data/six_pipes'\n\n# Get model components\nsuperjunctions = pd.read_csv(f'{input_path}/superjunctions.csv')\nsuperlinks = pd.read_csv(f'{input_path}/superlinks.csv')\njunctions = pd.read_csv(f'{input_path}/junctions.csv')\nlinks = pd.read_csv(f'{input_path}/links.csv')\n\n# Read input data\nQ_in = pd.read_csv(f'{input_path}/flow_input.csv', index_col=0)\nH_bc = pd.read_csv(f'{input_path}/boundary_stage.csv', index_col=0)\n```\n\n### Run superlink\n\n```python\n# Instantiate superlink model\nsuperlink = SuperLink(superlinks, superjunctions, links, junctions)\n\n# Set constant timestep (in seconds)\ndt = 30\n\n# Create simulation context manager\nwith Simulation(superlink, Q_in=Q_in, H_bc=H_bc) as simulation:\n    # While simulation time has not expired...\n    while simulation.t \u003c= simulation.t_end:\n        # Step model forward in time\n        simulation.step(dt=dt, num_iter=1)\n        # Record internal depth and flow states\n        simulation.record_state()\n        # Print progress bar\n        simulation.print_progress()\n```\n\n\u003e `[==================================================] 100.0% [0.82 s]`\n\n\n### Plot results\n\nSee plotting code [here](https://github.com/mdbartos/pipedream/blob/master/notebooks/six_pipe_test.ipynb).\n\n![Superlink Example](https://s3.us-east-2.amazonaws.com/mdbartos-img/superlink/superlink_test.png)\n\n## Acknowledgments\n\nHydraulic solver based on the SUPERLINK scheme proposed by [Zhong Ji (1998).](https://ascelibrary.org/doi/10.1061/%28ASCE%290733-9429%281998%29124%3A3%28307%29)\n\n```\nJi, Z. (1998). General Hydrodynamic Model for Sewer/Channel Network Systems.\nJournal of Hydraulic Engineering, 124(3), 307–315.\ndoi: 10.1061/(asce)0733-9429(1998)124:3(307)\n```\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/1013","html_url":"https://ost.ecosyste.ms/projects/1013"}