{"id":53848,"name":"ruvpy","description":"Reference implementation of the Relative Utility Value metric for forecast value assessment","url":"https://github.com/richardlaugesen/ruvpy","last_synced_at":"2025-09-05T13:14:03.922Z","repository":{"id":258164878,"uuid":"643768492","full_name":"richardlaugesen/ruvpy","owner":"richardlaugesen","description":"Reference implementation of the Relative Utility Value metric for forecast value assessment","archived":false,"fork":false,"pushed_at":"2025-07-24T04:01:05.000Z","size":35380,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-25T13:01:38.185Z","etag":null,"topics":["climate","decision-science","environmental-modelling","forecast-assessment","forecast-evaluation","forecast-value","forecast-verification","forecasting","model-validation","modelling","open-science","relative-utility-value","ruv","verification","water","weather"],"latest_commit_sha":null,"homepage":"https://dx.doi.org/10.2139/ssrn.5001881","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/richardlaugesen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2023-05-22T05:52:55.000Z","updated_at":"2025-07-24T03:58:09.000Z","dependencies_parsed_at":"2024-10-17T22:14:09.196Z","dependency_job_id":"6c8fd829-8ec0-433f-a7de-a7b8d178456f","html_url":"https://github.com/richardlaugesen/ruvpy","commit_stats":null,"previous_names":["richardlaugesen/ruvpy"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/richardlaugesen/ruvpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richardlaugesen","download_url":"https://codeload.github.com/richardlaugesen/ruvpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273761213,"owners_count":25163195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"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":"richardlaugesen","name":"Richard","uuid":"368368","kind":"user","description":"Water models \u0026 decision science","email":"","website":null,"location":"Canberra, Australia","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/368368?u=841b9a37802c240e3d268e89e3aa92dd3cd19556\u0026v=4","repositories_count":1,"last_synced_at":"2023-06-07T09:45:55.485Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/richardlaugesen","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-06-07T09:45:55.491Z","updated_at":"2023-06-07T09:45:55.491Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richardlaugesen","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richardlaugesen/repositories"},"packages":[{"id":10987193,"name":"ruvpy","ecosystem":"pypi","description":"Reference implementation of Relative Utility Value (RUV) to quantify forecast value","homepage":"https://github.com/richardlaugesen/ruvpy","licenses":"Apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/richardlaugesen/ruvpy","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2024-10-22T10:06:50.000Z","latest_release_published_at":"2025-07-24T04:02:24.000Z","latest_release_number":"1.0.1","last_synced_at":"2025-08-25T09:36:22.563Z","created_at":"2024-10-22T10:15:42.686Z","updated_at":"2025-08-25T16:05:11.749Z","registry_url":"https://pypi.org/project/ruvpy/","install_command":"pip install ruvpy --index-url https://pypi.org/simple","documentation_url":"https://github.com/richardlaugesen/ruvpy#readme","metadata":{"funding":null,"documentation":"https://github.com/richardlaugesen/ruvpy#readme","classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Science/Research","License :: OSI Approved :: Apache Software License","Operating System :: OS Independent","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Topic :: Office/Business :: Financial","Topic :: Scientific/Engineering","Topic :: Scientific/Engineering :: Artificial Intelligence","Topic :: Scientific/Engineering :: Atmospheric Science","Topic :: Scientific/Engineering :: Hydrology","Topic :: Scientific/Engineering :: Information Analysis","Topic :: Scientific/Engineering :: Mathematics"],"normalized_name":"ruvpy","project_status":null},"repo_metadata":{"id":258164878,"uuid":"643768492","full_name":"richardlaugesen/ruvpy","owner":"richardlaugesen","description":"Reference implementation of the Relative Utility Value metric for forecast value assessment","archived":false,"fork":false,"pushed_at":"2025-07-24T04:01:05.000Z","size":35380,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-25T13:01:38.185Z","etag":null,"topics":["climate","decision-science","environmental-modelling","forecast-assessment","forecast-evaluation","forecast-value","forecast-verification","forecasting","model-validation","modelling","open-science","relative-utility-value","ruv","verification","water","weather"],"latest_commit_sha":null,"homepage":"https://dx.doi.org/10.2139/ssrn.5001881","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/richardlaugesen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2023-05-22T05:52:55.000Z","updated_at":"2025-07-24T03:58:09.000Z","dependencies_parsed_at":"2024-10-17T22:14:09.196Z","dependency_job_id":"6c8fd829-8ec0-433f-a7de-a7b8d178456f","html_url":"https://github.com/richardlaugesen/ruvpy","commit_stats":null,"previous_names":["richardlaugesen/ruvpy"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/richardlaugesen/ruvpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richardlaugesen","download_url":"https://codeload.github.com/richardlaugesen/ruvpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272092448,"owners_count":24871953,"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-08-25T02:00:12.092Z","response_time":1107,"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":"richardlaugesen","name":"Richard","uuid":"368368","kind":"user","description":"Water models \u0026 decision science","email":"","website":null,"location":"Canberra, Australia","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/368368?u=841b9a37802c240e3d268e89e3aa92dd3cd19556\u0026v=4","repositories_count":1,"last_synced_at":"2023-06-07T09:45:55.485Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/richardlaugesen","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-06-07T09:45:55.491Z","updated_at":"2023-06-07T09:45:55.491Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richardlaugesen","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richardlaugesen/repositories"},"tags":[{"name":"v1.0.1","sha":"28f696a112ddb65e2407fe9396ee1e29198c007e","kind":"commit","published_at":"2025-07-24T03:57:59.000Z","download_url":"https://codeload.github.com/richardlaugesen/ruvpy/tar.gz/v1.0.1","html_url":"https://github.com/richardlaugesen/ruvpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/richardlaugesen/ruvpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"0ca4480daada98f84abb7d3d5918d1c061287c67","kind":"commit","published_at":"2025-07-07T00:44:59.000Z","download_url":"https://codeload.github.com/richardlaugesen/ruvpy/tar.gz/v1.0.0","html_url":"https://github.com/richardlaugesen/ruvpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/richardlaugesen/ruvpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags/v1.0.0/manifests"},{"name":"v0.9.1","sha":"6bd08b4a0ca5cb706c9af57dd5814eb50ffb9cc3","kind":"commit","published_at":"2024-10-22T10:18:22.000Z","download_url":"https://codeload.github.com/richardlaugesen/ruvpy/tar.gz/v0.9.1","html_url":"https://github.com/richardlaugesen/ruvpy/releases/tag/v0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/richardlaugesen/ruvpy@v0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags/v0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags/v0.9.1/manifests"},{"name":"v0.9.0","sha":"e38a52383b1819c8e959d1c42e65fb35b5a30e41","kind":"commit","published_at":"2024-10-16T09:55:00.000Z","download_url":"https://codeload.github.com/richardlaugesen/ruvpy/tar.gz/v0.9.0","html_url":"https://github.com/richardlaugesen/ruvpy/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/richardlaugesen/ruvpy@v0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/tags/v0.9.0/manifests"}]},"repo_metadata_updated_at":"2025-08-25T16:05:11.748Z","dependent_packages_count":0,"downloads":39,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":57.17595985057954,"dependent_packages_count":10.158995352593852,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":33.6674776015867},"purl":"pkg:pypi/ruvpy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/ruvpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/ruvpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/ruvpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ruvpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ruvpy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ruvpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ruvpy/related_packages","maintainers":[{"uuid":"laugesen","login":"laugesen","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/laugesen/","role":null,"created_at":"2024-10-22T10:15:45.804Z","updated_at":"2024-10-22T10:15:45.804Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/laugesen/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":725136,"maintainers_count":308365,"namespaces_count":0,"keywords_count":238006,"github":"pypi","metadata":{"funded_packages_count":50519},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-05T05:40:58.860Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"richardlaugesen/ruvpy","html_url":"https://github.com/richardlaugesen/ruvpy","last_synced_at":null,"status":null,"issues_count":null,"pull_requests_count":null,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":null,"pull_requests_closed_count":null,"pull_request_authors_count":null,"issue_authors_count":null,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":null,"bot_issues_count":null,"bot_pull_requests_count":null,"past_year_issues_count":null,"past_year_pull_requests_count":null,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":null,"past_year_pull_requests_closed_count":null,"past_year_pull_request_authors_count":null,"past_year_issue_authors_count":null,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":null,"past_year_bot_pull_requests_count":null,"past_year_merged_pull_requests_count":null,"created_at":"2025-08-29T17:38:06.252Z","updated_at":"2025-08-29T22:55:44.402Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardlaugesen%2Fruvpy/issues","issue_labels_count":{},"pull_request_labels_count":{"codex":5},"issue_author_associations_count":{"OWNER":2},"pull_request_author_associations_count":{"OWNER":5},"issue_authors":{"richardlaugesen":2},"pull_request_authors":{"richardlaugesen":5},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10100132,"issues_count":31474143,"pull_requests_count":97447451,"authors_count":10702673,"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":{"codex":5},"past_year_issue_author_associations_count":{"OWNER":2},"past_year_pull_request_author_associations_count":{"OWNER":5},"past_year_issue_authors":{"richardlaugesen":2},"past_year_pull_request_authors":{"richardlaugesen":5},"maintainers":[{"login":"richardlaugesen","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/richardlaugesen"}],"active_maintainers":[{"login":"richardlaugesen","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/richardlaugesen"}]},"events":{"total":{"CreateEvent":12,"IssuesEvent":2,"ReleaseEvent":5,"DeleteEvent":8,"IssueCommentEvent":1,"PublicEvent":1,"PushEvent":49,"PullRequestEvent":8,"ForkEvent":1},"last_year":{"CreateEvent":12,"IssuesEvent":2,"ReleaseEvent":5,"DeleteEvent":8,"IssueCommentEvent":1,"PublicEvent":1,"PushEvent":49,"PullRequestEvent":8,"ForkEvent":1}},"keywords":["climate","decision-science","environmental-modelling","forecast-assessment","forecast-evaluation","forecast-value","forecast-verification","forecasting","model-validation","modelling","open-science","relative-utility-value","ruv","verification","water","weather"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/python-package.yml","sha":null,"kind":"manifest","created_at":"2024-10-17T22:14:07.915Z","updated_at":"2024-10-17T22:14:07.915Z","repository_link":"https://github.com/richardlaugesen/ruvpy/blob/main/.github/workflows/python-package.yml","dependencies":[{"id":20244490980,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":20244490981,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2024-10-17T22:14:08.211Z","updated_at":"2024-10-17T22:14:08.211Z","repository_link":"https://github.com/richardlaugesen/ruvpy/blob/main/poetry.lock","dependencies":[{"id":20244491440,"package_name":"anyio","ecosystem":"pypi","requirements":"4.6.2.post1","direct":false,"kind":"runtime","optional":false},{"id":20244491441,"package_name":"appnope","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":20244491442,"package_name":"argon2-cffi","ecosystem":"pypi","requirements":"23.1.0","direct":false,"kind":"runtime","optional":false},{"id":20244491443,"package_name":"argon2-cffi-bindings","ecosystem":"pypi","requirements":"21.2.0","direct":false,"kind":"runtime","optional":false},{"id":20244491444,"package_name":"arrow","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":20244491445,"package_name":"asttokens","ecosystem":"pypi","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":20244491446,"package_name":"async-lru","ecosystem":"pypi","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":20244491447,"package_name":"attrs","ecosystem":"pypi","requirements":"24.2.0","direct":false,"kind":"runtime","optional":false},{"id":20244491448,"package_name":"babel","ecosystem":"pypi","requirements":"2.16.0","direct":false,"kind":"runtime","optional":false},{"id":20244491449,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"4.12.3","direct":false,"kind":"runtime","optional":false},{"id":20244491450,"package_name":"black","ecosystem":"pypi","requirements":"23.12.1","direct":false,"kind":"runtime","optional":false},{"id":20244491451,"package_name":"bleach","ecosystem":"pypi","requirements":"6.1.0","direct":false,"kind":"runtime","optional":false},{"id":20244491452,"package_name":"certifi","ecosystem":"pypi","requirements":"2024.8.30","direct":false,"kind":"runtime","optional":false},{"id":20244491453,"package_name":"cffi","ecosystem":"pypi","requirements":"1.17.1","direct":false,"kind":"runtime","optional":false},{"id":20244491454,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.0","direct":false,"kind":"runtime","optional":false},{"id":20244491455,"package_name":"click","ecosystem":"pypi","requirements":"8.1.7","direct":false,"kind":"runtime","optional":false},{"id":20244491456,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":20244491457,"package_name":"comm","ecosystem":"pypi","requirements":"0.2.2","direct":false,"kind":"runtime","optional":false},{"id":20244491458,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":20244491459,"package_name":"coverage","ecosystem":"pypi","requirements":"7.6.3","direct":false,"kind":"runtime","optional":false},{"id":20244491460,"package_name":"cycler","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":20244491461,"package_name":"debugpy","ecosystem":"pypi","requirements":"1.8.7","direct":false,"kind":"runtime","optional":false},{"id":20244491462,"package_name":"decorator","ecosystem":"pypi","requirements":"5.1.1","direct":false,"kind":"runtime","optional":false},{"id":20244491463,"package_name":"defusedxml","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":20244491464,"package_name":"dill","ecosystem":"pypi","requirements":"0.3.9","direct":false,"kind":"runtime","optional":false},{"id":20244491465,"package_name":"exceptiongroup","ecosystem":"pypi","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":20244491466,"package_name":"executing","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":20244491467,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"2.20.0","direct":false,"kind":"runtime","optional":false},{"id":20244491468,"package_name":"flake8","ecosystem":"pypi","requirements":"6.1.0","direct":false,"kind":"runtime","optional":false},{"id":20244491469,"package_name":"fonttools","ecosystem":"pypi","requirements":"4.54.1","direct":false,"kind":"runtime","optional":false},{"id":20244491470,"package_name":"fqdn","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":20244491471,"package_name":"h11","ecosystem":"pypi","requirements":"0.14.0","direct":false,"kind":"runtime","optional":false},{"id":20244491472,"package_name":"httpcore","ecosystem":"pypi","requirements":"1.0.6","direct":false,"kind":"runtime","optional":false},{"id":20244491473,"package_name":"httpx","ecosystem":"pypi","requirements":"0.27.2","direct":false,"kind":"runtime","optional":false},{"id":20244491474,"package_name":"idna","ecosystem":"pypi","requirements":"3.10","direct":false,"kind":"runtime","optional":false},{"id":20244491475,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"8.5.0","direct":false,"kind":"runtime","optional":false},{"id":20244491476,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"6.4.5","direct":false,"kind":"runtime","optional":false},{"id":20244491477,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":20244491478,"package_name":"ipykernel","ecosystem":"pypi","requirements":"6.29.5","direct":false,"kind":"runtime","optional":false},{"id":20244491479,"package_name":"ipython","ecosystem":"pypi","requirements":"8.18.1","direct":false,"kind":"runtime","optional":false},{"id":20244491480,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"8.1.5","direct":false,"kind":"runtime","optional":false},{"id":20244491481,"package_name":"isoduration","ecosystem":"pypi","requirements":"20.11.0","direct":false,"kind":"runtime","optional":false},{"id":20244491482,"package_name":"jedi","ecosystem":"pypi","requirements":"0.19.1","direct":false,"kind":"runtime","optional":false},{"id":20244491483,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.4","direct":false,"kind":"runtime","optional":false},{"id":20244491484,"package_name":"json5","ecosystem":"pypi","requirements":"0.9.25","direct":false,"kind":"runtime","optional":false},{"id":20244491485,"package_name":"jsonpointer","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":20244491486,"package_name":"jsonschema","ecosystem":"pypi","requirements":"4.23.0","direct":false,"kind":"runtime","optional":false},{"id":20244491487,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"2024.10.1","direct":false,"kind":"runtime","optional":false},{"id":20244491488,"package_name":"jupyter","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":20244491489,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"8.6.3","direct":false,"kind":"runtime","optional":false},{"id":20244491490,"package_name":"jupyter-console","ecosystem":"pypi","requirements":"6.6.3","direct":false,"kind":"runtime","optional":false},{"id":20244491491,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"5.7.2","direct":false,"kind":"runtime","optional":false},{"id":20244491492,"package_name":"jupyter-events","ecosystem":"pypi","requirements":"0.10.0","direct":false,"kind":"runtime","optional":false},{"id":20244491493,"package_name":"jupyter-lsp","ecosystem":"pypi","requirements":"2.2.5","direct":false,"kind":"runtime","optional":false},{"id":20244491494,"package_name":"jupyter-server","ecosystem":"pypi","requirements":"2.14.2","direct":false,"kind":"runtime","optional":false},{"id":20244491495,"package_name":"jupyter-server-terminals","ecosystem":"pypi","requirements":"0.5.3","direct":false,"kind":"runtime","optional":false},{"id":20244491496,"package_name":"jupyterlab","ecosystem":"pypi","requirements":"4.2.5","direct":false,"kind":"runtime","optional":false},{"id":20244491497,"package_name":"jupyterlab-pygments","ecosystem":"pypi","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":20244491498,"package_name":"jupyterlab-server","ecosystem":"pypi","requirements":"2.27.3","direct":false,"kind":"runtime","optional":false},{"id":20244491499,"package_name":"jupyterlab-widgets","ecosystem":"pypi","requirements":"3.0.13","direct":false,"kind":"runtime","optional":false},{"id":20244491500,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.4.7","direct":false,"kind":"runtime","optional":false},{"id":20244491501,"package_name":"mako","ecosystem":"pypi","requirements":"1.3.5","direct":false,"kind":"runtime","optional":false},{"id":20244491502,"package_name":"markdown","ecosystem":"pypi","requirements":"3.7","direct":false,"kind":"runtime","optional":false},{"id":20244491503,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":20244491504,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.9.2","direct":false,"kind":"runtime","optional":false},{"id":20244491505,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"0.1.7","direct":false,"kind":"runtime","optional":false},{"id":20244491506,"package_name":"mccabe","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":20244491507,"package_name":"mistune","ecosystem":"pypi","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":20244491508,"package_name":"multiprocess","ecosystem":"pypi","requirements":"0.70.17","direct":false,"kind":"runtime","optional":false},{"id":20244491509,"package_name":"mypy","ecosystem":"pypi","requirements":"1.12.0","direct":false,"kind":"runtime","optional":false},{"id":20244491510,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":20244491511,"package_name":"nbclient","ecosystem":"pypi","requirements":"0.10.0","direct":false,"kind":"runtime","optional":false},{"id":20244491512,"package_name":"nbconvert","ecosystem":"pypi","requirements":"7.16.4","direct":false,"kind":"runtime","optional":false},{"id":20244491513,"package_name":"nbformat","ecosystem":"pypi","requirements":"5.10.4","direct":false,"kind":"runtime","optional":false},{"id":20244491514,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":20244491515,"package_name":"notebook","ecosystem":"pypi","requirements":"7.2.2","direct":false,"kind":"runtime","optional":false},{"id":20244491516,"package_name":"notebook-shim","ecosystem":"pypi","requirements":"0.2.4","direct":false,"kind":"runtime","optional":false},{"id":20244491517,"package_name":"numpy","ecosystem":"pypi","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":20244491518,"package_name":"overrides","ecosystem":"pypi","requirements":"7.7.0","direct":false,"kind":"runtime","optional":false},{"id":20244491519,"package_name":"packaging","ecosystem":"pypi","requirements":"24.1","direct":false,"kind":"runtime","optional":false},{"id":20244491520,"package_name":"pandas","ecosystem":"pypi","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":20244491521,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":20244491522,"package_name":"parso","ecosystem":"pypi","requirements":"0.8.4","direct":false,"kind":"runtime","optional":false},{"id":20244491523,"package_name":"pathos","ecosystem":"pypi","requirements":"0.3.3","direct":false,"kind":"runtime","optional":false},{"id":20244491524,"package_name":"pathspec","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":20244491525,"package_name":"patsy","ecosystem":"pypi","requirements":"0.5.6","direct":false,"kind":"runtime","optional":false},{"id":20244491526,"package_name":"pdoc","ecosystem":"pypi","requirements":"15.0.0","direct":false,"kind":"runtime","optional":false},{"id":20244491527,"package_name":"pdoc3","ecosystem":"pypi","requirements":"0.11.1","direct":false,"kind":"runtime","optional":false},{"id":20244491528,"package_name":"pexpect","ecosystem":"pypi","requirements":"4.9.0","direct":false,"kind":"runtime","optional":false},{"id":20244491529,"package_name":"pillow","ecosystem":"pypi","requirements":"11.0.0","direct":false,"kind":"runtime","optional":false},{"id":20244491530,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.3.6","direct":false,"kind":"runtime","optional":false},{"id":20244491531,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":20244491532,"package_name":"pox","ecosystem":"pypi","requirements":"0.3.5","direct":false,"kind":"runtime","optional":false},{"id":20244491533,"package_name":"ppft","ecosystem":"pypi","requirements":"1.7.6.9","direct":false,"kind":"runtime","optional":false},{"id":20244491534,"package_name":"prometheus-client","ecosystem":"pypi","requirements":"0.21.0","direct":false,"kind":"runtime","optional":false},{"id":20244491535,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"3.0.48","direct":false,"kind":"runtime","optional":false},{"id":20244491536,"package_name":"psutil","ecosystem":"pypi","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":20244491537,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":20244491538,"package_name":"pure-eval","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":20244491539,"package_name":"pycodestyle","ecosystem":"pypi","requirements":"2.11.1","direct":false,"kind":"runtime","optional":false},{"id":20244491540,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.22","direct":false,"kind":"runtime","optional":false},{"id":20244491541,"package_name":"pyflakes","ecosystem":"pypi","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":20244491542,"package_name":"pygments","ecosystem":"pypi","requirements":"2.18.0","direct":false,"kind":"runtime","optional":false},{"id":20244491543,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":20244491544,"package_name":"pytest","ecosystem":"pypi","requirements":"8.3.3","direct":false,"kind":"runtime","optional":false},{"id":20244491545,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":20244491546,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":20244491547,"package_name":"python-json-logger","ecosystem":"pypi","requirements":"2.0.7","direct":false,"kind":"runtime","optional":false},{"id":20244491548,"package_name":"pytz","ecosystem":"pypi","requirements":"2024.2","direct":false,"kind":"runtime","optional":false},{"id":20244491549,"package_name":"pywin32","ecosystem":"pypi","requirements":"308","direct":false,"kind":"runtime","optional":false},{"id":20244491550,"package_name":"pywinpty","ecosystem":"pypi","requirements":"2.0.13","direct":false,"kind":"runtime","optional":false},{"id":20244491551,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.2","direct":false,"kind":"runtime","optional":false},{"id":20244491552,"package_name":"pyzmq","ecosystem":"pypi","requirements":"26.2.0","direct":false,"kind":"runtime","optional":false},{"id":20244491553,"package_name":"referencing","ecosystem":"pypi","requirements":"0.35.1","direct":false,"kind":"runtime","optional":false},{"id":20244491554,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.3","direct":false,"kind":"runtime","optional":false},{"id":20244491555,"package_name":"rfc3339-validator","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":20244491556,"package_name":"rfc3986-validator","ecosystem":"pypi","requirements":"0.1.1","direct":false,"kind":"runtime","optional":false},{"id":20244491557,"package_name":"rpds-py","ecosystem":"pypi","requirements":"0.20.0","direct":false,"kind":"runtime","optional":false},{"id":20244491558,"package_name":"scipy","ecosystem":"pypi","requirements":"1.13.1","direct":false,"kind":"runtime","optional":false},{"id":20244491559,"package_name":"send2trash","ecosystem":"pypi","requirements":"1.8.3","direct":false,"kind":"runtime","optional":false},{"id":20244491560,"package_name":"setuptools","ecosystem":"pypi","requirements":"75.1.0","direct":false,"kind":"runtime","optional":false},{"id":20244491561,"package_name":"six","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":20244491562,"package_name":"sniffio","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":20244491563,"package_name":"soupsieve","ecosystem":"pypi","requirements":"2.6","direct":false,"kind":"runtime","optional":false},{"id":20244491564,"package_name":"stack-data","ecosystem":"pypi","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":20244491565,"package_name":"statsmodels","ecosystem":"pypi","requirements":"0.14.4","direct":false,"kind":"runtime","optional":false},{"id":20244491566,"package_name":"terminado","ecosystem":"pypi","requirements":"0.18.1","direct":false,"kind":"runtime","optional":false},{"id":20244491567,"package_name":"tinycss2","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":20244491568,"package_name":"tomli","ecosystem":"pypi","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":20244491569,"package_name":"tornado","ecosystem":"pypi","requirements":"6.4.1","direct":false,"kind":"runtime","optional":false},{"id":20244491570,"package_name":"traitlets","ecosystem":"pypi","requirements":"5.14.3","direct":false,"kind":"runtime","optional":false},{"id":20244491571,"package_name":"types-python-dateutil","ecosystem":"pypi","requirements":"2.9.0.20241003","direct":false,"kind":"runtime","optional":false},{"id":20244491572,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.12.2","direct":false,"kind":"runtime","optional":false},{"id":20244491573,"package_name":"tzdata","ecosystem":"pypi","requirements":"2024.2","direct":false,"kind":"runtime","optional":false},{"id":20244491574,"package_name":"uri-template","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":20244491575,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":20244491576,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.2.13","direct":false,"kind":"runtime","optional":false},{"id":20244491577,"package_name":"webcolors","ecosystem":"pypi","requirements":"24.8.0","direct":false,"kind":"runtime","optional":false},{"id":20244491578,"package_name":"webencodings","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":20244491579,"package_name":"websocket-client","ecosystem":"pypi","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":20244491580,"package_name":"widgetsnbextension","ecosystem":"pypi","requirements":"4.0.13","direct":false,"kind":"runtime","optional":false},{"id":20244491581,"package_name":"zipp","ecosystem":"pypi","requirements":"3.20.2","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2024-10-17T22:14:08.709Z","updated_at":"2024-10-17T22:14:08.709Z","repository_link":"https://github.com/richardlaugesen/ruvpy/blob/main/pyproject.toml","dependencies":[{"id":20244492648,"package_name":"python","ecosystem":"pypi","requirements":"\u003e=3.9","direct":true,"kind":"runtime","optional":false},{"id":20244492651,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.24.4","direct":true,"kind":"runtime","optional":false},{"id":20244492654,"package_name":"scipy","ecosystem":"pypi","requirements":"\u003e=1.9.3","direct":true,"kind":"runtime","optional":false},{"id":20244492656,"package_name":"pathos","ecosystem":"pypi","requirements":"\u003e=0.3.0","direct":true,"kind":"runtime","optional":false},{"id":20244492658,"package_name":"statsmodels","ecosystem":"pypi","requirements":"\u003e=0.13.5","direct":true,"kind":"runtime","optional":false},{"id":20244492661,"package_name":"jupyter","ecosystem":"pypi","requirements":"\u003e=1.0.0","direct":true,"kind":"runtime","optional":false},{"id":20244492663,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=3.7.2","direct":true,"kind":"runtime","optional":false},{"id":20244492665,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=2.0.3","direct":true,"kind":"runtime","optional":false},{"id":20244492667,"package_name":"pdoc3","ecosystem":"pypi","requirements":"^0.11.1","direct":true,"kind":"runtime","optional":false},{"id":20244492669,"package_name":"pdoc","ecosystem":"pypi","requirements":"^15.0.0","direct":true,"kind":"runtime","optional":false},{"id":20244492671,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=7.4.0","direct":true,"kind":"develop","optional":false},{"id":20244492675,"package_name":"flake8","ecosystem":"pypi","requirements":"^6.0.0","direct":true,"kind":"develop","optional":false},{"id":20244492677,"package_name":"black","ecosystem":"pypi","requirements":"^23.0.0","direct":true,"kind":"develop","optional":false},{"id":20244492679,"package_name":"mypy","ecosystem":"pypi","requirements":"^1.0.0","direct":true,"kind":"develop","optional":false},{"id":20244492682,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"^3.0","direct":true,"kind":"develop","optional":false}]}],"score":null,"created_at":"2025-09-04T15:51:29.516Z","updated_at":"2025-10-07T08:21:10.953Z","avatar_url":"https://github.com/richardlaugesen.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":39,"funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.13939198","http://dx.doi.org/10.2139/ssrn.5001881","https://doi.org/10.5194/hess-27-873-2023"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/53848","html_url":"https://science.ecosyste.ms/projects/53848","bibtex_url":"https://science.ecosyste.ms/projects/53848/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/53848/export.apalike"}