{"id":347709,"name":"swmmio","description":"Python tools for interacting with, editing, and visualizing EPA SWMM5 models.","url":"https://github.com/pyswmm/swmmio","last_synced_at":"2026-04-26T16:30:19.169Z","repository":{"id":44531445,"uuid":"57048018","full_name":"pyswmm/swmmio","owner":"pyswmm","description":"Python tools for interacting with, editing, and visualizing EPA SWMM5 models","archived":false,"fork":false,"pushed_at":"2026-03-26T15:20:13.000Z","size":16005,"stargazers_count":143,"open_issues_count":38,"forks_count":48,"subscribers_count":11,"default_branch":"master","last_synced_at":"2026-04-11T09:02:19.574Z","etag":null,"topics":["civil-engineering","hydraulic-modeling","hydroinformatics","python","swmm5","watershed"],"latest_commit_sha":null,"homepage":"https://swmmio.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyswmm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-04-25T14:23:05.000Z","updated_at":"2026-02-05T00:58:03.000Z","dependencies_parsed_at":"2026-03-24T00:01:21.784Z","dependency_job_id":null,"html_url":"https://github.com/pyswmm/swmmio","commit_stats":{"total_commits":518,"total_committers":11,"mean_commits":47.09090909090909,"dds":"0.10424710424710426","last_synced_commit":"2b127faa8dc64c68ccd4d899ca31e694feda0649"},"previous_names":["aerispaha/swmmio"],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/pyswmm/swmmio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyswmm%2Fswmmio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyswmm%2Fswmmio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyswmm%2Fswmmio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyswmm%2Fswmmio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyswmm","download_url":"https://codeload.github.com/pyswmm/swmmio/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyswmm%2Fswmmio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32007504,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"pyswmm","name":"pyswmm","uuid":"132501370","kind":"organization","description":"","email":null,"website":"http://www.pyswmm.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/132501370?v=4","repositories_count":1,"last_synced_at":"2023-05-04T14:11:37.601Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pyswmm","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-05-04T14:11:37.604Z","updated_at":"2023-05-04T14:11:37.604Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyswmm","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyswmm/repositories"},"packages":[],"commits":{"id":1358290,"full_name":"pyswmm/swmmio","default_branch":"master","total_commits":621,"total_committers":16,"total_bot_commits":3,"total_bot_committers":1,"mean_commits":38.8125,"dds":0.12077294685990336,"past_year_total_commits":6,"past_year_total_committers":2,"past_year_total_bot_commits":1,"past_year_total_bot_committers":1,"past_year_mean_commits":3.0,"past_year_dds":0.16666666666666663,"last_synced_at":"2026-04-23T15:01:50.067Z","last_synced_commit":"a1cf37dea2ec1af3e2c93087e774fda9a334c248","created_at":"2023-09-12T12:08:05.937Z","updated_at":"2026-04-23T15:01:43.221Z","committers":[{"name":"Adam Erispaha","email":"aerispaha@gmail.com","login":"aerispaha","count":546},{"name":"Bryant E. McDonnell","email":"bemcdonnell@gmail.com","login":"bemcdonnell","count":15},{"name":"kaklise","email":"kaklise@sandia.gov","login":"kaklise","count":11},{"name":"Jackie Fortin-Flefil","email":"jackieff@umich.edu","login":"jackieff","count":8},{"name":"Jenn Wu","email":"jwu@emnet.net","login":"jennwuu","count":7},{"name":"Abhiram Mullapudi","email":"abhiramm@umich.edu","login":"abhiramm7","count":7},{"name":"BuczynskiRafal","email":"buczynski.rafal2@gmail.com","login":"BuczynskiRafal","count":6},{"name":"Bruce Rindahl","email":"bruce.rindahl@gmail.com","login":"bowguy","count":5},{"name":"everett","email":"everett.snieder@gmail.com","login":"everettsp","count":3},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":3},{"name":"chuwenhao123","email":"51478550+chuwenhao123","login":"chuwenhao123","count":3},{"name":"Assela Pathirana","email":"assela@pathirana.net","login":"asselapathirana","count":3},{"name":"algchyhao","email":"35864573+algchyhao","login":"algchyhao","count":1},{"name":"Stijn Van Hoey","email":"stijn@fluves.com","login":"stijnvanhoey","count":1},{"name":"David Irwin","email":"david.irwin@stormharvester.com","login":"SH-DavidIrwin","count":1},{"name":"Dobson","email":"bdobson@ic.ac.uk","login":null,"count":1}],"past_year_committers":[{"name":"Adam Erispaha","email":"aerispaha@gmail.com","login":"aerispaha","count":5},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyswmm%2Fswmmio/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-25T00:00:08.654Z","repositories_count":6217791,"commits_count":899296872,"contributors_count":34884499,"owners_count":1145172,"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":"pyswmm/swmmio","html_url":"https://github.com/pyswmm/swmmio","last_synced_at":"2026-04-13T22:01:11.843Z","status":null,"issues_count":70,"pull_requests_count":86,"avg_time_to_close_issue":15830107.80952381,"avg_time_to_close_pull_request":2932957.810126582,"issues_closed_count":42,"pull_requests_closed_count":79,"pull_request_authors_count":14,"issue_authors_count":26,"avg_comments_per_issue":1.457142857142857,"avg_comments_per_pull_request":0.9651162790697675,"merged_pull_requests_count":70,"bot_issues_count":0,"bot_pull_requests_count":8,"past_year_issues_count":1,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":40606.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":9.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":3,"past_year_merged_pull_requests_count":3,"created_at":"2023-09-12T12:08:16.576Z","updated_at":"2026-04-13T22:01:11.843Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyswmm%2Fswmmio","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyswmm%2Fswmmio/issues","issue_labels_count":{"enhancement":20,"bug":17,"documentation":3,"complete":3},"pull_request_labels_count":{"dependencies":8,"enhancement":6,"python":3,"bug":2,"complete":1},"issue_author_associations_count":{"MEMBER":42,"NONE":21,"CONTRIBUTOR":6,"COLLABORATOR":1},"pull_request_author_associations_count":{"MEMBER":48,"CONTRIBUTOR":24,"NONE":11,"COLLABORATOR":3},"issue_authors":{"aerispaha":37,"bemcdonnell":5,"MortenGrum":3,"rhc123123":3,"timebridge":1,"gcoyle83":1,"xiang3874264":1,"jackieff":1,"tyjchen":1,"dirwin5":1,"BuczynskiRafal":1,"chuwenhao123":1,"bowguy":1,"wraseman":1,"jennwuu":1,"cheginit":1,"nossrednaanna":1,"andredaa":1,"DanielaRodriguez834":1,"Nils-TalTech":1,"LunarMilkman":1,"algchyhao":1,"everettsp":1,"Rachelluwee":1,"barneydobson":1,"lassiterdc":1},"pull_request_authors":{"aerispaha":44,"bowguy":8,"dependabot[bot]":8,"jackieff":7,"bemcdonnell":4,"BuczynskiRafal":3,"barneydobson":2,"dirwin5":2,"everettsp":2,"wraseman":2,"simancas-es":1,"algchyhao":1,"stijnvanhoey":1,"kaklise":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-19T00:00:13.985Z","repositories_count":14326125,"issues_count":34527319,"pull_requests_count":112909984,"authors_count":11238501,"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":{"dependencies":3,"python":3},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":3,"MEMBER":2},"past_year_issue_authors":{"cheginit":1},"past_year_pull_request_authors":{"dependabot[bot]":3,"aerispaha":2},"maintainers":[{"login":"aerispaha","count":81,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aerispaha"},{"login":"bemcdonnell","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bemcdonnell"},{"login":"BuczynskiRafal","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/BuczynskiRafal"}],"active_maintainers":[{"login":"aerispaha","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aerispaha"}]},"events":{"total":{"DeleteEvent":6,"PullRequestEvent":25,"ForkEvent":5,"IssuesEvent":14,"WatchEvent":14,"IssueCommentEvent":53,"PushEvent":56,"PullRequestReviewCommentEvent":1,"PullRequestReviewEvent":10,"CreateEvent":16},"last_year":{"PullRequestEvent":7,"ForkEvent":1,"WatchEvent":3,"IssueCommentEvent":8,"PushEvent":6,"CreateEvent":6}},"keywords":["civil-engineering","hydraulic-modeling","hydroinformatics","python","swmm5","watershed"],"dependencies":[{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-08-30T09:41:43.222Z","updated_at":"2022-08-30T09:41:43.222Z","repository_link":"https://github.com/pyswmm/swmmio/blob/master/docs/requirements.txt","dependencies":[{"id":3289327954,"package_name":"commonmark","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false},{"id":3289327955,"package_name":"recommonmark","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":3289327956,"package_name":"Sphinx","ecosystem":"pypi","requirements":"==3.2.1","direct":true,"kind":"runtime","optional":false},{"id":3289327957,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"==0.5.0","direct":true,"kind":"runtime","optional":false},{"id":3289327958,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"==1.0.2","direct":true,"kind":"runtime","optional":false},{"id":3289327959,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"==1.0.2","direct":true,"kind":"runtime","optional":false},{"id":3289327960,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"==1.0.3","direct":true,"kind":"runtime","optional":false},{"id":3289327961,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"runtime","optional":false},{"id":3289327962,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"==1.0.3","direct":true,"kind":"runtime","optional":false},{"id":3289327963,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"==1.1.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-08-30T09:41:43.629Z","updated_at":"2022-08-30T09:41:43.629Z","repository_link":"https://github.com/pyswmm/swmmio/blob/master/requirements.txt","dependencies":[{"id":3289330956,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3289330957,"package_name":"pillow","ecosystem":"pypi","requirements":"\u003e=6.2.0","direct":true,"kind":"runtime","optional":false},{"id":3289330958,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.16.4","direct":true,"kind":"runtime","optional":false},{"id":3289330959,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=0.24.2","direct":true,"kind":"runtime","optional":false},{"id":3289330960,"package_name":"pyshp","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"runtime","optional":false},{"id":3289330961,"package_name":"geojson","ecosystem":"pypi","requirements":"==2.5.0","direct":true,"kind":"runtime","optional":false},{"id":3289330962,"package_name":"networkx","ecosystem":"pypi","requirements":"\u003e=2.4","direct":true,"kind":"runtime","optional":false},{"id":3289330963,"package_name":"pyyaml","ecosystem":"pypi","requirements":"\u003e=3.12","direct":true,"kind":"runtime","optional":false},{"id":3289330964,"package_name":"recommonmark","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3289330965,"package_name":"m2r","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3289330966,"package_name":"mistune","ecosystem":"pypi","requirements":"==0.8.4","direct":true,"kind":"runtime","optional":false},{"id":3289330967,"package_name":"pyproj","ecosystem":"pypi","requirements":"\u003e=3.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-08-30T09:41:43.780Z","updated_at":"2022-08-30T09:41:43.780Z","repository_link":"https://github.com/pyswmm/swmmio/blob/master/setup.py","dependencies":[{"id":3289331611,"package_name":"Pillow","ecosystem":"pypi","requirements":"\u003e=6.2.0","direct":true,"kind":"runtime","optional":false},{"id":3289331612,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.16.4","direct":true,"kind":"runtime","optional":false},{"id":3289331613,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=0.24.2","direct":true,"kind":"runtime","optional":false},{"id":3289331614,"package_name":"pyshp","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"runtime","optional":false},{"id":3289331615,"package_name":"geojson","ecosystem":"pypi","requirements":"\u003e=2.4.1","direct":true,"kind":"runtime","optional":false},{"id":3289331616,"package_name":"networkx","ecosystem":"pypi","requirements":"\u003e=2.4","direct":true,"kind":"runtime","optional":false},{"id":3289331617,"package_name":"pyyaml","ecosystem":"pypi","requirements":"\u003e=3.12","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/python-app.yml","sha":null,"kind":"manifest","created_at":"2023-02-18T01:55:58.212Z","updated_at":"2023-02-18T01:55:58.212Z","repository_link":"https://github.com/pyswmm/swmmio/blob/master/.github/workflows/python-app.yml","dependencies":[{"id":7751304815,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7751304816,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7751304817,"package_name":"actions/checkout","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7751304818,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false}]}],"score":7.971085753505607,"created_at":"2026-03-08T16:43:04.684Z","updated_at":"2026-04-26T16:30:19.172Z","avatar_url":"https://github.com/pyswmm.png","language":"Python","category":"Natural Resources","sub_category":"Water Supply and Quality","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# swmmio\n*v0.8.2 (2025/06/11)*\n\n_Programmatic pre and post processing for EPA Stormwater Management Model (SWMM)_\n\n\n![workflow status](https://github.com/aerispaha/swmmio/actions/workflows/python-app.yml/badge.svg)\n[![Documentation Status](https://readthedocs.org/projects/swmmio/badge/?version=latest)](https://swmmio.readthedocs.io/en/latest/?badge=latest)\n\n\n![image](docs/_static/img/flooded_anno_example.png)\n\n\n## Introduction\n`swmmio` is a Python tool for engineers and hydrologists who need to supercharge their ability to modify and analyze EPA SWMM models and results. Using a familiar Pandas interface, users can replace manual procesess that used to live in spreadsheets with scripts and automation.\n\nThe core `swmmio.Model` object provides accessors to related elements in the INP and RPT. For example, `swmmio.Model.subcatchments` provides a DataFrame (or GeoDataFrame) joining data from the `[SUBCATCHMENTS]` and `[SUBAREAS]` tables in the model.inp file and, if available, the `Subcatchment Runoff Summary` from the model.rpt file. \n\nAdditionally, `swmmio` provides a lower-level API for reading and writing (almost) all of the sections of the model.inp file which is useful for programmatically modifying EPA SWMM models.\n\n\n## Installation\n```bash\npip install swmmio\n``` \n\nFor documentation and tutorials, see our [documentation](https://swmmio.readthedocs.io/). ","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["stormwater","hydrology","hydrology-stormwater-analysis","swmm","hydraulics"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/347709","html_url":"https://ost.ecosyste.ms/projects/347709"}