{"id":301552,"name":"EPyT-Flow","description":"Provides easy access to water distribution network simulations with a high level interface for generation of hydraulic and water quality scenario data.","url":"https://github.com/waterfutures/epyt-flow","last_synced_at":"2026-04-07T02:30:20.491Z","repository":{"id":238967039,"uuid":"738986318","full_name":"WaterFutures/EPyT-Flow","owner":"WaterFutures","description":"A Python package designed for the easy generation of hydraulic and water quality scenario data of water distribution networks.","archived":false,"fork":false,"pushed_at":"2026-03-12T08:41:22.000Z","size":8204,"stargazers_count":40,"open_issues_count":0,"forks_count":8,"subscribers_count":6,"default_branch":"dev","last_synced_at":"2026-03-30T23:02:21.100Z","etag":null,"topics":["epanet","epanet-python-toolkit","hydraulics","python","simulation","water","water-distribution-networks"],"latest_commit_sha":null,"homepage":"https://epyt-flow.readthedocs.io/en/stable","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/WaterFutures.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","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":"2024-01-04T14:07:18.000Z","updated_at":"2026-03-10T14:42:41.000Z","dependencies_parsed_at":"2024-05-21T09:37:21.251Z","dependency_job_id":"625e3ff6-ef87-4366-8fe8-760679bbaa60","html_url":"https://github.com/WaterFutures/EPyT-Flow","commit_stats":{"total_commits":484,"total_committers":4,"mean_commits":121.0,"dds":"0.10330578512396693","last_synced_commit":"a793ae1cc5f79964f05e376ccea0876ea4e655c8"},"previous_names":["waterfutures/epyt-flow"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/WaterFutures/EPyT-Flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31456664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"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":"WaterFutures","name":"ERC Synergy Grant Water Futures","uuid":"149570313","kind":"organization","description":"Repository for the ERC SyG Water Futures Team","email":null,"website":"www.waterfutures.eu","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/149570313?v=4","repositories_count":1,"last_synced_at":"2024-01-31T13:34:11.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/WaterFutures","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2024-01-31T13:34:11.826Z","updated_at":"2024-01-31T13:34:11.826Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures/repositories"},"packages":[{"id":9941468,"name":"epyt-flow","ecosystem":"pypi","description":"EPyT-Flow -- EPANET Python Toolkit - Flow","homepage":"https://github.com/WaterFutures/EPyT-Flow","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/WaterFutures/EPyT-Flow","keywords_array":["epanet","water","networks","hydraulics","quality","simulations"],"namespace":null,"versions_count":24,"first_release_published_at":"2024-05-10T06:03:13.000Z","latest_release_published_at":"2025-11-18T07:29:30.000Z","latest_release_number":"0.15.0","last_synced_at":"2026-04-01T10:05:05.527Z","created_at":"2024-05-10T06:16:27.611Z","updated_at":"2026-04-06T01:10:26.641Z","registry_url":"https://pypi.org/project/epyt-flow/","install_command":"pip install epyt-flow --index-url https://pypi.org/simple","documentation_url":"https://epyt-flow.readthedocs.io/en/stable/","metadata":{"funding":null,"documentation":"https://epyt-flow.readthedocs.io/en/stable/","classifiers":["Development Status :: 4 - Beta","Intended Audience :: Science/Research","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: 3.9"],"normalized_name":"epyt-flow","project_status":null},"repo_metadata":{"id":238967039,"uuid":"738986318","full_name":"WaterFutures/EPyT-Flow","owner":"WaterFutures","description":"A Python package designed for the easy generation of hydraulic and water quality scenario data of water distribution networks.","archived":false,"fork":false,"pushed_at":"2025-10-01T12:29:24.000Z","size":7801,"stargazers_count":35,"open_issues_count":0,"forks_count":6,"subscribers_count":7,"default_branch":"dev","last_synced_at":"2025-10-04T15:17:40.939Z","etag":null,"topics":["epanet","epanet-python-toolkit","hydraulics","python","simulation","water","water-distribution-networks"],"latest_commit_sha":null,"homepage":"https://epyt-flow.readthedocs.io/en/stable","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/WaterFutures.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","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":"2024-01-04T14:07:18.000Z","updated_at":"2025-09-23T16:33:49.000Z","dependencies_parsed_at":"2024-05-21T09:37:21.251Z","dependency_job_id":"625e3ff6-ef87-4366-8fe8-760679bbaa60","html_url":"https://github.com/WaterFutures/EPyT-Flow","commit_stats":{"total_commits":484,"total_committers":4,"mean_commits":121.0,"dds":"0.10330578512396693","last_synced_commit":"a793ae1cc5f79964f05e376ccea0876ea4e655c8"},"previous_names":["waterfutures/epyt-flow"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/WaterFutures/EPyT-Flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004908,"owners_count":26083802,"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-10-10T02:00:06.843Z","response_time":62,"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_record":{"login":"WaterFutures","name":"ERC Synergy Grant Water Futures","uuid":"149570313","kind":"organization","description":"Repository for the ERC SyG Water Futures Team","email":null,"website":"www.waterfutures.eu","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/149570313?v=4","repositories_count":1,"last_synced_at":"2024-01-31T13:34:11.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/WaterFutures","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2024-01-31T13:34:11.826Z","updated_at":"2024-01-31T13:34:11.826Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures/repositories"},"tags":[{"name":"v0.14.2","sha":"c292149804f251f5a518532e3f717e25f517b958","kind":"commit","published_at":"2025-09-01T18:59:37.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.14.2","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.14.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.2/manifests"},{"name":"v0.14.1","sha":"7ec692b089f74e1daecc7d96c5d544d74719e647","kind":"commit","published_at":"2025-08-01T12:35:50.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.14.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.1/manifests"},{"name":"v0.14.0","sha":"afa3569d7fb5e138a183e886ca56d245a6f5d634","kind":"commit","published_at":"2025-07-04T10:29:33.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.14.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.0/manifests"},{"name":"v0.13.1","sha":"e0f158e464d5da6fbd6b8c1591b97a750be39d94","kind":"commit","published_at":"2025-05-11T16:45:40.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.13.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.1/manifests"},{"name":"v0.13.0","sha":"4dd477e28006925fa3fe7087c5c07fd536634533","kind":"commit","published_at":"2025-05-06T08:12:12.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.13.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.0/manifests"},{"name":"v0.12.0","sha":"0a2846c23beb6d752b792f23004a1985f4374d35","kind":"commit","published_at":"2025-04-25T06:58:56.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.12.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.12.0/manifests"},{"name":"v0.11.0","sha":"4af57b2b7e0ce98e3dc1553713aa25de8191a0c6","kind":"commit","published_at":"2025-03-10T07:35:21.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.11.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"90153308c664c5ef036ed561a29bf3adff3a165a","kind":"commit","published_at":"2025-01-24T12:09:42.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.10.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.10.0/manifests"},{"name":"v0.9.0","sha":"9529d63de995723e987ffb9e4c17564160321546","kind":"commit","published_at":"2024-12-28T14:32:47.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.9.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.9.0/manifests"},{"name":"v0.8.1","sha":"8e11443110cda46ef7e0299ab1441be1843bbe7f","kind":"commit","published_at":"2024-12-05T08:25:07.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.8.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.1/manifests"},{"name":"v0.8.0","sha":"3374e26b06f0d7299a4f940425884a06eb9f1a80","kind":"commit","published_at":"2024-11-30T08:45:05.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.8.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.0/manifests"},{"name":"v0.7.3","sha":"ce8c96ee97cd4f2ca1a2894a81202c1cd7ae1006","kind":"commit","published_at":"2024-11-12T07:35:10.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.3","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.3/manifests"},{"name":"v0.7.2","sha":"77164dbf449922a256e0e4587bca43eb35ba56e6","kind":"commit","published_at":"2024-11-10T18:14:58.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.2","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.2/manifests"},{"name":"v0.7.1","sha":"892fe4b5418144ed1c5679ad587b2ee7fb2f9f9f","kind":"commit","published_at":"2024-11-10T17:21:21.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"0c39a52ed9d5ba2b0c7e151a92e65e4c90f7e9f3","kind":"commit","published_at":"2024-10-31T07:56:41.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"8ca3a3578e10996ff45c169e465ee8a0b1be9439","kind":"commit","published_at":"2024-07-18T10:12:35.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.6.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"4058d33cbdcc52d726b2a6d3412ecee31ed0276d","kind":"commit","published_at":"2024-06-27T08:13:55.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.5.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"fda60832092aa998e0b3b3e3a1a41176a38285b2","kind":"commit","published_at":"2024-06-17T11:13:47.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.4.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"b204629c2719811d4f8244ad5ce4d9271d55fc0c","kind":"commit","published_at":"2024-06-09T07:00:31.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.3.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"3ab67dd3182447a8e78c8e9f87a33151a5a028bf","kind":"commit","published_at":"2024-06-01T13:13:01.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.2.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.2.0/manifests"},{"name":"v0.1.1","sha":"ff040dc22a926713804816e7e61307aa3db5a955","kind":"commit","published_at":"2024-05-13T07:29:11.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.1.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"04208f936d7df7405f2d2b2e1bb8ca2c7203ef2c","kind":"commit","published_at":"2024-05-09T07:29:09.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.1.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-11-18T07:48:19.953Z","dependent_packages_count":0,"downloads":670,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":62.108682342603984,"dependent_packages_count":9.415090045185798,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":35.76188619389489},"purl":"pkg:pypi/epyt-flow","advisories":[{"uuid":"GSA_kwCzR0hTQS03NHZtLThmcnAtN3c2OM4ABR9g","url":"https://github.com/advisories/GHSA-74vm-8frp-7w68","title":"EPyT-Flow vulnerable to unsafe JSON deserialization (__type__)","description":"### Impact\nEPyT-Flow’s REST API parses attacker-controlled JSON request bodies using a custom deserializer (my_load_from_json) that supports a __type__ field. When __type__ is present, the deserializer dynamically imports an attacker-specified module/class and instantiates it with attacker-supplied arguments. This allows invoking dangerous classes such as subprocess.Popen, which can lead to OS command execution during JSON parsing. This also affects the loading of JSON files.\n\n### Patches\nEPyT-Flow  has been patched in 0.16.1 -- affects all versions \u003c= 0.16.0\n\n### Workarounds\nDo not load any JSON from untrusted sources and do not expose the REST API.\n\n### Credits\nEPyT-Flow  thanks Jarrett Chan (@syphonetic) for detecting and reporting the bug.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2026-02-04T20:34:28.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":10.0,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","references":["https://github.com/WaterFutures/EPyT-Flow/security/advisories/GHSA-74vm-8frp-7w68","https://github.com/WaterFutures/EPyT-Flow/commit/3fff9151494c7dbc72073830b734f0a7e550e385","https://nvd.nist.gov/vuln/detail/CVE-2026-25632","https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.16.1","https://github.com/advisories/GHSA-74vm-8frp-7w68"],"source_kind":"github","identifiers":["GHSA-74vm-8frp-7w68","CVE-2026-25632"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-02-04T21:00:08.403Z","updated_at":"2026-04-06T01:01:03.093Z","epss_percentage":0.00079,"epss_percentile":0.23478,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03NHZtLThmcnAtN3c2OM4ABR9g","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS03NHZtLThmcnAtN3c2OM4ABR9g","packages":[{"ecosystem":"pypi","package_name":"epyt-flow","versions":[{"first_patched_version":"0.16.1","vulnerable_version_range":"\u003c 0.16.1"}],"purl":"pkg:pypi/epyt-flow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03NHZtLThmcnAtN3c2OM4ABR9g/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/epyt-flow","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/epyt-flow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/epyt-flow/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T20:08:05.933Z","issues_count":23,"pull_requests_count":3,"avg_time_to_close_issue":1187563.4782608696,"avg_time_to_close_pull_request":1173329.0,"issues_closed_count":23,"pull_requests_closed_count":2,"pull_request_authors_count":2,"issue_authors_count":5,"avg_comments_per_issue":3.3478260869565215,"avg_comments_per_pull_request":3.3333333333333335,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":15,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":1239282.9333333333,"past_year_avg_time_to_close_pull_request":1173329.0,"past_year_issues_closed_count":15,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":4.066666666666666,"past_year_avg_comments_per_pull_request":3.3333333333333335,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterfutures%2Fepyt-flow/issues","maintainers":[{"login":"andreArtelt","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/andreArtelt"},{"login":"Mariosmsk","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Mariosmsk"}],"active_maintainers":[{"login":"andreArtelt","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/andreArtelt"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/epyt-flow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/epyt-flow/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/epyt-flow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/epyt-flow/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/epyt-flow/codemeta","maintainers":[{"uuid":"mariosmsk","login":"mariosmsk","name":null,"email":null,"url":null,"packages_count":5,"html_url":"https://pypi.org/user/mariosmsk/","role":null,"created_at":"2024-05-10T06:16:29.170Z","updated_at":"2024-05-10T06:16:29.170Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/mariosmsk/packages"},{"uuid":"andreArtelt","login":"andreArtelt","name":null,"email":null,"url":null,"packages_count":5,"html_url":"https://pypi.org/user/andreArtelt/","role":null,"created_at":"2024-05-10T06:16:29.135Z","updated_at":"2024-05-10T06:16:29.135Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/andreArtelt/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":833444,"maintainers_count":355813,"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"}},{"id":11733680,"name":"github.com/WaterFutures/EPyT-Flow","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/WaterFutures/EPyT-Flow","keywords_array":[],"namespace":null,"versions_count":26,"first_release_published_at":"2025-06-05T11:17:47.649Z","latest_release_published_at":"2026-03-06T07:49:59.000Z","latest_release_number":"v0.17.0","last_synced_at":"2026-04-02T00:01:07.438Z","created_at":"2025-06-05T11:17:43.830Z","updated_at":"2026-04-02T00:01:07.438Z","registry_url":"https://pkg.go.dev/github.com/WaterFutures/EPyT-Flow","install_command":"go get github.com/WaterFutures/EPyT-Flow","documentation_url":"https://pkg.go.dev/github.com/WaterFutures/EPyT-Flow#section-documentation","metadata":{},"repo_metadata":{"id":238967039,"uuid":"738986318","full_name":"WaterFutures/EPyT-Flow","owner":"WaterFutures","description":"A Python package designed for the easy generation of hydraulic and water quality scenario data of water distribution networks.","archived":false,"fork":false,"pushed_at":"2025-10-01T12:29:24.000Z","size":7801,"stargazers_count":35,"open_issues_count":0,"forks_count":6,"subscribers_count":7,"default_branch":"dev","last_synced_at":"2025-10-04T15:17:40.939Z","etag":null,"topics":["epanet","epanet-python-toolkit","hydraulics","python","simulation","water","water-distribution-networks"],"latest_commit_sha":null,"homepage":"https://epyt-flow.readthedocs.io/en/stable","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/WaterFutures.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","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":"2024-01-04T14:07:18.000Z","updated_at":"2025-09-23T16:33:49.000Z","dependencies_parsed_at":"2024-05-21T09:37:21.251Z","dependency_job_id":"625e3ff6-ef87-4366-8fe8-760679bbaa60","html_url":"https://github.com/WaterFutures/EPyT-Flow","commit_stats":{"total_commits":484,"total_committers":4,"mean_commits":121.0,"dds":"0.10330578512396693","last_synced_commit":"a793ae1cc5f79964f05e376ccea0876ea4e655c8"},"previous_names":["waterfutures/epyt-flow"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/WaterFutures/EPyT-Flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004908,"owners_count":26083802,"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-10-10T02:00:06.843Z","response_time":62,"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_record":{"login":"WaterFutures","name":"ERC Synergy Grant Water Futures","uuid":"149570313","kind":"organization","description":"Repository for the ERC SyG Water Futures Team","email":null,"website":"www.waterfutures.eu","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/149570313?v=4","repositories_count":1,"last_synced_at":"2024-01-31T13:34:11.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/WaterFutures","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2024-01-31T13:34:11.826Z","updated_at":"2024-01-31T13:34:11.826Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures/repositories"},"tags":[{"name":"v0.14.2","sha":"c292149804f251f5a518532e3f717e25f517b958","kind":"commit","published_at":"2025-09-01T18:59:37.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.14.2","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.14.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.2/manifests"},{"name":"v0.14.1","sha":"7ec692b089f74e1daecc7d96c5d544d74719e647","kind":"commit","published_at":"2025-08-01T12:35:50.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.14.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.1/manifests"},{"name":"v0.14.0","sha":"afa3569d7fb5e138a183e886ca56d245a6f5d634","kind":"commit","published_at":"2025-07-04T10:29:33.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.14.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.0/manifests"},{"name":"v0.13.1","sha":"e0f158e464d5da6fbd6b8c1591b97a750be39d94","kind":"commit","published_at":"2025-05-11T16:45:40.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.13.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.1/manifests"},{"name":"v0.13.0","sha":"4dd477e28006925fa3fe7087c5c07fd536634533","kind":"commit","published_at":"2025-05-06T08:12:12.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.13.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.0/manifests"},{"name":"v0.12.0","sha":"0a2846c23beb6d752b792f23004a1985f4374d35","kind":"commit","published_at":"2025-04-25T06:58:56.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.12.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.12.0/manifests"},{"name":"v0.11.0","sha":"4af57b2b7e0ce98e3dc1553713aa25de8191a0c6","kind":"commit","published_at":"2025-03-10T07:35:21.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.11.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"90153308c664c5ef036ed561a29bf3adff3a165a","kind":"commit","published_at":"2025-01-24T12:09:42.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.10.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.10.0/manifests"},{"name":"v0.9.0","sha":"9529d63de995723e987ffb9e4c17564160321546","kind":"commit","published_at":"2024-12-28T14:32:47.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.9.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.9.0/manifests"},{"name":"v0.8.1","sha":"8e11443110cda46ef7e0299ab1441be1843bbe7f","kind":"commit","published_at":"2024-12-05T08:25:07.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.8.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.1/manifests"},{"name":"v0.8.0","sha":"3374e26b06f0d7299a4f940425884a06eb9f1a80","kind":"commit","published_at":"2024-11-30T08:45:05.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.8.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.0/manifests"},{"name":"v0.7.3","sha":"ce8c96ee97cd4f2ca1a2894a81202c1cd7ae1006","kind":"commit","published_at":"2024-11-12T07:35:10.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.3","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.3/manifests"},{"name":"v0.7.2","sha":"77164dbf449922a256e0e4587bca43eb35ba56e6","kind":"commit","published_at":"2024-11-10T18:14:58.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.2","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.2/manifests"},{"name":"v0.7.1","sha":"892fe4b5418144ed1c5679ad587b2ee7fb2f9f9f","kind":"commit","published_at":"2024-11-10T17:21:21.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"0c39a52ed9d5ba2b0c7e151a92e65e4c90f7e9f3","kind":"commit","published_at":"2024-10-31T07:56:41.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"8ca3a3578e10996ff45c169e465ee8a0b1be9439","kind":"commit","published_at":"2024-07-18T10:12:35.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.6.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"4058d33cbdcc52d726b2a6d3412ecee31ed0276d","kind":"commit","published_at":"2024-06-27T08:13:55.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.5.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"fda60832092aa998e0b3b3e3a1a41176a38285b2","kind":"commit","published_at":"2024-06-17T11:13:47.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.4.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"b204629c2719811d4f8244ad5ce4d9271d55fc0c","kind":"commit","published_at":"2024-06-09T07:00:31.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.3.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"3ab67dd3182447a8e78c8e9f87a33151a5a028bf","kind":"commit","published_at":"2024-06-01T13:13:01.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.2.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.2.0/manifests"},{"name":"v0.1.1","sha":"ff040dc22a926713804816e7e61307aa3db5a955","kind":"commit","published_at":"2024-05-13T07:29:11.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.1.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"04208f936d7df7405f2d2b2e1bb8ca2c7203ef2c","kind":"commit","published_at":"2024-05-09T07:29:09.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.1.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-10-13T05:45:10.511Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/%21water%21futures/%21e%21py%21t-%21flow","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/WaterFutures/EPyT-Flow","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/WaterFutures/EPyT-Flow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/WaterFutures/EPyT-Flow/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T20:08:05.933Z","issues_count":23,"pull_requests_count":3,"avg_time_to_close_issue":1187563.4782608696,"avg_time_to_close_pull_request":1173329.0,"issues_closed_count":23,"pull_requests_closed_count":2,"pull_request_authors_count":2,"issue_authors_count":5,"avg_comments_per_issue":3.3478260869565215,"avg_comments_per_pull_request":3.3333333333333335,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":15,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":1239282.9333333333,"past_year_avg_time_to_close_pull_request":1173329.0,"past_year_issues_closed_count":15,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":4.066666666666666,"past_year_avg_comments_per_pull_request":3.3333333333333335,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterfutures%2Fepyt-flow/issues","maintainers":[{"login":"andreArtelt","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/andreArtelt"},{"login":"Mariosmsk","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Mariosmsk"}],"active_maintainers":[{"login":"andreArtelt","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/andreArtelt"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FWaterFutures%2FEPyT-Flow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FWaterFutures%2FEPyT-Flow/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FWaterFutures%2FEPyT-Flow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FWaterFutures%2FEPyT-Flow/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FWaterFutures%2FEPyT-Flow/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2086715,"maintainers_count":0,"namespaces_count":779664,"keywords_count":112728,"github":"golang","metadata":{"funded_packages_count":53440},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-05T05:09:06.732Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":11733708,"name":"github.com/waterfutures/epyt-flow","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/waterfutures/epyt-flow","keywords_array":[],"namespace":null,"versions_count":26,"first_release_published_at":"2024-05-09T07:29:09.000Z","latest_release_published_at":"2026-03-06T07:49:59.000Z","latest_release_number":"v0.17.0","last_synced_at":"2026-04-02T00:01:07.430Z","created_at":"2025-06-05T11:17:45.490Z","updated_at":"2026-04-02T00:01:07.430Z","registry_url":"https://pkg.go.dev/github.com/waterfutures/epyt-flow","install_command":"go get github.com/waterfutures/epyt-flow","documentation_url":"https://pkg.go.dev/github.com/waterfutures/epyt-flow#section-documentation","metadata":{},"repo_metadata":{"id":238967039,"uuid":"738986318","full_name":"WaterFutures/EPyT-Flow","owner":"WaterFutures","description":"A Python package designed for the easy generation of hydraulic and water quality scenario data of water distribution networks.","archived":false,"fork":false,"pushed_at":"2025-10-01T12:29:24.000Z","size":7801,"stargazers_count":35,"open_issues_count":0,"forks_count":6,"subscribers_count":7,"default_branch":"dev","last_synced_at":"2025-10-04T15:17:40.939Z","etag":null,"topics":["epanet","epanet-python-toolkit","hydraulics","python","simulation","water","water-distribution-networks"],"latest_commit_sha":null,"homepage":"https://epyt-flow.readthedocs.io/en/stable","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/WaterFutures.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","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":"2024-01-04T14:07:18.000Z","updated_at":"2025-09-23T16:33:49.000Z","dependencies_parsed_at":"2024-05-21T09:37:21.251Z","dependency_job_id":"625e3ff6-ef87-4366-8fe8-760679bbaa60","html_url":"https://github.com/WaterFutures/EPyT-Flow","commit_stats":{"total_commits":484,"total_committers":4,"mean_commits":121.0,"dds":"0.10330578512396693","last_synced_commit":"a793ae1cc5f79964f05e376ccea0876ea4e655c8"},"previous_names":["waterfutures/epyt-flow"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/WaterFutures/EPyT-Flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002335,"owners_count":26083356,"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-10-09T02:00:07.460Z","response_time":59,"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_record":{"login":"WaterFutures","name":"ERC Synergy Grant Water Futures","uuid":"149570313","kind":"organization","description":"Repository for the ERC SyG Water Futures Team","email":null,"website":"www.waterfutures.eu","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/149570313?v=4","repositories_count":1,"last_synced_at":"2024-01-31T13:34:11.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/WaterFutures","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2024-01-31T13:34:11.826Z","updated_at":"2024-01-31T13:34:11.826Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaterFutures/repositories"},"tags":[{"name":"v0.14.2","sha":"c292149804f251f5a518532e3f717e25f517b958","kind":"commit","published_at":"2025-09-01T18:59:37.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.14.2","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.14.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.2/manifests"},{"name":"v0.14.1","sha":"7ec692b089f74e1daecc7d96c5d544d74719e647","kind":"commit","published_at":"2025-08-01T12:35:50.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.14.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.1/manifests"},{"name":"v0.14.0","sha":"afa3569d7fb5e138a183e886ca56d245a6f5d634","kind":"commit","published_at":"2025-07-04T10:29:33.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.14.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.14.0/manifests"},{"name":"v0.13.1","sha":"e0f158e464d5da6fbd6b8c1591b97a750be39d94","kind":"commit","published_at":"2025-05-11T16:45:40.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.13.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.1/manifests"},{"name":"v0.13.0","sha":"4dd477e28006925fa3fe7087c5c07fd536634533","kind":"commit","published_at":"2025-05-06T08:12:12.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.13.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.13.0/manifests"},{"name":"v0.12.0","sha":"0a2846c23beb6d752b792f23004a1985f4374d35","kind":"commit","published_at":"2025-04-25T06:58:56.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.12.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.12.0/manifests"},{"name":"v0.11.0","sha":"4af57b2b7e0ce98e3dc1553713aa25de8191a0c6","kind":"commit","published_at":"2025-03-10T07:35:21.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.11.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"90153308c664c5ef036ed561a29bf3adff3a165a","kind":"commit","published_at":"2025-01-24T12:09:42.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.10.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.10.0/manifests"},{"name":"v0.9.0","sha":"9529d63de995723e987ffb9e4c17564160321546","kind":"commit","published_at":"2024-12-28T14:32:47.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.9.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.9.0/manifests"},{"name":"v0.8.1","sha":"8e11443110cda46ef7e0299ab1441be1843bbe7f","kind":"commit","published_at":"2024-12-05T08:25:07.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.8.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.1/manifests"},{"name":"v0.8.0","sha":"3374e26b06f0d7299a4f940425884a06eb9f1a80","kind":"commit","published_at":"2024-11-30T08:45:05.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.8.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.8.0/manifests"},{"name":"v0.7.3","sha":"ce8c96ee97cd4f2ca1a2894a81202c1cd7ae1006","kind":"commit","published_at":"2024-11-12T07:35:10.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.3","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.3/manifests"},{"name":"v0.7.2","sha":"77164dbf449922a256e0e4587bca43eb35ba56e6","kind":"commit","published_at":"2024-11-10T18:14:58.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.2","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.2/manifests"},{"name":"v0.7.1","sha":"892fe4b5418144ed1c5679ad587b2ee7fb2f9f9f","kind":"commit","published_at":"2024-11-10T17:21:21.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"0c39a52ed9d5ba2b0c7e151a92e65e4c90f7e9f3","kind":"commit","published_at":"2024-10-31T07:56:41.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.7.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"8ca3a3578e10996ff45c169e465ee8a0b1be9439","kind":"commit","published_at":"2024-07-18T10:12:35.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.6.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"4058d33cbdcc52d726b2a6d3412ecee31ed0276d","kind":"commit","published_at":"2024-06-27T08:13:55.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.5.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"fda60832092aa998e0b3b3e3a1a41176a38285b2","kind":"commit","published_at":"2024-06-17T11:13:47.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.4.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"b204629c2719811d4f8244ad5ce4d9271d55fc0c","kind":"commit","published_at":"2024-06-09T07:00:31.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.3.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"3ab67dd3182447a8e78c8e9f87a33151a5a028bf","kind":"commit","published_at":"2024-06-01T13:13:01.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.2.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.2.0/manifests"},{"name":"v0.1.1","sha":"ff040dc22a926713804816e7e61307aa3db5a955","kind":"commit","published_at":"2024-05-13T07:29:11.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.1.1","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"04208f936d7df7405f2d2b2e1bb8ca2c7203ef2c","kind":"commit","published_at":"2024-05-09T07:29:09.000Z","download_url":"https://codeload.github.com/WaterFutures/EPyT-Flow/tar.gz/v0.1.0","html_url":"https://github.com/WaterFutures/EPyT-Flow/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WaterFutures/EPyT-Flow@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaterFutures%2FEPyT-Flow/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-10-13T05:45:10.485Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/waterfutures/epyt-flow","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/waterfutures/epyt-flow","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/waterfutures/epyt-flow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/waterfutures/epyt-flow/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T20:08:05.933Z","issues_count":23,"pull_requests_count":3,"avg_time_to_close_issue":1187563.4782608696,"avg_time_to_close_pull_request":1173329.0,"issues_closed_count":23,"pull_requests_closed_count":2,"pull_request_authors_count":2,"issue_authors_count":5,"avg_comments_per_issue":3.3478260869565215,"avg_comments_per_pull_request":3.3333333333333335,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":15,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":1239282.9333333333,"past_year_avg_time_to_close_pull_request":1173329.0,"past_year_issues_closed_count":15,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":4.066666666666666,"past_year_avg_comments_per_pull_request":3.3333333333333335,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterfutures%2Fepyt-flow/issues","maintainers":[{"login":"andreArtelt","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/andreArtelt"},{"login":"Mariosmsk","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Mariosmsk"}],"active_maintainers":[{"login":"andreArtelt","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/andreArtelt"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fwaterfutures%2Fepyt-flow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fwaterfutures%2Fepyt-flow/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fwaterfutures%2Fepyt-flow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fwaterfutures%2Fepyt-flow/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fwaterfutures%2Fepyt-flow/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2086715,"maintainers_count":0,"namespaces_count":779664,"keywords_count":112728,"github":"golang","metadata":{"funded_packages_count":53440},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-05T05:09:06.732Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":2456335,"full_name":"waterfutures/epyt-flow","default_branch":"dev","total_commits":836,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":139.33333333333334,"dds":0.13157894736842102,"past_year_total_commits":148,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":37.0,"past_year_dds":0.17567567567567566,"last_synced_at":"2026-04-02T00:01:24.291Z","last_synced_commit":"dab6ef25e65155d2ad3622f2c7ba39e78ae78b48","created_at":"2024-10-09T00:18:45.349Z","updated_at":"2026-04-02T00:01:24.117Z","committers":[{"name":"André Artelt","email":"aartelt@techfak.de","login":"andreArtelt","count":726},{"name":"kurceliana","email":"kurceliana@gmail.com","login":"kurceliana","count":62},{"name":"Marios S. Kyriakou","email":"mariosmsk@gmail.com","login":"Mariosmsk","count":33},{"name":"Paul Stahlhofen","email":"pstahlhofen@techfak.uni-bielefeld.de","login":"pstahlhofen","count":7},{"name":"Alissa","email":"alissa.mueller@uni-bielefeld.de","login":"alissamueller","count":6},{"name":"Stelios G. Vrachimis","email":"vrachimis.stelios@ucy.ac.cy","login":"SteliosVr","count":2}],"past_year_committers":[{"name":"André Artelt","email":"aartelt@techfak.de","login":"andreArtelt","count":122},{"name":"kurceliana","email":"kurceliana@gmail.com","login":"kurceliana","count":13},{"name":"Paul Stahlhofen","email":"pstahlhofen@techfak.uni-bielefeld.de","login":"pstahlhofen","count":7},{"name":"Alissa","email":"alissa.mueller@uni-bielefeld.de","login":"alissamueller","count":6}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterfutures%2Fepyt-flow/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-06T00:00:08.903Z","repositories_count":6211370,"commits_count":923313496,"contributors_count":35716567,"owners_count":1144005,"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":"waterfutures/epyt-flow","html_url":"https://github.com/waterfutures/epyt-flow","last_synced_at":"2026-01-22T14:01:56.727Z","status":"active","issues_count":22,"pull_requests_count":7,"avg_time_to_close_issue":992658.95,"avg_time_to_close_pull_request":714587.6,"issues_closed_count":20,"pull_requests_closed_count":5,"pull_request_authors_count":2,"issue_authors_count":5,"avg_comments_per_issue":2.3181818181818183,"avg_comments_per_pull_request":2.2857142857142856,"merged_pull_requests_count":5,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":670436.6666666666,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":2.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2024-10-09T00:18:45.730Z","updated_at":"2026-01-22T14:01:56.727Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterfutures%2Fepyt-flow","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterfutures%2Fepyt-flow/issues","issue_labels_count":{"enhancement":5,"bug":1},"pull_request_labels_count":{},"issue_author_associations_count":{"MEMBER":12,"COLLABORATOR":6,"NONE":4},"pull_request_author_associations_count":{"CONTRIBUTOR":6,"NONE":1},"issue_authors":{"andreArtelt":12,"Mariosmsk":6,"meghnathomas":2,"kbonney":1,"jorgelcq":1},"pull_request_authors":{"gieseka":5,"kurceliana":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-06T00:00:09.270Z","repositories_count":14097613,"issues_count":34421516,"pull_requests_count":112288448,"authors_count":11226699,"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":{"CONTRIBUTOR":4},"past_year_issue_authors":{},"past_year_pull_request_authors":{"gieseka":4},"maintainers":[{"login":"andreArtelt","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/andreArtelt"},{"login":"Mariosmsk","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Mariosmsk"}],"active_maintainers":[]},"events":{"total":{"ReleaseEvent":14,"DeleteEvent":4,"MemberEvent":1,"PullRequestEvent":8,"ForkEvent":3,"IssuesEvent":8,"WatchEvent":19,"IssueCommentEvent":24,"PushEvent":212,"CreateEvent":18},"last_year":{"ReleaseEvent":5,"DeleteEvent":3,"MemberEvent":1,"PullRequestEvent":5,"ForkEvent":1,"WatchEvent":9,"IssueCommentEvent":4,"PushEvent":68,"CreateEvent":8}},"keywords":["epanet","epanet-python-toolkit","hydraulics","python","simulation","water","water-distribution-networks"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/build_tests.yml","sha":null,"kind":"manifest","created_at":"2024-05-16T21:44:32.109Z","updated_at":"2024-05-16T21:44:32.109Z","repository_link":"https://github.com/WaterFutures/EPyT-Flow/blob/dev/.github/workflows/build_tests.yml","dependencies":[{"id":18117575210,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":18117575211,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/draft-pdf.yml","sha":null,"kind":"manifest","created_at":"2024-05-16T21:44:32.233Z","updated_at":"2024-05-16T21:44:32.233Z","repository_link":"https://github.com/WaterFutures/EPyT-Flow/blob/dev/.github/workflows/draft-pdf.yml","dependencies":[{"id":18117575473,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":18117575474,"package_name":"openjournals/openjournals-draft-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":18117575475,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-05-16T21:44:32.302Z","updated_at":"2024-05-16T21:44:32.302Z","repository_link":"https://github.com/WaterFutures/EPyT-Flow/blob/dev/docs/requirements.txt","dependencies":[{"id":18117575480,"package_name":"epyt-flow","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":18117575486,"package_name":"sphinx","ecosystem":"pypi","requirements":"\u003e=7.2.6","direct":true,"kind":"runtime","optional":false},{"id":18117575487,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"\u003e=2.0.0","direct":true,"kind":"runtime","optional":false},{"id":18117575488,"package_name":"nbsphinx","ecosystem":"pypi","requirements":"\u003e=0.9.3","direct":true,"kind":"runtime","optional":false},{"id":18117575489,"package_name":"ipykernel","ecosystem":"pypi","requirements":"\u003e=6.29.3","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2024-05-16T21:44:34.620Z","updated_at":"2024-05-16T21:44:34.620Z","repository_link":"https://github.com/WaterFutures/EPyT-Flow/blob/dev/pyproject.toml","dependencies":[]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2024-05-16T21:44:38.929Z","updated_at":"2024-05-16T21:44:38.929Z","repository_link":"https://github.com/WaterFutures/EPyT-Flow/blob/dev/setup.py","dependencies":[]}],"score":11.99089726386514,"created_at":"2024-10-09T00:18:20.759Z","updated_at":"2026-04-07T02:30:20.500Z","avatar_url":"https://github.com/WaterFutures.png","language":"Python","category":"Natural Resources","sub_category":"Water Supply and Quality","monthly_downloads":670,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"[![pypi](https://img.shields.io/pypi/v/epyt-flow.svg)](https://pypi.org/project/epyt-flow/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/epyt-flow)\n[![build](https://github.com/WaterFutures/EPyT-Flow/actions/workflows/build_tests.yml/badge.svg)](https://github.com/WaterFutures/EPyT-Flow/actions/workflows/build_tests.yml)\n[![Documentation Status](https://readthedocs.org/projects/epyt-flow/badge/?version=stable)](https://epyt-flow.readthedocs.io/en/stable/?badge=stable)\n[![Downloads](https://static.pepy.tech/badge/epyt-flow)](https://pepy.tech/project/epyt-flow)\n[![Downloads](https://static.pepy.tech/badge/epyt-flow/month)](https://pepy.tech/project/epyt-flow)\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.07104/status.svg)](https://doi.org/10.21105/joss.07104)\n\n# EPyT-Flow -- EPANET Python Toolkit - Flow\n\n\u003cimg src=\"https://github.com/WaterFutures/EPyT-Flow/blob/main/docs/_static/net1_plot.png?raw=true\" align=\"right\" height=\"230px\"/\u003e\n\nEPyT-Flow is a Python package building on top of [EPANET-PLUS](https://github.com/WaterFutures/EPANET-PLUS) --\nan extension and interface of [EPANET](https://github.com/OpenWaterAnalytics/EPANET)\nand [EPANET-MSX](https://github.com/OpenWaterAnalytics/epanet-msx) -- \nfor providing easy access to water distribution network simulations.\nIt aims to provide a high-level interface for the easy generation of hydraulic and water quality scenario data.\nHowever, it also provides access to all functions of EPANET\nand EPANET-MSX.\n\nEPyT-Flow provides easy access to popular benchmark data sets for event detection and localization.\nFurthermore, it also provides an environment for developing and testing control algorithms.\n\n\n## Unique Features\n\nUnique features of EPyT-Flow that make it superior to other (Python) toolboxes are the following:\n\n- High-performance hydraulic and (advanced) water quality simulation\n- High- and low-level interface\n- Object-orientated design that is easy to extend and customize\n- Sensor configurations\n- Wide variety of pre-defined events (e.g. leakages, sensor faults, actuator events, contamination, cyber-attacks, etc.)\n- Wide variety of pre-defined types of global \u0026 local uncertainties (e.g. model uncertainties)\n- Step-wise simulation and environment for training and evaluating control strategies\n- Serialization module for easy exchange of data and (scenario) configurations\n- REST API to make EPyT-Flow accessible in other applications\n- Access to many WDNs and popular benchmarks (incl. their evaluation)\n\n\n## Installation\n\nEPyT-Flow supports Python 3.10 - 3.14\n\nNote that EPyT-Flow builds upon [EPANET-PLUS](https://github.com/WaterFutures/EPANET-PLUS) which\nconstitutes a C extension and Python package.\nIn the rare case that the pre-build package of EPANET-PLUS does not work on your system,\nyou have to build and install it manually -- please follow the instructions provided\n[here](https://epanet-plus.readthedocs.io/en/stable/installation.html).\n\n### PyPI\n\n```\npip install epyt-flow\n```\n\n### Git\nDownload or clone the repository:\n```\ngit clone https://github.com/WaterFutures/EPyT-Flow.git\ncd EPyT-Flow\n```\n\nInstall all requirements as listed in [REQUIREMENTS.txt](REQUIREMENTS.txt):\n```\npip install -r REQUIREMENTS.txt\n```\n\nInstall the toolbox:\n```\npip install .\n```\n\n## Quick Example\n\n\u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/WaterFutures/EPyT-Flow/blob/main/docs/examples/basic_usage.ipynb\"\u003e\n\u003cimg src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/\u003e\n\u003c/a\u003e\n\n```python\nfrom epyt_flow.data.benchmarks import load_leakdb_scenarios\nfrom epyt_flow.simulation import ScenarioSimulator\nfrom epyt_flow.utils import to_seconds\n\n\nif __name__ == \"__main__\":\n    # Load first Hanoi scenario from LeakDB\n    network_config, = load_leakdb_scenarios(scenarios_id=[\"1\"], use_net1=False)\n\n    # Create scenario\n    with ScenarioSimulator(scenario_config=network_config) as sim:\n        # Set simulation duration to two days\n        sim.set_general_parameters(simulation_duration=to_seconds(days=2))\n\n        # Place pressure sensors at nodes \"13\", \"16\", \"22\", and \"30\"\n        sim.set_pressure_sensors(sensor_locations=[\"13\", \"16\", \"22\", \"30\"])\n\n        # Place a flow sensor at link/pipe \"1\"\n        sim.set_flow_sensors(sensor_locations=[\"1\"])\n\n        # Run entire simulation\n        scada_data = sim.run_simulation()\n\n        # Print \u0026 plot sensor readings over the entire simulation\n        print(f\"Pressure readings: {scada_data.get_data_pressures()}\")\n        scada_data.plot_pressures()\n\n        print(f\"Flow readings: {scada_data.get_data_flows()}\")\n        scada_data.plot_flows()\n```\n### Generated plots\n\n\u003cdiv\u003e\n    \u003cimg src=\"https://github.com/WaterFutures/EPyT-Flow/blob/dev/docs/_static/examples_basic_usage_pressure.png?raw=true\" width=\"49%\"/\u003e\n    \u003cimg src=\"https://github.com/WaterFutures/EPyT-Flow/blob/dev/docs/_static/examples_basic_usage_flow.png?raw=true\" width=\"49%\"/\u003e\n\u003c/div\u003e\n\n## Documentation\n\nDocumentation is available on readthedocs: [https://epyt-flow.readthedocs.io/en/latest/](https://epyt-flow.readthedocs.io/en/stable)\n\n## How to Get Started?\n\nEPyT-Flow is accompanied by an extensive documentation\n[https://epyt-flow.readthedocs.io/en/latest/](https://epyt-flow.readthedocs.io/en/stable)\n(including many [examples](https://epyt-flow.readthedocs.io/en/stable/#examples)).\n\nIf you are new to water distribution networks, we recommend first to read the chapter on\n[Modeling of Water Distribution Networks](https://epyt-flow.readthedocs.io/en/stable/tut.intro.html).\nYou might also want to check out some lecture notes on\n[Smart Water Systems](https://github.com/KIOS-Research/ece808-smart-water-systems).\n\nIf you are already familiar with WDNs (and software such as EPANET), we recommend checking out\nour [WDSA CCWI 2024 tutorial](https://github.com/WaterFutures/EPyT-and-EPyT-Flow-Tutorial) which\nnot only teaches you how to use EPyT and EPyT-Flow but also contains some examples of applying\nMachine Learning in WDNs.\nBesides that, you can read in-depth about the different functionalities of EPyT-Flow in the\n[In-depth Tutorial](https://epyt-flow.readthedocs.io/en/stable/tutorial.html) of the documentation --\nwe recommend reading the chapters in the order in which they are presented;\nyou might decide to skip some of the last chapters if their content is not relevant to you.\n\n## More Networks and Benchmarks\n\nMore Water Distribution Networks (WDNs) and benchmarks are available on the\n[WaterBenchmarkHub](https://waterfutures.github.io/WaterBenchmarkHub) platform.\n\n## More on Control\n\nWe recommend checking out [EPyT-Control](https://github.com/WaterFutures/EPyT-Control)\nif you are intersted in (data-driven) control and relates tasks such as state estimation\nand event diagnosis in Water Distribution Networks.\n\n## License\n\nMIT license -- see [LICENSE](LICENSE)\n\n## How to Cite?\n\nIf you use this software, please cite it as follows:\n\n```bibtex\n@article{Artelt2024,\n    doi = {10.21105/joss.07104},\n    url = {https://doi.org/10.21105/joss.07104},\n    year = {2024},\n    publisher = {The Open Journal},\n    volume = {9},\n    number = {103},\n    pages = {7104},\n    author = {André Artelt and Marios S. Kyriakou and Stelios G. Vrachimis and Demetrios G. Eliades and Barbara Hammer and Marios M. Polycarpou},\n    title = {EPyT-Flow: A Toolkit for Generating Water Distribution Network Data},\n    journal = {Journal of Open Source Software}\n}\n```\n\n## How to get Support?\n\nIf you come across any bug or need assistance please feel free to open a new\n[issue](https://github.com/WaterFutures/EPyT-Flow/issues/)\nif non of the existing issues answers your questions.\n\n## How to Contribute?\n\nContributions (e.g. creating issues, pull-requests, etc.) are welcome --\nplease make sure to read the [code of conduct](CODE_OF_CONDUCT.md) and\nfollow the [developers' guidelines](DEVELOPERS.md).\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.07104"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["control","water-quality"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/301552","html_url":"https://ost.ecosyste.ms/projects/301552"}