{"id":808330,"name":"EchoFlow: End-to-end self-supervised sonar-image pipeline","description":"EchoFlow: End-to-end self-supervised sonar-image pipeline - Published in JOSS (2026)","url":"https://github.com/erlingdevold/echoflow","last_synced_at":"2026-04-21T14:00:18.454Z","repository":{"id":253525329,"uuid":"842972791","full_name":"erlingdevold/EchoFlow","owner":"erlingdevold","description":" Containerized data pipeline for processing Kongsberg .raw files","archived":false,"fork":false,"pushed_at":"2026-04-04T03:10:51.000Z","size":1589,"stargazers_count":0,"open_issues_count":13,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-04T05:15:53.870Z","etag":null,"topics":["echosounder","marine-robotics","self-supervised-learning"],"latest_commit_sha":null,"homepage":"","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/erlingdevold.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"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-08-15T14:02:49.000Z","updated_at":"2026-04-04T03:10:54.000Z","dependencies_parsed_at":"2024-09-17T16:39:08.471Z","dependency_job_id":"94c7c349-5c9a-4450-a0ee-469781c22b66","html_url":"https://github.com/erlingdevold/EchoFlow","commit_stats":null,"previous_names":["erlingdevold/dino-pipeline"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/erlingdevold/EchoFlow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlingdevold%2FEchoFlow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlingdevold%2FEchoFlow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlingdevold%2FEchoFlow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlingdevold%2FEchoFlow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erlingdevold","download_url":"https://codeload.github.com/erlingdevold/EchoFlow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlingdevold%2FEchoFlow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32095160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"erlingdevold","name":"Erling Arvola Devold","uuid":"54443138","kind":"user","description":"","email":"","website":"erlingdevdev.github.io","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/54443138?u=912e47a2ec8da600248e6f93bc57d0d0fb1aa7c9\u0026v=4","repositories_count":15,"last_synced_at":"2023-05-12T14:31:57.302Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/erlingdevold","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-02-20T20:34:56.411Z","updated_at":"2023-05-12T14:31:57.318Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erlingdevold","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erlingdevold/repositories"},"packages":[],"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"erlingdevold/EchoFlow","html_url":"https://github.com/erlingdevold/EchoFlow","last_synced_at":"2026-04-12T12:03:28.177Z","status":null,"issues_count":0,"pull_requests_count":0,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":0,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2026-02-25T08:00:08.801Z","updated_at":"2026-04-12T12:03:28.178Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlingdevold%2FEchoFlow","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlingdevold%2FEchoFlow/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{},"pull_request_author_associations_count":{},"issue_authors":{},"pull_request_authors":{},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-21T00:00:07.919Z","repositories_count":14348289,"issues_count":34451151,"pull_requests_count":112778479,"authors_count":11241767,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":{"total":{"ReleaseEvent":1,"IssuesEvent":7,"IssueCommentEvent":5,"PushEvent":17},"last_year":{"ReleaseEvent":1,"IssuesEvent":7,"IssueCommentEvent":5,"PushEvent":17}},"keywords":["echosounder","marine-robotics","self-supervised-learning"],"dependencies":[{"ecosystem":"docker","filepath":"docker-compose.yml","sha":null,"kind":"manifest","created_at":"2024-08-18T13:48:06.444Z","updated_at":"2024-08-18T13:48:06.444Z","repository_link":"https://github.com/erlingdevold/EchoFlow/blob/master/docker-compose.yml","dependencies":[]},{"ecosystem":"pypi","filepath":"inference/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-08-18T13:48:06.708Z","updated_at":"2024-08-18T13:48:06.708Z","repository_link":"https://github.com/erlingdevold/EchoFlow/blob/master/inference/requirements.txt","dependencies":[{"id":19772486449,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.2.1","direct":true,"kind":"runtime","optional":false},{"id":19772486450,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.12.1","direct":true,"kind":"runtime","optional":false},{"id":19772486451,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.15.4","direct":true,"kind":"runtime","optional":false},{"id":19772486452,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.53.1","direct":true,"kind":"runtime","optional":false},{"id":19772486453,"package_name":"fsspec","ecosystem":"pypi","requirements":"==2024.6.1","direct":true,"kind":"runtime","optional":false},{"id":19772486454,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.1.4","direct":true,"kind":"runtime","optional":false},{"id":19772486455,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.5","direct":true,"kind":"runtime","optional":false},{"id":19772486456,"package_name":"MarkupSafe","ecosystem":"pypi","requirements":"==2.1.5","direct":true,"kind":"runtime","optional":false},{"id":19772486457,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.9.2","direct":true,"kind":"runtime","optional":false},{"id":19772486458,"package_name":"mpmath","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":19772486459,"package_name":"networkx","ecosystem":"pypi","requirements":"==3.3","direct":true,"kind":"runtime","optional":false},{"id":19772486460,"package_name":"numpy","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":19772486461,"package_name":"nvidia-cublas-cu12","ecosystem":"pypi","requirements":"==12.1.3.1","direct":true,"kind":"runtime","optional":false},{"id":19772486462,"package_name":"nvidia-cuda-cupti-cu12","ecosystem":"pypi","requirements":"==12.1.105","direct":true,"kind":"runtime","optional":false},{"id":19772486463,"package_name":"nvidia-cuda-nvrtc-cu12","ecosystem":"pypi","requirements":"==12.1.105","direct":true,"kind":"runtime","optional":false},{"id":19772486464,"package_name":"nvidia-cuda-runtime-cu12","ecosystem":"pypi","requirements":"==12.1.105","direct":true,"kind":"runtime","optional":false},{"id":19772486465,"package_name":"nvidia-cudnn-cu12","ecosystem":"pypi","requirements":"==9.1.0.70","direct":true,"kind":"runtime","optional":false},{"id":19772486466,"package_name":"nvidia-cufft-cu12","ecosystem":"pypi","requirements":"==11.0.2.54","direct":true,"kind":"runtime","optional":false},{"id":19772486467,"package_name":"nvidia-curand-cu12","ecosystem":"pypi","requirements":"==10.3.2.106","direct":true,"kind":"runtime","optional":false},{"id":19772486468,"package_name":"nvidia-cusolver-cu12","ecosystem":"pypi","requirements":"==11.4.5.107","direct":true,"kind":"runtime","optional":false},{"id":19772486469,"package_name":"nvidia-cusparse-cu12","ecosystem":"pypi","requirements":"==12.1.0.106","direct":true,"kind":"runtime","optional":false},{"id":19772486470,"package_name":"nvidia-nccl-cu12","ecosystem":"pypi","requirements":"==2.20.5","direct":true,"kind":"runtime","optional":false},{"id":19772486471,"package_name":"nvidia-nvjitlink-cu12","ecosystem":"pypi","requirements":"==12.6.20","direct":true,"kind":"runtime","optional":false},{"id":19772486472,"package_name":"nvidia-nvtx-cu12","ecosystem":"pypi","requirements":"==12.1.105","direct":true,"kind":"runtime","optional":false},{"id":19772486473,"package_name":"packaging","ecosystem":"pypi","requirements":"==24.1","direct":true,"kind":"runtime","optional":false},{"id":19772486474,"package_name":"pillow","ecosystem":"pypi","requirements":"==10.4.0","direct":true,"kind":"runtime","optional":false},{"id":19772486475,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":19772486476,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.9.0.post0","direct":true,"kind":"runtime","optional":false},{"id":19772486477,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":19772486478,"package_name":"sympy","ecosystem":"pypi","requirements":"==1.13.2","direct":true,"kind":"runtime","optional":false},{"id":19772486479,"package_name":"torch","ecosystem":"pypi","requirements":"==2.4.0","direct":true,"kind":"runtime","optional":false},{"id":19772486480,"package_name":"torchvision","ecosystem":"pypi","requirements":"==0.19.0","direct":true,"kind":"runtime","optional":false},{"id":19772486481,"package_name":"triton","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"runtime","optional":false},{"id":19772486482,"package_name":"typing_extensions","ecosystem":"pypi","requirements":"==4.12.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"preprocessing/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-08-18T13:48:06.880Z","updated_at":"2024-08-18T13:48:06.880Z","repository_link":"https://github.com/erlingdevold/EchoFlow/blob/master/preprocessing/requirements.txt","dependencies":[{"id":19772486534,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":19772486535,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":19772486536,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":19772486537,"package_name":"xarray","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":19772486635,"package_name":"netcdf4","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"raw_consumer/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-08-18T13:48:07.311Z","updated_at":"2024-08-18T13:48:07.311Z","repository_link":"https://github.com/erlingdevold/EchoFlow/blob/master/raw_consumer/requirements.txt","dependencies":[{"id":19772486648,"package_name":"aiobotocore","ecosystem":"pypi","requirements":"==2.12.2","direct":true,"kind":"runtime","optional":false},{"id":19772486649,"package_name":"aiohttp","ecosystem":"pypi","requirements":"==3.9.3","direct":true,"kind":"runtime","optional":false},{"id":19772486650,"package_name":"aioitertools","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":19772486651,"package_name":"aiosignal","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":19772486652,"package_name":"anyio","ecosystem":"pypi","requirements":"==4.3.0","direct":true,"kind":"runtime","optional":false},{"id":19772486653,"package_name":"argon2-cffi","ecosystem":"pypi","requirements":"==23.1.0","direct":true,"kind":"runtime","optional":false},{"id":19772486654,"package_name":"argon2-cffi-bindings","ecosystem":"pypi","requirements":"==21.2.0","direct":true,"kind":"runtime","optional":false},{"id":19772486655,"package_name":"arrow","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":19772486656,"package_name":"asciitree","ecosystem":"pypi","requirements":"==0.3.3","direct":true,"kind":"runtime","optional":false},{"id":19772486658,"package_name":"asttokens","ecosystem":"pypi","requirements":"==2.4.1","direct":true,"kind":"runtime","optional":false},{"id":19772486659,"package_name":"async-lru","ecosystem":"pypi","requirements":"==2.0.4","direct":true,"kind":"runtime","optional":false},{"id":19772486660,"package_name":"attrs","ecosystem":"pypi","requirements":"==23.2.0","direct":true,"kind":"runtime","optional":false},{"id":19772486661,"package_name":"Babel","ecosystem":"pypi","requirements":"==2.14.0","direct":true,"kind":"runtime","optional":false},{"id":19772486662,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.12.3","direct":true,"kind":"runtime","optional":false},{"id":19772486663,"package_name":"bleach","ecosystem":"pypi","requirements":"==6.1.0","direct":true,"kind":"runtime","optional":false},{"id":19772486664,"package_name":"botocore","ecosystem":"pypi","requirements":"==1.34.51","direct":true,"kind":"runtime","optional":false},{"id":19772486665,"package_name":"certifi","ecosystem":"pypi","requirements":"==2024.2.2","direct":true,"kind":"runtime","optional":false},{"id":19772486666,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":19772486667,"package_name":"cftime","ecosystem":"pypi","requirements":"==1.6.3","direct":true,"kind":"runtime","optional":false},{"id":19772486668,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==3.3.2","direct":true,"kind":"runtime","optional":false},{"id":19772486669,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.7","direct":true,"kind":"runtime","optional":false},{"id":19772486670,"package_name":"cloudpickle","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"runtime","optional":false},{"id":19772486671,"package_name":"comm","ecosystem":"pypi","requirements":"==0.2.2","direct":true,"kind":"runtime","optional":false},{"id":19772486672,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.2.1","direct":true,"kind":"runtime","optional":false},{"id":19772486673,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.12.1","direct":true,"kind":"runtime","optional":false},{"id":19772486674,"package_name":"dask","ecosystem":"pypi","requirements":"==2024.4.1","direct":true,"kind":"runtime","optional":false},{"id":19772486675,"package_name":"debugpy","ecosystem":"pypi","requirements":"==1.8.1","direct":true,"kind":"runtime","optional":false},{"id":19772486676,"package_name":"decorator","ecosystem":"pypi","requirements":"==5.1.1","direct":true,"kind":"runtime","optional":false},{"id":19772486677,"package_name":"defusedxml","ecosystem":"pypi","requirements":"==0.7.1","direct":true,"kind":"runtime","optional":false},{"id":19772486678,"package_name":"distributed","ecosystem":"pypi","requirements":"==2024.4.1","direct":true,"kind":"runtime","optional":false},{"id":19772486695,"package_name":"executing","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":19772486696,"package_name":"fasteners","ecosystem":"pypi","requirements":"==0.19","direct":true,"kind":"runtime","optional":false},{"id":19772486751,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"==2.19.1","direct":true,"kind":"runtime","optional":false},{"id":19772486752,"package_name":"flox","ecosystem":"pypi","requirements":"==0.9.6","direct":true,"kind":"runtime","optional":false},{"id":19772488351,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.51.0","direct":true,"kind":"runtime","optional":false},{"id":19772488352,"package_name":"fqdn","ecosystem":"pypi","requirements":"==1.5.1","direct":true,"kind":"runtime","optional":false},{"id":19772488353,"package_name":"frozenlist","ecosystem":"pypi","requirements":"==1.4.1","direct":true,"kind":"runtime","optional":false},{"id":19772488354,"package_name":"fsspec","ecosystem":"pypi","requirements":"==2024.3.1","direct":true,"kind":"runtime","optional":false},{"id":19772488355,"package_name":"future","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":19772488356,"package_name":"geographiclib","ecosystem":"pypi","requirements":"==2.0","direct":true,"kind":"runtime","optional":false},{"id":19772488357,"package_name":"geopy","ecosystem":"pypi","requirements":"==2.4.1","direct":true,"kind":"runtime","optional":false},{"id":19772488358,"package_name":"h11","ecosystem":"pypi","requirements":"==0.14.0","direct":true,"kind":"runtime","optional":false},{"id":19772488359,"package_name":"httpcore","ecosystem":"pypi","requirements":"==1.0.5","direct":true,"kind":"runtime","optional":false},{"id":19772488360,"package_name":"httpx","ecosystem":"pypi","requirements":"==0.27.0","direct":true,"kind":"runtime","optional":false},{"id":19772488361,"package_name":"idna","ecosystem":"pypi","requirements":"==3.6","direct":true,"kind":"runtime","optional":false},{"id":19772488362,"package_name":"importlib_metadata","ecosystem":"pypi","requirements":"==7.1.0","direct":true,"kind":"runtime","optional":false},{"id":19772488363,"package_name":"ipykernel","ecosystem":"pypi","requirements":"==6.29.4","direct":true,"kind":"runtime","optional":false},{"id":19772488364,"package_name":"ipython","ecosystem":"pypi","requirements":"==8.23.0","direct":true,"kind":"runtime","optional":false},{"id":19772488365,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"==8.1.2","direct":true,"kind":"runtime","optional":false},{"id":19772488366,"package_name":"isoduration","ecosystem":"pypi","requirements":"==20.11.0","direct":true,"kind":"runtime","optional":false},{"id":19772488367,"package_name":"jedi","ecosystem":"pypi","requirements":"==0.19.1","direct":true,"kind":"runtime","optional":false},{"id":19772488368,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.1.3","direct":true,"kind":"runtime","optional":false},{"id":19772488369,"package_name":"jmespath","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"runtime","optional":false},{"id":19772488370,"package_name":"json5","ecosystem":"pypi","requirements":"==0.9.24","direct":true,"kind":"runtime","optional":false},{"id":19772488371,"package_name":"jsonpointer","ecosystem":"pypi","requirements":"==2.4","direct":true,"kind":"runtime","optional":false},{"id":19772488372,"package_name":"jsonschema","ecosystem":"pypi","requirements":"==4.21.1","direct":true,"kind":"runtime","optional":false},{"id":19772488373,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"==2023.12.1","direct":true,"kind":"runtime","optional":false},{"id":19772488374,"package_name":"jupyter","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":19772488375,"package_name":"jupyter-console","ecosystem":"pypi","requirements":"==6.6.3","direct":true,"kind":"runtime","optional":false},{"id":19772488376,"package_name":"jupyter-events","ecosystem":"pypi","requirements":"==0.10.0","direct":true,"kind":"runtime","optional":false},{"id":19772488377,"package_name":"jupyter-lsp","ecosystem":"pypi","requirements":"==2.2.5","direct":true,"kind":"runtime","optional":false},{"id":19772488378,"package_name":"jupyter_client","ecosystem":"pypi","requirements":"==8.6.1","direct":true,"kind":"runtime","optional":false},{"id":19772488379,"package_name":"jupyter_core","ecosystem":"pypi","requirements":"==5.7.2","direct":true,"kind":"runtime","optional":false},{"id":19772488380,"package_name":"jupyter_server","ecosystem":"pypi","requirements":"==2.13.0","direct":true,"kind":"runtime","optional":false},{"id":19772488381,"package_name":"jupyter_server_terminals","ecosystem":"pypi","requirements":"==0.5.3","direct":true,"kind":"runtime","optional":false},{"id":19772488382,"package_name":"jupyterlab","ecosystem":"pypi","requirements":"==4.1.6","direct":true,"kind":"runtime","optional":false},{"id":19772488383,"package_name":"jupyterlab_pygments","ecosystem":"pypi","requirements":"==0.3.0","direct":true,"kind":"runtime","optional":false},{"id":19772488384,"package_name":"jupyterlab_server","ecosystem":"pypi","requirements":"==2.26.0","direct":true,"kind":"runtime","optional":false},{"id":19772488385,"package_name":"jupyterlab_widgets","ecosystem":"pypi","requirements":"==3.0.10","direct":true,"kind":"runtime","optional":false},{"id":19772488386,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.5","direct":true,"kind":"runtime","optional":false},{"id":19772488387,"package_name":"locket","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":19772488388,"package_name":"lxml","ecosystem":"pypi","requirements":"==5.2.1","direct":true,"kind":"runtime","optional":false},{"id":19772488389,"package_name":"MarkupSafe","ecosystem":"pypi","requirements":"==2.1.5","direct":true,"kind":"runtime","optional":false},{"id":19772488390,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.8.4","direct":true,"kind":"runtime","optional":false},{"id":19772488391,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"==0.1.6","direct":true,"kind":"runtime","optional":false},{"id":19772488392,"package_name":"mistune","ecosystem":"pypi","requirements":"==3.0.2","direct":true,"kind":"runtime","optional":false},{"id":19772488393,"package_name":"msgpack","ecosystem":"pypi","requirements":"==1.0.8","direct":true,"kind":"runtime","optional":false},{"id":19772488394,"package_name":"multidict","ecosystem":"pypi","requirements":"==6.0.5","direct":true,"kind":"runtime","optional":false},{"id":19772488395,"package_name":"nbclient","ecosystem":"pypi","requirements":"==0.10.0","direct":true,"kind":"runtime","optional":false},{"id":19772488396,"package_name":"nbconvert","ecosystem":"pypi","requirements":"==7.16.3","direct":true,"kind":"runtime","optional":false},{"id":19772488397,"package_name":"nbformat","ecosystem":"pypi","requirements":"==5.10.4","direct":true,"kind":"runtime","optional":false},{"id":19772488398,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"runtime","optional":false},{"id":19772488399,"package_name":"netCDF4","ecosystem":"pypi","requirements":"==1.6.5","direct":true,"kind":"runtime","optional":false},{"id":19772488400,"package_name":"notebook","ecosystem":"pypi","requirements":"==7.1.2","direct":true,"kind":"runtime","optional":false},{"id":19772488401,"package_name":"notebook_shim","ecosystem":"pypi","requirements":"==0.2.4","direct":true,"kind":"runtime","optional":false},{"id":19772488402,"package_name":"numcodecs","ecosystem":"pypi","requirements":"==0.12.1","direct":true,"kind":"runtime","optional":false},{"id":19772488403,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.26.4","direct":true,"kind":"runtime","optional":false},{"id":19772488404,"package_name":"numpy-groupies","ecosystem":"pypi","requirements":"==0.10.2","direct":true,"kind":"runtime","optional":false},{"id":19772488734,"package_name":"opencv-python","ecosystem":"pypi","requirements":"==4.9.0.80","direct":true,"kind":"runtime","optional":false},{"id":19772488735,"package_name":"overrides","ecosystem":"pypi","requirements":"==7.7.0","direct":true,"kind":"runtime","optional":false},{"id":19772488736,"package_name":"packaging","ecosystem":"pypi","requirements":"==24.0","direct":true,"kind":"runtime","optional":false},{"id":19772488737,"package_name":"pandas","ecosystem":"pypi","requirements":"==2.2.1","direct":true,"kind":"runtime","optional":false},{"id":19772488738,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"==1.5.1","direct":true,"kind":"runtime","optional":false},{"id":19772488739,"package_name":"parso","ecosystem":"pypi","requirements":"==0.8.4","direct":true,"kind":"runtime","optional":false},{"id":19772488740,"package_name":"partd","ecosystem":"pypi","requirements":"==1.4.1","direct":true,"kind":"runtime","optional":false},{"id":19772488741,"package_name":"pexpect","ecosystem":"pypi","requirements":"==4.9.0","direct":true,"kind":"runtime","optional":false},{"id":19772488742,"package_name":"pillow","ecosystem":"pypi","requirements":"==10.3.0","direct":true,"kind":"runtime","optional":false},{"id":19772488743,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==4.2.0","direct":true,"kind":"runtime","optional":false},{"id":19772488744,"package_name":"prometheus_client","ecosystem":"pypi","requirements":"==0.20.0","direct":true,"kind":"runtime","optional":false},{"id":19772488745,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"==3.0.43","direct":true,"kind":"runtime","optional":false},{"id":19772488746,"package_name":"psutil","ecosystem":"pypi","requirements":"==5.9.8","direct":true,"kind":"runtime","optional":false},{"id":19772488747,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"==0.7.0","direct":true,"kind":"runtime","optional":false},{"id":19772488748,"package_name":"pure-eval","ecosystem":"pypi","requirements":"==0.2.2","direct":true,"kind":"runtime","optional":false},{"id":19772488749,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.22","direct":true,"kind":"runtime","optional":false},{"id":19772488750,"package_name":"Pygments","ecosystem":"pypi","requirements":"==2.17.2","direct":true,"kind":"runtime","optional":false},{"id":19772488751,"package_name":"pynmea2","ecosystem":"pypi","requirements":"==1.19.0","direct":true,"kind":"runtime","optional":false},{"id":19772489080,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":19772489081,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.9.0.post0","direct":true,"kind":"runtime","optional":false},{"id":19772489082,"package_name":"python-json-logger","ecosystem":"pypi","requirements":"==2.0.7","direct":true,"kind":"runtime","optional":false},{"id":19772489083,"package_name":"pytz","ecosystem":"pypi","requirements":"==2024.1","direct":true,"kind":"runtime","optional":false},{"id":19772489084,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==6.0.1","direct":true,"kind":"runtime","optional":false},{"id":19772489085,"package_name":"pyzmq","ecosystem":"pypi","requirements":"==25.1.2","direct":true,"kind":"runtime","optional":false},{"id":19772489086,"package_name":"qtconsole","ecosystem":"pypi","requirements":"==5.5.1","direct":true,"kind":"runtime","optional":false},{"id":19772489087,"package_name":"QtPy","ecosystem":"pypi","requirements":"==2.4.1","direct":true,"kind":"runtime","optional":false},{"id":19772489088,"package_name":"referencing","ecosystem":"pypi","requirements":"==0.34.0","direct":true,"kind":"runtime","optional":false},{"id":19772489089,"package_name":"requests","ecosystem":"pypi","requirements":"==2.31.0","direct":true,"kind":"runtime","optional":false},{"id":19772489090,"package_name":"rfc3339-validator","ecosystem":"pypi","requirements":"==0.1.4","direct":true,"kind":"runtime","optional":false},{"id":19772489091,"package_name":"rfc3986-validator","ecosystem":"pypi","requirements":"==0.1.1","direct":true,"kind":"runtime","optional":false},{"id":19772489092,"package_name":"rpds-py","ecosystem":"pypi","requirements":"==0.18.0","direct":true,"kind":"runtime","optional":false},{"id":19772489093,"package_name":"s3fs","ecosystem":"pypi","requirements":"==2024.3.1","direct":true,"kind":"runtime","optional":false},{"id":19772489094,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.13.0","direct":true,"kind":"runtime","optional":false},{"id":19772489095,"package_name":"Send2Trash","ecosystem":"pypi","requirements":"==1.8.3","direct":true,"kind":"runtime","optional":false},{"id":19772489096,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":19772489097,"package_name":"sniffio","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":19772489098,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"==2.4.0","direct":true,"kind":"runtime","optional":false},{"id":19772489099,"package_name":"soupsieve","ecosystem":"pypi","requirements":"==2.5","direct":true,"kind":"runtime","optional":false},{"id":19772489100,"package_name":"stack-data","ecosystem":"pypi","requirements":"==0.6.3","direct":true,"kind":"runtime","optional":false},{"id":19772489101,"package_name":"tblib","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"runtime","optional":false},{"id":19772489600,"package_name":"terminado","ecosystem":"pypi","requirements":"==0.18.1","direct":true,"kind":"runtime","optional":false},{"id":19772489601,"package_name":"tinycss2","ecosystem":"pypi","requirements":"==1.2.1","direct":true,"kind":"runtime","optional":false},{"id":19772489602,"package_name":"toolz","ecosystem":"pypi","requirements":"==0.12.1","direct":true,"kind":"runtime","optional":false},{"id":19772489603,"package_name":"tornado","ecosystem":"pypi","requirements":"==6.4","direct":true,"kind":"runtime","optional":false},{"id":19772489604,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.66.2","direct":true,"kind":"runtime","optional":false},{"id":19772489605,"package_name":"traitlets","ecosystem":"pypi","requirements":"==5.14.2","direct":true,"kind":"runtime","optional":false},{"id":19772489606,"package_name":"types-python-dateutil","ecosystem":"pypi","requirements":"==2.9.0.20240316","direct":true,"kind":"runtime","optional":false},{"id":19772489607,"package_name":"typing_extensions","ecosystem":"pypi","requirements":"==4.11.0","direct":true,"kind":"runtime","optional":false},{"id":19772489608,"package_name":"tzdata","ecosystem":"pypi","requirements":"==2024.1","direct":true,"kind":"runtime","optional":false},{"id":19772489609,"package_name":"uri-template","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":19772489610,"package_name":"urllib3","ecosystem":"pypi","requirements":"==2.0.7","direct":true,"kind":"runtime","optional":false},{"id":19772489611,"package_name":"wcwidth","ecosystem":"pypi","requirements":"==0.2.13","direct":true,"kind":"runtime","optional":false},{"id":19772489612,"package_name":"webcolors","ecosystem":"pypi","requirements":"==1.13","direct":true,"kind":"runtime","optional":false},{"id":19772489613,"package_name":"webencodings","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":19772489614,"package_name":"websocket-client","ecosystem":"pypi","requirements":"==1.7.0","direct":true,"kind":"runtime","optional":false},{"id":19772489615,"package_name":"widgetsnbextension","ecosystem":"pypi","requirements":"==4.0.10","direct":true,"kind":"runtime","optional":false},{"id":19772489616,"package_name":"wrapt","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":19772489617,"package_name":"xarray","ecosystem":"pypi","requirements":"==2024.3.0","direct":true,"kind":"runtime","optional":false},{"id":19772489618,"package_name":"xarray-datatree","ecosystem":"pypi","requirements":"==0.0.6","direct":true,"kind":"runtime","optional":false},{"id":19772490054,"package_name":"yarl","ecosystem":"pypi","requirements":"==1.9.4","direct":true,"kind":"runtime","optional":false},{"id":19772490055,"package_name":"zarr","ecosystem":"pypi","requirements":"==2.17.2","direct":true,"kind":"runtime","optional":false},{"id":19772490330,"package_name":"zict","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"runtime","optional":false},{"id":19772490331,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.18.1","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2026-04-21T14:00:07.143Z","updated_at":"2026-04-21T14:00:20.173Z","avatar_url":"https://github.com/erlingdevold.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.15634054"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/808330","html_url":"https://science.ecosyste.ms/projects/808330","bibtex_url":"https://science.ecosyste.ms/projects/808330/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/808330/export.apalike"}