{"id":1221,"name":"Water Systems Integrated Modelling framework, WSIMOD","description":"Water Systems Integrated Modelling framework, WSIMOD: A Python package for integrated modelling of water quality and quantity across the water cycle - Published in JOSS (2023)","url":"https://github.com/ImperialCollegeLondon/wsi","last_synced_at":"2025-09-04T16:20:49.493Z","repository":{"id":72188668,"uuid":"562118757","full_name":"ImperialCollegeLondon/wsi","owner":"ImperialCollegeLondon","description":"WSIMOD is a software for simulating water quality and quantity","archived":false,"fork":false,"pushed_at":"2025-08-25T17:28:06.000Z","size":6019,"stargazers_count":16,"open_issues_count":32,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-30T20:42:39.150Z","etag":null,"topics":["hacktoberfest","hydrology","integrated-modelling","pollution","python","wastewater","water-quality"],"latest_commit_sha":null,"homepage":"https://imperialcollegelondon.github.io/wsi/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ImperialCollegeLondon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","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":".zenodo.json","notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-05T11:20:38.000Z","updated_at":"2025-08-25T17:28:10.000Z","dependencies_parsed_at":"2023-12-20T16:35:35.588Z","dependency_job_id":"89d76e82-4b64-4e6a-b895-84b927c86bd9","html_url":"https://github.com/ImperialCollegeLondon/wsi","commit_stats":{"total_commits":694,"total_committers":8,"mean_commits":86.75,"dds":0.6541786743515849,"last_synced_commit":"045e5e2fe23ac0e956f4532dc0a6204eb29ba518"},"previous_names":["imperialcollegelondon/wsi","barneydobson/wsi"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/ImperialCollegeLondon/wsi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImperialCollegeLondon%2Fwsi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImperialCollegeLondon%2Fwsi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImperialCollegeLondon%2Fwsi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImperialCollegeLondon%2Fwsi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ImperialCollegeLondon","download_url":"https://codeload.github.com/ImperialCollegeLondon/wsi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImperialCollegeLondon%2Fwsi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273357092,"owners_count":25091079,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"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":"ImperialCollegeLondon","name":"Imperial College London","uuid":"1220306","kind":"organization","description":"Imperial College main code repository","email":"icgithub-support@imperial.ac.uk","website":null,"location":"Imperial College London","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1220306?v=4","repositories_count":311,"last_synced_at":"2023-03-14T09:25:14.124Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ImperialCollegeLondon","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-03T06:03:26.030Z","updated_at":"2023-03-14T09:25:14.177Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ImperialCollegeLondon","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ImperialCollegeLondon/repositories"},"packages":[],"commits":{"id":1443217,"full_name":"ImperialCollegeLondon/wsi","default_branch":"main","committers":[{"name":"barneydobson","email":"barnaby.dobson1@gmail.com","login":"barneydobson","count":251},{"name":"Dobson","email":"bdobson@ic.ac.uk","login":null,"count":243},{"name":"liuly12","email":"leyang.liu@hotmail.com","login":"liuly12","count":117},{"name":"Diego Alonso Alvarez","email":"d.alonso-alvarez@imperial.ac.uk","login":"dalonsoa","count":102},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":42},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":5},{"name":"Tom Bland","email":"t.bland@imperial.ac.uk","login":"tsmbland","count":2},{"name":"Daniel Cummins","email":"daniel.cummins17@imperial.ac.uk","login":"dc2917","count":2}],"total_commits":764,"total_committers":8,"total_bot_commits":47,"total_bot_committers":2,"mean_commits":95.5,"dds":0.6714659685863874,"past_year_committers":[{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":42},{"name":"liuly12","email":"leyang.liu@hotmail.com","login":"liuly12","count":33},{"name":"Dobson","email":"bdobson@ic.ac.uk","login":null,"count":29},{"name":"barneydobson","email":"barnaby.dobson1@gmail.com","login":"barneydobson","count":25},{"name":"Diego Alonso Alvarez","email":"d.alonso-alvarez@imperial.ac.uk","login":"dalonsoa","count":23},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":5},{"name":"Daniel Cummins","email":"daniel.cummins17@imperial.ac.uk","login":"dc2917","count":2}],"past_year_total_commits":159,"past_year_total_committers":7,"past_year_total_bot_commits":47,"past_year_total_bot_committers":2,"past_year_mean_commits":22.714285714285715,"past_year_dds":0.7358490566037736,"last_synced_at":"2025-09-02T08:58:06.531Z","last_synced_commit":"6dd7ef0fac5672844965cdcb56578d212ecf2fc3","created_at":"2023-10-30T21:30:52.794Z","updated_at":"2025-09-02T08:58:06.888Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImperialCollegeLondon%2Fwsi/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-02T00:00:07.521Z","repositories_count":5480031,"commits_count":853395369,"contributors_count":31098267,"owners_count":906561,"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":"ImperialCollegeLondon/wsi","html_url":"https://github.com/ImperialCollegeLondon/wsi","last_synced_at":"2025-09-01T20:02:17.843Z","status":null,"issues_count":57,"pull_requests_count":141,"avg_time_to_close_issue":3463123.7391304346,"avg_time_to_close_pull_request":1622451.7049180327,"issues_closed_count":23,"pull_requests_closed_count":122,"pull_request_authors_count":7,"issue_authors_count":7,"avg_comments_per_issue":0.2631578947368421,"avg_comments_per_pull_request":0.5673758865248227,"merged_pull_requests_count":115,"bot_issues_count":0,"bot_pull_requests_count":61,"past_year_issues_count":19,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1121333.6,"past_year_avg_time_to_close_pull_request":153764.98795180724,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":83,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":0.2631578947368421,"past_year_avg_comments_per_pull_request":0.34782608695652173,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":61,"past_year_merged_pull_requests_count":81,"created_at":"2023-10-30T21:31:12.634Z","updated_at":"2025-09-03T03:12:42.891Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImperialCollegeLondon%2Fwsi","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImperialCollegeLondon%2Fwsi/issues","issue_labels_count":{"overrides":12,"documentation":9,"enhancement":6,"hacktoberfest":4,"DAFNI":3,"bug":2,"refactor":1},"pull_request_labels_count":{"dependencies":9,"github_actions":9,"overrides":5},"issue_author_associations_count":{"COLLABORATOR":55,"NONE":2,"MEMBER":1},"pull_request_author_associations_count":{"COLLABORATOR":93,"CONTRIBUTOR":64,"MEMBER":2,"NONE":2},"issue_authors":{"barneydobson":26,"liuly12":14,"dalonsoa":12,"RobinMaesPrior":3,"PauJuan":1,"tsmbland":1,"zzzzy9":1},"pull_request_authors":{"pre-commit-ci[bot]":55,"barneydobson":45,"dalonsoa":28,"liuly12":20,"dependabot[bot]":9,"tsmbland":2,"dc2917":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-03T00:00:08.273Z","repositories_count":10060029,"issues_count":31035129,"pull_requests_count":93957968,"authors_count":10685658,"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":{"documentation":3,"enhancement":2,"hacktoberfest":1},"past_year_pull_request_labels_count":{"dependencies":9,"github_actions":9},"past_year_issue_author_associations_count":{"COLLABORATOR":21,"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":64,"COLLABORATOR":44,"NONE":2},"past_year_issue_authors":{"barneydobson":16,"liuly12":3,"RobinMaesPrior":2,"PauJuan":1},"past_year_pull_request_authors":{"pre-commit-ci[bot]":55,"barneydobson":32,"dalonsoa":9,"dependabot[bot]":9,"liuly12":3,"dc2917":2},"maintainers":[{"login":"barneydobson","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/barneydobson"},{"login":"dalonsoa","count":40,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dalonsoa"},{"login":"liuly12","count":34,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/liuly12"},{"login":"tsmbland","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tsmbland"},{"login":"RobinMaesPrior","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RobinMaesPrior"},{"login":"zzzzy9","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzzzy9"}],"active_maintainers":[{"login":"barneydobson","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/barneydobson"},{"login":"dalonsoa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dalonsoa"},{"login":"liuly12","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/liuly12"},{"login":"RobinMaesPrior","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RobinMaesPrior"}]},"events":{"total":{"CreateEvent":34,"ReleaseEvent":10,"IssuesEvent":20,"WatchEvent":2,"DeleteEvent":19,"IssueCommentEvent":22,"PushEvent":131,"PullRequestReviewCommentEvent":35,"PullRequestEvent":91,"PullRequestReviewEvent":65},"last_year":{"CreateEvent":34,"ReleaseEvent":10,"IssuesEvent":20,"WatchEvent":2,"DeleteEvent":19,"IssueCommentEvent":22,"PushEvent":131,"PullRequestReviewCommentEvent":35,"PullRequestEvent":91,"PullRequestReviewEvent":65}},"keywords":["hacktoberfest","hydrology","integrated-modelling","pollution","python","wastewater","water-quality"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-02-27T02:16:00.530Z","updated_at":"2023-02-27T02:16:00.530Z","repository_link":"https://github.com/ImperialCollegeLondon/wsi/blob/main/.github/workflows/ci.yml","dependencies":[{"id":7905435151,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7905435152,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/draft-pdf.yml","sha":null,"kind":"manifest","created_at":"2023-02-27T02:16:00.637Z","updated_at":"2023-02-27T02:16:00.637Z","repository_link":"https://github.com/ImperialCollegeLondon/wsi/blob/main/.github/workflows/draft-pdf.yml","dependencies":[{"id":7905435175,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7905435176,"package_name":"openjournals/openjournals-draft-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7905435177,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-11-06T23:10:34.036Z","updated_at":"2023-11-06T23:10:34.036Z","repository_link":"https://github.com/ImperialCollegeLondon/wsi/blob/main/pyproject.toml","dependencies":[{"id":14328539949,"package_name":"PyYAML","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14328539955,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14328539958,"package_name":"dill","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements-demos.txt","sha":null,"kind":"lockfile","created_at":"2023-11-06T23:10:34.146Z","updated_at":"2023-11-06T23:10:34.146Z","repository_link":"https://github.com/ImperialCollegeLondon/wsi/blob/main/requirements-demos.txt","dependencies":[{"id":14328540903,"package_name":"attrs","ecosystem":"pypi","requirements":"==23.1.0","direct":false,"kind":"runtime","optional":false},{"id":14328540904,"package_name":"certifi","ecosystem":"pypi","requirements":"==2023.7.22","direct":false,"kind":"runtime","optional":false},{"id":14328540905,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.7","direct":false,"kind":"runtime","optional":false},{"id":14328540906,"package_name":"click-plugins","ecosystem":"pypi","requirements":"==1.1.1","direct":false,"kind":"runtime","optional":false},{"id":14328540907,"package_name":"cligj","ecosystem":"pypi","requirements":"==0.7.2","direct":false,"kind":"runtime","optional":false},{"id":14328540908,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":false,"kind":"runtime","optional":false},{"id":14328540909,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.1.1","direct":false,"kind":"runtime","optional":false},{"id":14328540910,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.12.1","direct":false,"kind":"runtime","optional":false},{"id":14328540911,"package_name":"dill","ecosystem":"pypi","requirements":"==0.3.7","direct":false,"kind":"runtime","optional":false},{"id":14328540912,"package_name":"fiona","ecosystem":"pypi","requirements":"==1.9.5","direct":false,"kind":"runtime","optional":false},{"id":14328540923,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.43.1","direct":false,"kind":"runtime","optional":false},{"id":14328540924,"package_name":"geopandas","ecosystem":"pypi","requirements":"==0.14.0","direct":false,"kind":"runtime","optional":false},{"id":14328540925,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.5","direct":false,"kind":"runtime","optional":false},{"id":14328540926,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.8.1","direct":false,"kind":"runtime","optional":false},{"id":14328540927,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.26.1","direct":false,"kind":"runtime","optional":false},{"id":14328540928,"package_name":"packaging","ecosystem":"pypi","requirements":"==23.2","direct":false,"kind":"runtime","optional":false},{"id":14328540929,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.5.2","direct":false,"kind":"runtime","optional":false},{"id":14328540930,"package_name":"pillow","ecosystem":"pypi","requirements":"==10.1.0","direct":false,"kind":"runtime","optional":false},{"id":14328540931,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.1.1","direct":false,"kind":"runtime","optional":false},{"id":14328540932,"package_name":"pyproj","ecosystem":"pypi","requirements":"==3.6.1","direct":false,"kind":"runtime","optional":false},{"id":14328540933,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":false,"kind":"runtime","optional":false},{"id":14328540934,"package_name":"pytz","ecosystem":"pypi","requirements":"==2023.3.post1","direct":false,"kind":"runtime","optional":false},{"id":14328540935,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0.1","direct":false,"kind":"runtime","optional":false},{"id":14328540936,"package_name":"shapely","ecosystem":"pypi","requirements":"==2.0.2","direct":false,"kind":"runtime","optional":false},{"id":14328540937,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":false,"kind":"runtime","optional":false},{"id":14328540938,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.66.1","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements-dev.txt","sha":null,"kind":"manifest","created_at":"2023-11-06T23:10:34.293Z","updated_at":"2023-11-06T23:10:34.293Z","repository_link":"https://github.com/ImperialCollegeLondon/wsi/blob/main/requirements-dev.txt","dependencies":[{"id":14328542258,"package_name":"black","ecosystem":"pypi","requirements":"==23.10.1","direct":true,"kind":"development","optional":false},{"id":14328542259,"package_name":"build","ecosystem":"pypi","requirements":"==1.0.3","direct":true,"kind":"development","optional":false},{"id":14328542260,"package_name":"cfgv","ecosystem":"pypi","requirements":"==3.4.0","direct":true,"kind":"development","optional":false},{"id":14328542261,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.7","direct":true,"kind":"development","optional":false},{"id":14328542262,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":true,"kind":"development","optional":false},{"id":14328542263,"package_name":"coverage","ecosystem":"pypi","requirements":"==7.3.2","direct":true,"kind":"development","optional":false},{"id":14328542264,"package_name":"dill","ecosystem":"pypi","requirements":"==0.3.7","direct":true,"kind":"development","optional":false},{"id":14328542265,"package_name":"distlib","ecosystem":"pypi","requirements":"==0.3.7","direct":true,"kind":"development","optional":false},{"id":14328542266,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.13.1","direct":true,"kind":"development","optional":false},{"id":14328542267,"package_name":"identify","ecosystem":"pypi","requirements":"==2.5.31","direct":true,"kind":"development","optional":false},{"id":14328542268,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"development","optional":false},{"id":14328542269,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"development","optional":false},{"id":14328542270,"package_name":"nodeenv","ecosystem":"pypi","requirements":"==1.8.0","direct":true,"kind":"development","optional":false},{"id":14328542271,"package_name":"packaging","ecosystem":"pypi","requirements":"==23.2","direct":true,"kind":"development","optional":false},{"id":14328542272,"package_name":"pathspec","ecosystem":"pypi","requirements":"==0.11.2","direct":true,"kind":"development","optional":false},{"id":14328542273,"package_name":"pip-tools","ecosystem":"pypi","requirements":"==7.3.0","direct":true,"kind":"development","optional":false},{"id":14328542274,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==3.11.0","direct":true,"kind":"development","optional":false},{"id":14328542275,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"development","optional":false},{"id":14328542276,"package_name":"pre-commit","ecosystem":"pypi","requirements":"==3.5.0","direct":true,"kind":"development","optional":false},{"id":14328542277,"package_name":"pyproject-hooks","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"development","optional":false},{"id":14328542278,"package_name":"pytest","ecosystem":"pypi","requirements":"==7.4.3","direct":true,"kind":"development","optional":false},{"id":14328542279,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"==4.1.0","direct":true,"kind":"development","optional":false},{"id":14328542280,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0.1","direct":true,"kind":"development","optional":false},{"id":14328542281,"package_name":"ruff","ecosystem":"pypi","requirements":"==0.1.4","direct":true,"kind":"development","optional":false},{"id":14328542282,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.66.1","direct":true,"kind":"development","optional":false},{"id":14328542283,"package_name":"virtualenv","ecosystem":"pypi","requirements":"==20.24.6","direct":true,"kind":"development","optional":false},{"id":14328542284,"package_name":"wheel","ecosystem":"pypi","requirements":"==0.41.3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"requirements-doc.txt","sha":null,"kind":"lockfile","created_at":"2023-11-06T23:10:34.403Z","updated_at":"2023-11-06T23:10:34.403Z","repository_link":"https://github.com/ImperialCollegeLondon/wsi/blob/main/requirements-doc.txt","dependencies":[{"id":14328542294,"package_name":"asttokens","ecosystem":"pypi","requirements":"==2.4.1","direct":false,"kind":"runtime","optional":false},{"id":14328542295,"package_name":"attrs","ecosystem":"pypi","requirements":"==23.1.0","direct":false,"kind":"runtime","optional":false},{"id":14328542296,"package_name":"babel","ecosystem":"pypi","requirements":"==2.13.1","direct":false,"kind":"runtime","optional":false},{"id":14328542297,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.12.2","direct":false,"kind":"runtime","optional":false},{"id":14328542298,"package_name":"bleach","ecosystem":"pypi","requirements":"==6.1.0","direct":false,"kind":"runtime","optional":false},{"id":14328542299,"package_name":"certifi","ecosystem":"pypi","requirements":"==2023.7.22","direct":false,"kind":"runtime","optional":false},{"id":14328542300,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==3.3.2","direct":false,"kind":"runtime","optional":false},{"id":14328542301,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.7","direct":false,"kind":"runtime","optional":false},{"id":14328542302,"package_name":"click-plugins","ecosystem":"pypi","requirements":"==1.1.1","direct":false,"kind":"runtime","optional":false},{"id":14328542303,"package_name":"cligj","ecosystem":"pypi","requirements":"==0.7.2","direct":false,"kind":"runtime","optional":false},{"id":14328542304,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":false,"kind":"runtime","optional":false},{"id":14328542305,"package_name":"comm","ecosystem":"pypi","requirements":"==0.1.4","direct":false,"kind":"runtime","optional":false},{"id":14328542306,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.1.1","direct":false,"kind":"runtime","optional":false},{"id":14328542307,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.12.1","direct":false,"kind":"runtime","optional":false},{"id":14328542308,"package_name":"debugpy","ecosystem":"pypi","requirements":"==1.8.0","direct":false,"kind":"runtime","optional":false},{"id":14328542309,"package_name":"decorator","ecosystem":"pypi","requirements":"==5.1.1","direct":false,"kind":"runtime","optional":false},{"id":14328542310,"package_name":"defusedxml","ecosystem":"pypi","requirements":"==0.7.1","direct":false,"kind":"runtime","optional":false},{"id":14328542311,"package_name":"dill","ecosystem":"pypi","requirements":"==0.3.7","direct":false,"kind":"runtime","optional":false},{"id":14328542312,"package_name":"executing","ecosystem":"pypi","requirements":"==2.0.1","direct":false,"kind":"runtime","optional":false},{"id":14328542313,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"==2.18.1","direct":false,"kind":"runtime","optional":false},{"id":14328542314,"package_name":"fiona","ecosystem":"pypi","requirements":"==1.9.5","direct":false,"kind":"runtime","optional":false},{"id":14328542315,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.43.1","direct":false,"kind":"runtime","optional":false},{"id":14328542316,"package_name":"geopandas","ecosystem":"pypi","requirements":"==0.14.0","direct":false,"kind":"runtime","optional":false},{"id":14328542317,"package_name":"ghp-import","ecosystem":"pypi","requirements":"==2.1.0","direct":false,"kind":"runtime","optional":false},{"id":14328542318,"package_name":"griffe","ecosystem":"pypi","requirements":"==0.36.9","direct":false,"kind":"runtime","optional":false},{"id":14328542319,"package_name":"idna","ecosystem":"pypi","requirements":"==3.4","direct":false,"kind":"runtime","optional":false},{"id":14328542320,"package_name":"ipykernel","ecosystem":"pypi","requirements":"==6.26.0","direct":false,"kind":"runtime","optional":false},{"id":14328542321,"package_name":"ipython","ecosystem":"pypi","requirements":"==8.17.2","direct":false,"kind":"runtime","optional":false},{"id":14328542322,"package_name":"jedi","ecosystem":"pypi","requirements":"==0.19.1","direct":false,"kind":"runtime","optional":false},{"id":14328542323,"package_name":"jinja2","ecosystem":"pypi","requirements":"==3.1.2","direct":false,"kind":"runtime","optional":false},{"id":14328542324,"package_name":"jsonschema","ecosystem":"pypi","requirements":"==4.19.2","direct":false,"kind":"runtime","optional":false},{"id":14328542325,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"==2023.7.1","direct":false,"kind":"runtime","optional":false},{"id":14328542326,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"==8.5.0","direct":false,"kind":"runtime","optional":false},{"id":14328542327,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"==5.5.0","direct":false,"kind":"runtime","optional":false},{"id":14328542328,"package_name":"jupyterlab-pygments","ecosystem":"pypi","requirements":"==0.2.2","direct":false,"kind":"runtime","optional":false},{"id":14328542329,"package_name":"jupytext","ecosystem":"pypi","requirements":"==1.15.2","direct":false,"kind":"runtime","optional":false},{"id":14328542330,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.5","direct":false,"kind":"runtime","optional":false},{"id":14328542331,"package_name":"latexcodec","ecosystem":"pypi","requirements":"==2.0.1","direct":false,"kind":"runtime","optional":false},{"id":14328542332,"package_name":"markdown","ecosystem":"pypi","requirements":"==3.5.1","direct":false,"kind":"runtime","optional":false},{"id":14328542333,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"==3.0.0","direct":false,"kind":"runtime","optional":false},{"id":14328542334,"package_name":"markupsafe","ecosystem":"pypi","requirements":"==2.1.3","direct":false,"kind":"runtime","optional":false},{"id":14328542335,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.8.1","direct":false,"kind":"runtime","optional":false},{"id":14328542336,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"==0.1.6","direct":false,"kind":"runtime","optional":false},{"id":14328542337,"package_name":"mdit-py-plugins","ecosystem":"pypi","requirements":"==0.4.0","direct":false,"kind":"runtime","optional":false},{"id":14328542338,"package_name":"mdurl","ecosystem":"pypi","requirements":"==0.1.2","direct":false,"kind":"runtime","optional":false},{"id":14328542339,"package_name":"mergedeep","ecosystem":"pypi","requirements":"==1.3.4","direct":false,"kind":"runtime","optional":false},{"id":14328542340,"package_name":"mistune","ecosystem":"pypi","requirements":"==3.0.2","direct":false,"kind":"runtime","optional":false},{"id":14328542341,"package_name":"mkdocs","ecosystem":"pypi","requirements":"==1.5.3","direct":false,"kind":"runtime","optional":false},{"id":14328542342,"package_name":"mkdocs-autorefs","ecosystem":"pypi","requirements":"==0.5.0","direct":false,"kind":"runtime","optional":false},{"id":14328542343,"package_name":"mkdocs-bibtex","ecosystem":"pypi","requirements":"==2.11.0","direct":false,"kind":"runtime","optional":false},{"id":14328542398,"package_name":"mkdocs-coverage","ecosystem":"pypi","requirements":"==1.0.0","direct":false,"kind":"runtime","optional":false},{"id":14328542657,"package_name":"mkdocs-jupyter","ecosystem":"pypi","requirements":"==0.24.6","direct":false,"kind":"runtime","optional":false},{"id":14328545174,"package_name":"mkdocs-material","ecosystem":"pypi","requirements":"==9.4.7","direct":false,"kind":"runtime","optional":false},{"id":14328545175,"package_name":"mkdocs-material-extensions","ecosystem":"pypi","requirements":"==1.3","direct":false,"kind":"runtime","optional":false},{"id":14328545176,"package_name":"mkdocstrings","ecosystem":"pypi","requirements":"==0.23.0","direct":false,"kind":"runtime","optional":false},{"id":14328545177,"package_name":"mkdocstrings-python","ecosystem":"pypi","requirements":"==1.7.3","direct":false,"kind":"runtime","optional":false},{"id":14328545178,"package_name":"nbclient","ecosystem":"pypi","requirements":"==0.8.0","direct":false,"kind":"runtime","optional":false},{"id":14328545179,"package_name":"nbconvert","ecosystem":"pypi","requirements":"==7.10.0","direct":false,"kind":"runtime","optional":false},{"id":14328545180,"package_name":"nbformat","ecosystem":"pypi","requirements":"==5.9.2","direct":false,"kind":"runtime","optional":false},{"id":14328545181,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"==1.5.8","direct":false,"kind":"runtime","optional":false},{"id":14328545182,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.26.1","direct":false,"kind":"runtime","optional":false},{"id":14328545183,"package_name":"packaging","ecosystem":"pypi","requirements":"==23.2","direct":false,"kind":"runtime","optional":false},{"id":14328545184,"package_name":"paginate","ecosystem":"pypi","requirements":"==0.5.6","direct":false,"kind":"runtime","optional":false},{"id":14328545185,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.5.2","direct":false,"kind":"runtime","optional":false},{"id":14328545186,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"==1.5.0","direct":false,"kind":"runtime","optional":false},{"id":14328545187,"package_name":"parso","ecosystem":"pypi","requirements":"==0.8.3","direct":false,"kind":"runtime","optional":false},{"id":14328545188,"package_name":"pathspec","ecosystem":"pypi","requirements":"==0.11.2","direct":false,"kind":"runtime","optional":false},{"id":14328545189,"package_name":"pillow","ecosystem":"pypi","requirements":"==10.1.0","direct":false,"kind":"runtime","optional":false},{"id":14328545190,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==3.11.0","direct":false,"kind":"runtime","optional":false},{"id":14328545191,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"==3.0.39","direct":false,"kind":"runtime","optional":false},{"id":14328545192,"package_name":"psutil","ecosystem":"pypi","requirements":"==5.9.6","direct":false,"kind":"runtime","optional":false},{"id":14328545193,"package_name":"pure-eval","ecosystem":"pypi","requirements":"==0.2.2","direct":false,"kind":"runtime","optional":false},{"id":14328545194,"package_name":"pybtex","ecosystem":"pypi","requirements":"==0.24.0","direct":false,"kind":"runtime","optional":false},{"id":14328545195,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.16.1","direct":false,"kind":"runtime","optional":false},{"id":14328545196,"package_name":"pymdown-extensions","ecosystem":"pypi","requirements":"==10.3.1","direct":false,"kind":"runtime","optional":false},{"id":14328545197,"package_name":"pypandoc","ecosystem":"pypi","requirements":"==1.12","direct":false,"kind":"runtime","optional":false},{"id":14328545198,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.1.1","direct":false,"kind":"runtime","optional":false},{"id":14328545199,"package_name":"pyproj","ecosystem":"pypi","requirements":"==3.6.1","direct":false,"kind":"runtime","optional":false},{"id":14328545200,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":false,"kind":"runtime","optional":false},{"id":14328545201,"package_name":"pytz","ecosystem":"pypi","requirements":"==2023.3.post1","direct":false,"kind":"runtime","optional":false},{"id":14328545202,"package_name":"pywin32","ecosystem":"pypi","requirements":"==306","direct":false,"kind":"runtime","optional":false},{"id":14328545203,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0.1","direct":false,"kind":"runtime","optional":false},{"id":14328545204,"package_name":"pyyaml-env-tag","ecosystem":"pypi","requirements":"==0.1","direct":false,"kind":"runtime","optional":false},{"id":14328545205,"package_name":"pyzmq","ecosystem":"pypi","requirements":"==25.1.1","direct":false,"kind":"runtime","optional":false},{"id":14328545206,"package_name":"referencing","ecosystem":"pypi","requirements":"==0.30.2","direct":false,"kind":"runtime","optional":false},{"id":14328545207,"package_name":"regex","ecosystem":"pypi","requirements":"==2023.10.3","direct":false,"kind":"runtime","optional":false},{"id":14328545208,"package_name":"requests","ecosystem":"pypi","requirements":"==2.31.0","direct":false,"kind":"runtime","optional":false},{"id":14328545209,"package_name":"rpds-py","ecosystem":"pypi","requirements":"==0.10.6","direct":false,"kind":"runtime","optional":false},{"id":14328545210,"package_name":"shapely","ecosystem":"pypi","requirements":"==2.0.2","direct":false,"kind":"runtime","optional":false},{"id":14328545211,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":false,"kind":"runtime","optional":false},{"id":14328545212,"package_name":"soupsieve","ecosystem":"pypi","requirements":"==2.5","direct":false,"kind":"runtime","optional":false},{"id":14328545213,"package_name":"stack-data","ecosystem":"pypi","requirements":"==0.6.3","direct":false,"kind":"runtime","optional":false},{"id":14328545214,"package_name":"tinycss2","ecosystem":"pypi","requirements":"==1.2.1","direct":false,"kind":"runtime","optional":false},{"id":14328545215,"package_name":"toml","ecosystem":"pypi","requirements":"==0.10.2","direct":false,"kind":"runtime","optional":false},{"id":14328545216,"package_name":"tornado","ecosystem":"pypi","requirements":"==6.3.3","direct":false,"kind":"runtime","optional":false},{"id":14328545217,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.66.1","direct":false,"kind":"runtime","optional":false},{"id":14328545218,"package_name":"traitlets","ecosystem":"pypi","requirements":"==5.13.0","direct":false,"kind":"runtime","optional":false},{"id":14328545219,"package_name":"urllib3","ecosystem":"pypi","requirements":"==2.0.7","direct":false,"kind":"runtime","optional":false},{"id":14328545220,"package_name":"validators","ecosystem":"pypi","requirements":"==0.22.0","direct":false,"kind":"runtime","optional":false},{"id":14328545221,"package_name":"watchdog","ecosystem":"pypi","requirements":"==3.0.0","direct":false,"kind":"runtime","optional":false},{"id":14328545222,"package_name":"wcwidth","ecosystem":"pypi","requirements":"==0.2.9","direct":false,"kind":"runtime","optional":false},{"id":14328545223,"package_name":"webencodings","ecosystem":"pypi","requirements":"==0.5.1","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"lockfile","created_at":"2023-11-06T23:10:35.979Z","updated_at":"2023-11-06T23:10:35.979Z","repository_link":"https://github.com/ImperialCollegeLondon/wsi/blob/main/requirements.txt","dependencies":[{"id":14328545224,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":false,"kind":"runtime","optional":false},{"id":14328545225,"package_name":"dill","ecosystem":"pypi","requirements":"==0.3.7","direct":false,"kind":"runtime","optional":false},{"id":14328545226,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0.1","direct":false,"kind":"runtime","optional":false},{"id":14328545227,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.66.1","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-12-01T09:47:29.927Z","updated_at":"2023-12-01T09:47:29.927Z","repository_link":"https://github.com/ImperialCollegeLondon/wsi/blob/main/Dockerfile","dependencies":[{"id":14835849070,"package_name":"python","ecosystem":"docker","requirements":"3.11.5-alpine","direct":true,"kind":"build","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish.yml","sha":null,"kind":"manifest","created_at":"2023-12-20T16:35:34.547Z","updated_at":"2023-12-20T16:35:34.547Z","repository_link":"https://github.com/ImperialCollegeLondon/wsi/blob/main/.github/workflows/publish.yml","dependencies":[{"id":15192773739,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":15192773740,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":15192773741,"package_name":"softprops/action-gh-release","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":15192773742,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":15192773743,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false}]}],"score":5.950642552587727,"created_at":"2025-09-04T09:17:45.293Z","updated_at":"2025-10-07T08:04:30.922Z","avatar_url":"https://github.com/ImperialCollegeLondon.png","language":"Python","category":"Scientific Software","sub_category":"Peer-reviewed","monthly_downloads":0,"funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.04996","https://doi.org/10.5194/gmd-17-4495-2024","https://doi.org/10.1016/j.envsoft.2016.10.013"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["hydraulic-modelling","hydrology-stormwater-analysis","stormwater","swmm","swmm5","swmmanywhere","mesh","energy-system","exoplanet","polygon"],"project_url":"https://science.ecosyste.ms/api/v1/projects/1221","html_url":"https://science.ecosyste.ms/projects/1221"}