{"id":46062,"name":"KSO","description":"The Koster Seafloor Observatory is an open-source, citizen science and machine learning approach to analyse subsea movies.","url":"https://github.com/ocean-data-factory-sweden/kso","last_synced_at":"2026-08-30T02:34:10.978Z","repository":{"id":37984093,"uuid":"382066008","full_name":"ocean-data-factory-sweden/kso","owner":"ocean-data-factory-sweden","description":"Notebooks to upload/download marine footage, connect to a citizen science project, train machine learning models and publish marine biological observations.","archived":false,"fork":false,"pushed_at":"2026-08-20T12:17:14.000Z","size":17307,"stargazers_count":10,"open_issues_count":15,"forks_count":17,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2026-08-25T00:17:15.976Z","etag":null,"topics":["citizen-science","deep-learning","marine-protected-areas","object-detection"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ocean-data-factory-sweden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"glenn-jocher","patreon":"ultralytics","open_collective":"ultralytics"}},"created_at":"2021-07-01T14:47:48.000Z","updated_at":"2026-08-20T12:19:14.000Z","dependencies_parsed_at":"2026-08-17T20:42:03.221Z","dependency_job_id":null,"html_url":"https://github.com/ocean-data-factory-sweden/kso","commit_stats":{"total_commits":749,"total_committers":9,"mean_commits":83.22222222222223,"dds":"0.17489986648865152","last_synced_commit":"ec0c202beadfea22f438660bb8c6cc0e54389903"},"previous_names":["ocean-data-factory-sweden/kso"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ocean-data-factory-sweden/kso","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocean-data-factory-sweden%2Fkso","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocean-data-factory-sweden%2Fkso/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocean-data-factory-sweden%2Fkso/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocean-data-factory-sweden%2Fkso/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ocean-data-factory-sweden","download_url":"https://codeload.github.com/ocean-data-factory-sweden/kso/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocean-data-factory-sweden%2Fkso/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36905485,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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":"ocean-data-factory-sweden","name":"Ocean Data Factory Sweden","uuid":"54248548","kind":"organization","description":"","email":"torsten.linders@gu.se","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/54248548?v=4","repositories_count":4,"last_synced_at":"2023-03-03T19:53:11.188Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ocean-data-factory-sweden","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T05:10:09.022Z","updated_at":"2023-03-03T19:53:11.199Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ocean-data-factory-sweden","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ocean-data-factory-sweden/repositories"},"packages":[],"commits":{"id":1358726,"full_name":"ocean-data-factory-sweden/kso","default_branch":"dev","total_commits":1058,"total_committers":28,"total_bot_commits":1,"total_bot_committers":1,"mean_commits":37.785714285714285,"dds":0.4158790170132325,"past_year_total_commits":248,"past_year_total_committers":22,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":11.272727272727273,"past_year_dds":0.6612903225806452,"last_synced_at":"2026-08-27T01:12:42.291Z","last_synced_commit":"1598b98cd2a7d4894ab4d6583970520283fc3e85","created_at":"2023-09-13T08:45:43.915Z","updated_at":"2026-08-27T01:12:42.052Z","committers":[{"name":"Jurie Germishuys","email":"jurie.germishuys@combine.se","login":null,"count":618},{"name":"Diewertje11","email":"diewertje.dekker@combine.se","login":"Diewertje11","count":100},{"name":"Victor","email":"55268669+victor-wildlife","login":"victor-wildlife","count":91},{"name":"Ghaith","email":"ghaith@Ghaiths-MacBook-Pro.local","login":null,"count":84},{"name":"Tuomas Rossi","email":"tuomas.rossi@csc.fi","login":"trossi","count":43},{"name":"Louis Fiorina","email":"145111295+louisrf","login":"louisrf","count":20},{"name":"nithador","email":"tomas.martinovic@vsb.cz","login":"Nithador","count":11},{"name":"Ghaith","email":"ghaith@vpns378.vsb.cz","login":null,"count":11},{"name":"Ghaith","email":"ghaith@w115-35.vsb.cz","login":null,"count":11},{"name":"Jannes","email":"36601086+jannesgg","login":"jannesgg","count":10},{"name":"Pablo Correa Gómez","email":"pablo.correa.gomez@combine.se","login":"pabloyoyoista","count":10},{"name":"Ghaith","email":"ghaith@w118-252.vsb.cz","login":null,"count":10},{"name":"PilarNavarro","email":"pilarnavar@hotmail.es","login":"pilarnavarro","count":5},{"name":"Ghaith","email":"ghaith@vpnp119.vsb.cz","login":null,"count":5},{"name":"Ghaith","email":"ghaith@w116-81.vsb.cz","login":null,"count":4},{"name":"Ghaith","email":"ghaith@vpns162.vsb.cz","login":null,"count":3},{"name":"Ghaith","email":"ghaith@vpns32.vsb.cz","login":null,"count":3},{"name":"Ghaith","email":"ghaith@w113-176.vsb.cz","login":null,"count":3},{"name":"Ghaith","email":"ghaith@w113-138.vsb.cz","login":null,"count":3},{"name":"Ghaith","email":"ghaith@vpns27.vsb.cz","login":null,"count":2},{"name":"Ghaith","email":"ghaith@vpns479.vsb.cz","login":null,"count":2},{"name":"Ghaith","email":"ghaith@w116-41.vsb.cz","login":null,"count":2},{"name":"Jurie Germishuys","email":"jurieg@alvis1.int.private","login":null,"count":2},{"name":"Ghaith","email":"ghaith@vpns122.vsb.cz","login":null,"count":1},{"name":"Ghaith","email":"ghaith@vpns447.vsb.cz","login":null,"count":1},{"name":"Ghaith","email":"ghaith@w116-135.vsb.cz","login":null,"count":1},{"name":"Ghaith","email":"ghaith@w118-8.vsb.cz","login":null,"count":1},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1}],"past_year_committers":[{"name":"Ghaith","email":"ghaith@Ghaiths-MacBook-Pro.local","login":null,"count":84},{"name":"Tuomas Rossi","email":"tuomas.rossi@csc.fi","login":"trossi","count":43},{"name":"Diewertje11","email":"diewertje.dekker@combine.se","login":"Diewertje11","count":24},{"name":"Louis Fiorina","email":"145111295+louisrf","login":"louisrf","count":20},{"name":"nithador","email":"tomas.martinovic@vsb.cz","login":"Nithador","count":11},{"name":"Ghaith","email":"ghaith@vpns378.vsb.cz","login":null,"count":11},{"name":"Ghaith","email":"ghaith@w115-35.vsb.cz","login":null,"count":11},{"name":"Ghaith","email":"ghaith@w118-252.vsb.cz","login":null,"count":10},{"name":"Ghaith","email":"ghaith@vpnp119.vsb.cz","login":null,"count":5},{"name":"Ghaith","email":"ghaith@w116-81.vsb.cz","login":null,"count":4},{"name":"Ghaith","email":"ghaith@vpns162.vsb.cz","login":null,"count":3},{"name":"Ghaith","email":"ghaith@vpns32.vsb.cz","login":null,"count":3},{"name":"Ghaith","email":"ghaith@w113-138.vsb.cz","login":null,"count":3},{"name":"Ghaith","email":"ghaith@w113-176.vsb.cz","login":null,"count":3},{"name":"Victor","email":"55268669+victor-wildlife","login":"victor-wildlife","count":3},{"name":"Ghaith","email":"ghaith@vpns27.vsb.cz","login":null,"count":2},{"name":"Ghaith","email":"ghaith@vpns479.vsb.cz","login":null,"count":2},{"name":"Ghaith","email":"ghaith@w116-41.vsb.cz","login":null,"count":2},{"name":"Ghaith","email":"ghaith@vpns122.vsb.cz","login":null,"count":1},{"name":"Ghaith","email":"ghaith@vpns447.vsb.cz","login":null,"count":1},{"name":"Ghaith","email":"ghaith@w116-135.vsb.cz","login":null,"count":1},{"name":"Ghaith","email":"ghaith@w118-8.vsb.cz","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocean-data-factory-sweden%2Fkso/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-27T00:00:09.802Z","repositories_count":6817835,"commits_count":987327003,"contributors_count":41646243,"owners_count":1371206,"committers_count":3377263,"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":"ocean-data-factory-sweden/kso","html_url":"https://github.com/ocean-data-factory-sweden/kso","last_synced_at":"2026-08-29T02:03:03.553Z","status":null,"issues_count":196,"pull_requests_count":161,"avg_time_to_close_issue":3639107.3571428573,"avg_time_to_close_pull_request":962797.9315068494,"issues_closed_count":126,"pull_requests_closed_count":146,"pull_request_authors_count":10,"issue_authors_count":14,"avg_comments_per_issue":1.280612244897959,"avg_comments_per_pull_request":1.9130434782608696,"merged_pull_requests_count":96,"bot_issues_count":0,"bot_pull_requests_count":25,"past_year_issues_count":14,"past_year_pull_requests_count":27,"past_year_avg_time_to_close_issue":4446575.0,"past_year_avg_time_to_close_pull_request":1351502.0952380951,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":21,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":0.7857142857142857,"past_year_avg_comments_per_pull_request":2.7037037037037037,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":19,"created_at":"2023-09-13T08:46:19.193Z","updated_at":"2026-08-29T02:03:03.553Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocean-data-factory-sweden%2Fkso","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocean-data-factory-sweden%2Fkso/issues","issue_labels_count":{"bug":88,"enhancement":35,"Development":18,"good first issue":10,"Enhancement":5,"Spyfish":3,"Documentation":2,"Support":2,"Dependencies":2,"documentation":1,"help wanted":1,"question":1,"dependencies":1},"pull_request_labels_count":{"Enhancement":2,"Documentation":1,"Bug":1,"bug":1},"issue_author_associations_count":{"COLLABORATOR":188,"NONE":6,"CONTRIBUTOR":2},"pull_request_author_associations_count":{"COLLABORATOR":134,"CONTRIBUTOR":27},"issue_authors":{"Bergylta":68,"victor-wildlife":43,"jannesgg":37,"Diewertje11":21,"donkyjohn":5,"louisrf":4,"Nithador":4,"ShrimpFather7":3,"trossi":3,"KalindiFonda":2,"pabloyoyoista":2,"pilarnavarro":2,"FatemehMashhadi":1,"XhD98":1},"pull_request_authors":{"victor-wildlife":58,"Diewertje11":25,"dependabot[bot]":25,"jannesgg":18,"trossi":13,"louisrf":9,"GhaithChaabane":5,"pilarnavarro":5,"pabloyoyoista":2,"Nithador":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-29T00:00:07.761Z","repositories_count":16589571,"issues_count":43435102,"pull_requests_count":138459937,"authors_count":11570870,"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":{"Enhancement":4,"Development":3,"Dependencies":2,"Documentation":2},"past_year_pull_request_labels_count":{"Enhancement":2,"Bug":1,"Documentation":1},"past_year_issue_author_associations_count":{"COLLABORATOR":14},"past_year_pull_request_author_associations_count":{"COLLABORATOR":27},"past_year_issue_authors":{"louisrf":4,"Nithador":4,"trossi":3,"victor-wildlife":3},"past_year_pull_request_authors":{"trossi":11,"louisrf":9,"GhaithChaabane":5,"Nithador":1,"victor-wildlife":1},"maintainers":[{"login":"victor-wildlife","count":101,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/victor-wildlife"},{"login":"Bergylta","count":68,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Bergylta"},{"login":"jannesgg","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jannesgg"},{"login":"Diewertje11","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Diewertje11"},{"login":"trossi","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/trossi"},{"login":"louisrf","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/louisrf"},{"login":"pilarnavarro","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pilarnavarro"},{"login":"GhaithChaabane","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/GhaithChaabane"},{"login":"donkyjohn","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/donkyjohn"},{"login":"Nithador","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Nithador"},{"login":"KalindiFonda","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/KalindiFonda"}],"active_maintainers":[{"login":"trossi","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/trossi"},{"login":"louisrf","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/louisrf"},{"login":"GhaithChaabane","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/GhaithChaabane"},{"login":"Nithador","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Nithador"},{"login":"victor-wildlife","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/victor-wildlife"}]},"events":{"total":{"CreateEvent":19,"DeleteEvent":8,"ForkEvent":3,"IssueCommentEvent":53,"IssuesEvent":77,"MemberEvent":2,"PullRequestEvent":21,"PullRequestReviewCommentEvent":54,"PullRequestReviewEvent":31,"PushEvent":199,"WatchEvent":3},"last_year":{"CreateEvent":10,"DeleteEvent":7,"ForkEvent":2,"IssueCommentEvent":23,"IssuesEvent":56,"PullRequestEvent":13,"PullRequestReviewCommentEvent":41,"PullRequestReviewEvent":21,"PushEvent":169}},"keywords":["citizen-science","deep-learning","marine-protected-areas","object-detection"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/detect-unused-code.yml","sha":null,"kind":"manifest","created_at":"2023-09-21T19:29:38.378Z","updated_at":"2023-09-21T19:29:38.378Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/.github/workflows/detect-unused-code.yml","dependencies":[{"id":13856702003,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13856702004,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/code-formatting.yml","sha":null,"kind":"manifest","created_at":"2026-02-11T22:01:59.738Z","updated_at":"2026-02-11T22:01:59.738Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/.github/workflows/code-formatting.yml","dependencies":[{"id":25816192853,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25816192854,"package_name":"psf/black","ecosystem":"actions","requirements":"stable","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"containers/base/Dockerfile","sha":null,"kind":"manifest","created_at":"2026-02-11T22:01:59.846Z","updated_at":"2026-02-11T22:01:59.846Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/containers/base/Dockerfile","dependencies":[{"id":25816192855,"package_name":"${FFMPEG_BASE_IMAGE}","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false},{"id":25816192860,"package_name":"${BASE_IMAGE}","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"actions","filepath":".github/actions/increase-docker-space/action.yml","sha":null,"kind":"manifest","created_at":"2026-02-11T22:01:59.395Z","updated_at":"2026-02-11T22:01:59.395Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/.github/actions/increase-docker-space/action.yml","dependencies":[]},{"ecosystem":"docker","filepath":"containers/final/Dockerfile","sha":null,"kind":"manifest","created_at":"2026-02-11T22:02:00.325Z","updated_at":"2026-02-11T22:02:00.325Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/containers/final/Dockerfile","dependencies":[{"id":25816192874,"package_name":"${BASE_IMAGE}","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build-and-test.yml","sha":null,"kind":"manifest","created_at":"2026-02-11T22:01:59.435Z","updated_at":"2026-02-11T22:01:59.435Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/.github/workflows/build-and-test.yml","dependencies":[{"id":25816192836,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25816192837,"package_name":"./.github/actions/increase-docker-space","ecosystem":"actions","requirements":"*","direct":true,"kind":"composite","optional":false},{"id":25816192842,"package_name":"docker/login-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25816192843,"package_name":"docker/setup-qemu-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25816192844,"package_name":"docker/setup-buildx-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25816192845,"package_name":"docker/build-push-action","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build-and-test-pyproject.yml","sha":null,"kind":"manifest","created_at":"2026-08-17T20:42:01.602Z","updated_at":"2026-08-17T20:42:01.602Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/.github/workflows/build-and-test-pyproject.yml","dependencies":[{"id":26189064730,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":26189064731,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"containers/requirements_cpu.txt","sha":null,"kind":"manifest","created_at":"2026-08-17T20:42:02.485Z","updated_at":"2026-08-17T20:42:02.485Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/containers/requirements_cpu.txt","dependencies":[{"id":26189065459,"package_name":"torch","ecosystem":"pypi","requirements":"==2.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189065460,"package_name":"torchvision","ecosystem":"pypi","requirements":"==0.23.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"containers/requirements_cuda12.9.txt","sha":null,"kind":"manifest","created_at":"2026-08-17T20:42:02.560Z","updated_at":"2026-08-17T20:42:02.560Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/containers/requirements_cuda12.9.txt","dependencies":[{"id":26189065524,"package_name":"torch","ecosystem":"pypi","requirements":"==2.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189065527,"package_name":"torchvision","ecosystem":"pypi","requirements":"==0.23.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"containers/requirements_rocm6.4.txt","sha":null,"kind":"manifest","created_at":"2026-08-17T20:42:02.628Z","updated_at":"2026-08-17T20:42:02.628Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/containers/requirements_rocm6.4.txt","dependencies":[{"id":26189065742,"package_name":"torch","ecosystem":"pypi","requirements":"==2.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189065743,"package_name":"torchvision","ecosystem":"pypi","requirements":"==0.23.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"containers/requirements.txt","sha":null,"kind":"manifest","created_at":"2026-08-17T20:42:01.734Z","updated_at":"2026-08-17T20:42:01.734Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/containers/requirements.txt","dependencies":[{"id":26189064771,"package_name":"absl-py","ecosystem":"pypi","requirements":"==2.3.1","direct":true,"kind":"runtime","optional":false},{"id":26189064772,"package_name":"aiohappyeyeballs","ecosystem":"pypi","requirements":"==2.6.1","direct":true,"kind":"runtime","optional":false},{"id":26189064773,"package_name":"aiohttp","ecosystem":"pypi","requirements":"==3.13.3","direct":true,"kind":"runtime","optional":false},{"id":26189064774,"package_name":"aiosignal","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":26189064775,"package_name":"alembic","ecosystem":"pypi","requirements":"==1.17.2","direct":true,"kind":"runtime","optional":false},{"id":26189064776,"package_name":"annotated-doc","ecosystem":"pypi","requirements":"==0.0.4","direct":true,"kind":"runtime","optional":false},{"id":26189064777,"package_name":"annotated-types","ecosystem":"pypi","requirements":"==0.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189064778,"package_name":"anyio","ecosystem":"pypi","requirements":"==4.12.0","direct":true,"kind":"runtime","optional":false},{"id":26189064779,"package_name":"anywidget","ecosystem":"pypi","requirements":"==0.9.21","direct":true,"kind":"runtime","optional":false},{"id":26189064780,"package_name":"appnope","ecosystem":"pypi","requirements":"==0.1.4","direct":true,"kind":"runtime","optional":false},{"id":26189064781,"package_name":"argon2-cffi","ecosystem":"pypi","requirements":"==25.1.0","direct":true,"kind":"runtime","optional":false},{"id":26189064782,"package_name":"argon2-cffi-bindings","ecosystem":"pypi","requirements":"==25.1.0","direct":true,"kind":"runtime","optional":false},{"id":26189064783,"package_name":"arrow","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":26189064784,"package_name":"astroid","ecosystem":"pypi","requirements":"==3.3.11","direct":true,"kind":"runtime","optional":false},{"id":26189064785,"package_name":"asttokens","ecosystem":"pypi","requirements":"==3.0.1","direct":true,"kind":"runtime","optional":false},{"id":26189064786,"package_name":"async-lru","ecosystem":"pypi","requirements":"==2.0.5","direct":true,"kind":"runtime","optional":false},{"id":26189064787,"package_name":"attrs","ecosystem":"pypi","requirements":"==25.4.0","direct":true,"kind":"runtime","optional":false},{"id":26189064788,"package_name":"av","ecosystem":"pypi","requirements":"==15.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189064789,"package_name":"azure-core","ecosystem":"pypi","requirements":"==1.38.0","direct":true,"kind":"runtime","optional":false},{"id":26189064790,"package_name":"azure-storage-blob","ecosystem":"pypi","requirements":"==12.28.0","direct":true,"kind":"runtime","optional":false},{"id":26189064791,"package_name":"azure-storage-file-datalake","ecosystem":"pypi","requirements":"==12.23.0","direct":true,"kind":"runtime","optional":false},{"id":26189064792,"package_name":"babel","ecosystem":"pypi","requirements":"==2.17.0","direct":true,"kind":"runtime","optional":false},{"id":26189064793,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.14.3","direct":true,"kind":"runtime","optional":false},{"id":26189064794,"package_name":"black","ecosystem":"pypi","requirements":"==24.4.2","direct":true,"kind":"runtime","optional":false},{"id":26189064795,"package_name":"bleach","ecosystem":"pypi","requirements":"==6.3.0","direct":true,"kind":"runtime","optional":false},{"id":26189064796,"package_name":"blinker","ecosystem":"pypi","requirements":"==1.9.0","direct":true,"kind":"runtime","optional":false},{"id":26189064797,"package_name":"boto3","ecosystem":"pypi","requirements":"==1.39.4","direct":true,"kind":"runtime","optional":false},{"id":26189064798,"package_name":"botocore","ecosystem":"pypi","requirements":"==1.39.17","direct":true,"kind":"runtime","optional":false},{"id":26189064799,"package_name":"branca","ecosystem":"pypi","requirements":"==0.8.2","direct":true,"kind":"runtime","optional":false},{"id":26189064800,"package_name":"cachetools","ecosystem":"pypi","requirements":"==6.2.4","direct":true,"kind":"runtime","optional":false},{"id":26189064801,"package_name":"certifi","ecosystem":"pypi","requirements":"==2025.11.12","direct":true,"kind":"runtime","optional":false},{"id":26189064802,"package_name":"cffi","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189064803,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==3.4.4","direct":true,"kind":"runtime","optional":false},{"id":26189064804,"package_name":"click","ecosystem":"pypi","requirements":"==8.3.1","direct":true,"kind":"runtime","optional":false},{"id":26189064805,"package_name":"cloudpickle","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":26189064806,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":true,"kind":"runtime","optional":false},{"id":26189064807,"package_name":"coloredlogs","ecosystem":"pypi","requirements":"==15.0.1","direct":true,"kind":"runtime","optional":false},{"id":26189064808,"package_name":"comm","ecosystem":"pypi","requirements":"==0.2.3","direct":true,"kind":"runtime","optional":false},{"id":26189064809,"package_name":"config","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":26189064885,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.3.3","direct":true,"kind":"runtime","optional":false},{"id":26189064886,"package_name":"cryptography","ecosystem":"pypi","requirements":"==46.0.3","direct":true,"kind":"runtime","optional":false},{"id":26189064887,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.12.1","direct":true,"kind":"runtime","optional":false},{"id":26189064888,"package_name":"databricks-agents","ecosystem":"pypi","requirements":"==1.9.2","direct":true,"kind":"runtime","optional":false},{"id":26189064890,"package_name":"databricks-cli","ecosystem":"pypi","requirements":"==0.18.0","direct":true,"kind":"runtime","optional":false},{"id":26189064894,"package_name":"databricks-sdk","ecosystem":"pypi","requirements":"==0.74.0","direct":true,"kind":"runtime","optional":false},{"id":26189064895,"package_name":"dataclasses-json","ecosystem":"pypi","requirements":"==0.6.7","direct":true,"kind":"runtime","optional":false},{"id":26189064896,"package_name":"debugpy","ecosystem":"pypi","requirements":"==1.8.19","direct":true,"kind":"runtime","optional":false},{"id":26189064897,"package_name":"decorator","ecosystem":"pypi","requirements":"==5.2.1","direct":true,"kind":"runtime","optional":false},{"id":26189064898,"package_name":"defusedxml","ecosystem":"pypi","requirements":"==0.7.1","direct":true,"kind":"runtime","optional":false},{"id":26189064899,"package_name":"dill","ecosystem":"pypi","requirements":"==0.4.0","direct":true,"kind":"runtime","optional":false},{"id":26189064900,"package_name":"distro","ecosystem":"pypi","requirements":"==1.9.0","direct":true,"kind":"runtime","optional":false},{"id":26189064901,"package_name":"docker","ecosystem":"pypi","requirements":"==7.1.0","direct":true,"kind":"runtime","optional":false},{"id":26189064902,"package_name":"executing","ecosystem":"pypi","requirements":"==2.2.1","direct":true,"kind":"runtime","optional":false},{"id":26189064903,"package_name":"fastapi","ecosystem":"pypi","requirements":"==0.124.4","direct":true,"kind":"runtime","optional":false},{"id":26189064904,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"==2.21.2","direct":true,"kind":"runtime","optional":false},{"id":26189064905,"package_name":"fastuuid","ecosystem":"pypi","requirements":"==0.14.0","direct":true,"kind":"runtime","optional":false},{"id":26189064906,"package_name":"ffmpeg-python","ecosystem":"pypi","requirements":"==0.2.0","direct":true,"kind":"runtime","optional":false},{"id":26189064907,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.20.1","direct":true,"kind":"runtime","optional":false},{"id":26189064908,"package_name":"filetype","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":26189064909,"package_name":"fire","ecosystem":"pypi","requirements":"==0.7.1","direct":true,"kind":"runtime","optional":false},{"id":26189064910,"package_name":"flask","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":26189064911,"package_name":"flask-cors","ecosystem":"pypi","requirements":"==6.0.2","direct":true,"kind":"runtime","optional":false},{"id":26189064912,"package_name":"flatbuffers","ecosystem":"pypi","requirements":"==25.12.19","direct":true,"kind":"runtime","optional":false},{"id":26189064913,"package_name":"folium","ecosystem":"pypi","requirements":"==0.20.0","direct":true,"kind":"runtime","optional":false},{"id":26189064914,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.61.1","direct":true,"kind":"runtime","optional":false},{"id":26189064915,"package_name":"fqdn","ecosystem":"pypi","requirements":"==1.5.1","direct":true,"kind":"runtime","optional":false},{"id":26189064916,"package_name":"frozenlist","ecosystem":"pypi","requirements":"==1.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189064917,"package_name":"fsspec","ecosystem":"pypi","requirements":"==2025.12.0","direct":true,"kind":"runtime","optional":false},{"id":26189064918,"package_name":"ftfy","ecosystem":"pypi","requirements":"==6.3.1","direct":true,"kind":"runtime","optional":false},{"id":26189064919,"package_name":"future","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189064920,"package_name":"gdown","ecosystem":"pypi","requirements":"==5.2.0","direct":true,"kind":"runtime","optional":false},{"id":26189064921,"package_name":"gitdb","ecosystem":"pypi","requirements":"==4.0.12","direct":true,"kind":"runtime","optional":false},{"id":26189064922,"package_name":"gitpython","ecosystem":"pypi","requirements":"==3.1.45","direct":true,"kind":"runtime","optional":false},{"id":26189064923,"package_name":"google-api-core","ecosystem":"pypi","requirements":"==2.29.0","direct":true,"kind":"runtime","optional":false},{"id":26189064924,"package_name":"google-auth","ecosystem":"pypi","requirements":"==2.45.0","direct":true,"kind":"runtime","optional":false},{"id":26189064925,"package_name":"google-cloud-core","ecosystem":"pypi","requirements":"==2.5.0","direct":true,"kind":"runtime","optional":false},{"id":26189064926,"package_name":"google-cloud-storage","ecosystem":"pypi","requirements":"==3.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189064927,"package_name":"google-crc32c","ecosystem":"pypi","requirements":"==1.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189064928,"package_name":"google-resumable-media","ecosystem":"pypi","requirements":"==2.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189064929,"package_name":"googleapis-common-protos","ecosystem":"pypi","requirements":"==1.72.0","direct":true,"kind":"runtime","optional":false},{"id":26189064930,"package_name":"graphene","ecosystem":"pypi","requirements":"==3.4.3","direct":true,"kind":"runtime","optional":false},{"id":26189064931,"package_name":"graphql-core","ecosystem":"pypi","requirements":"==3.2.7","direct":true,"kind":"runtime","optional":false},{"id":26189064932,"package_name":"graphql-relay","ecosystem":"pypi","requirements":"==3.2.0","direct":true,"kind":"runtime","optional":false},{"id":26189064933,"package_name":"grpcio","ecosystem":"pypi","requirements":"==1.76.0","direct":true,"kind":"runtime","optional":false},{"id":26189064934,"package_name":"gunicorn","ecosystem":"pypi","requirements":"==23.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189064935,"package_name":"h11","ecosystem":"pypi","requirements":"==0.16.0","direct":true,"kind":"runtime","optional":false},{"id":26189064936,"package_name":"httpcore","ecosystem":"pypi","requirements":"==1.0.9","direct":true,"kind":"runtime","optional":false},{"id":26189064937,"package_name":"httpx","ecosystem":"pypi","requirements":"==0.28.1","direct":true,"kind":"runtime","optional":false},{"id":26189064938,"package_name":"huey","ecosystem":"pypi","requirements":"==2.5.5","direct":true,"kind":"runtime","optional":false},{"id":26189064939,"package_name":"huggingface-hub","ecosystem":"pypi","requirements":"==0.24.7","direct":true,"kind":"runtime","optional":false},{"id":26189064940,"package_name":"humanfriendly","ecosystem":"pypi","requirements":"==10.0","direct":true,"kind":"runtime","optional":false},{"id":26189064941,"package_name":"idna","ecosystem":"pypi","requirements":"==3.7","direct":true,"kind":"runtime","optional":false},{"id":26189064942,"package_name":"imageio","ecosystem":"pypi","requirements":"==2.37.2","direct":true,"kind":"runtime","optional":false},{"id":26189064943,"package_name":"imagesize","ecosystem":"pypi","requirements":"==1.4.1","direct":true,"kind":"runtime","optional":false},{"id":26189064944,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==8.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189064945,"package_name":"ipyfilechooser","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":26189064951,"package_name":"ipykernel","ecosystem":"pypi","requirements":"==7.1.0","direct":true,"kind":"runtime","optional":false},{"id":26189064952,"package_name":"ipython","ecosystem":"pypi","requirements":"==9.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189064953,"package_name":"ipython-pygments-lexers","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"runtime","optional":false},{"id":26189064954,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"==8.1.7","direct":true,"kind":"runtime","optional":false},{"id":26189064955,"package_name":"isodate","ecosystem":"pypi","requirements":"==0.7.2","direct":true,"kind":"runtime","optional":false},{"id":26189064956,"package_name":"isoduration","ecosystem":"pypi","requirements":"==20.11.0","direct":true,"kind":"runtime","optional":false},{"id":26189064957,"package_name":"isort","ecosystem":"pypi","requirements":"==6.1.0","direct":true,"kind":"runtime","optional":false},{"id":26189064958,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==2.2.0","direct":true,"kind":"runtime","optional":false},{"id":26189064959,"package_name":"jedi","ecosystem":"pypi","requirements":"==0.19.2","direct":true,"kind":"runtime","optional":false},{"id":26189064960,"package_name":"jinja2","ecosystem":"pypi","requirements":"==3.1.6","direct":true,"kind":"runtime","optional":false},{"id":26189064961,"package_name":"jiter","ecosystem":"pypi","requirements":"==0.12.0","direct":true,"kind":"runtime","optional":false},{"id":26189064962,"package_name":"jmespath","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"runtime","optional":false},{"id":26189064963,"package_name":"joblib","ecosystem":"pypi","requirements":"==1.5.3","direct":true,"kind":"runtime","optional":false},{"id":26189064964,"package_name":"json5","ecosystem":"pypi","requirements":"==0.12.1","direct":true,"kind":"runtime","optional":false},{"id":26189064965,"package_name":"jsonlines","ecosystem":"pypi","requirements":"==4.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189064966,"package_name":"jsonpatch","ecosystem":"pypi","requirements":"==1.33","direct":true,"kind":"runtime","optional":false},{"id":26189064967,"package_name":"jsonpointer","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189064968,"package_name":"jsonschema","ecosystem":"pypi","requirements":"==4.25.1","direct":true,"kind":"runtime","optional":false},{"id":26189064969,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"==2025.9.1","direct":true,"kind":"runtime","optional":false},{"id":26189064970,"package_name":"jupyter-bbox-widget","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":26189065032,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"==8.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189065033,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"==5.9.1","direct":true,"kind":"runtime","optional":false},{"id":26189065034,"package_name":"jupyter-events","ecosystem":"pypi","requirements":"==0.12.0","direct":true,"kind":"runtime","optional":false},{"id":26189065035,"package_name":"jupyter-lsp","ecosystem":"pypi","requirements":"==2.3.0","direct":true,"kind":"runtime","optional":false},{"id":26189065036,"package_name":"jupyter-server","ecosystem":"pypi","requirements":"==2.17.0","direct":true,"kind":"runtime","optional":false},{"id":26189065037,"package_name":"jupyter-server-terminals","ecosystem":"pypi","requirements":"==0.5.3","direct":true,"kind":"runtime","optional":false},{"id":26189065038,"package_name":"jupyterlab","ecosystem":"pypi","requirements":"==4.4.10","direct":true,"kind":"runtime","optional":false},{"id":26189065039,"package_name":"jupyterlab-pygments","ecosystem":"pypi","requirements":"==0.3.0","direct":true,"kind":"runtime","optional":false},{"id":26189065040,"package_name":"jupyterlab-server","ecosystem":"pypi","requirements":"==2.28.0","direct":true,"kind":"runtime","optional":false},{"id":26189065041,"package_name":"jupyterlab-widgets","ecosystem":"pypi","requirements":"==3.0.16","direct":true,"kind":"runtime","optional":false},{"id":26189065042,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.9","direct":true,"kind":"runtime","optional":false},{"id":26189065043,"package_name":"langchain-core","ecosystem":"pypi","requirements":"==1.2.7","direct":true,"kind":"runtime","optional":false},{"id":26189065044,"package_name":"langchain-openai","ecosystem":"pypi","requirements":"==1.1.7","direct":true,"kind":"runtime","optional":false},{"id":26189065045,"package_name":"langsmith","ecosystem":"pypi","requirements":"==0.6.4","direct":true,"kind":"runtime","optional":false},{"id":26189065046,"package_name":"lark","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":26189065047,"package_name":"litellm","ecosystem":"pypi","requirements":"==1.80.16","direct":true,"kind":"runtime","optional":false},{"id":26189065048,"package_name":"mako","ecosystem":"pypi","requirements":"==1.3.10","direct":true,"kind":"runtime","optional":false},{"id":26189065049,"package_name":"markdown","ecosystem":"pypi","requirements":"==3.10","direct":true,"kind":"runtime","optional":false},{"id":26189065050,"package_name":"markupsafe","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"runtime","optional":false},{"id":26189065051,"package_name":"marshmallow","ecosystem":"pypi","requirements":"==3.26.2","direct":true,"kind":"runtime","optional":false},{"id":26189065052,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.10.8","direct":true,"kind":"runtime","optional":false},{"id":26189065053,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"==0.2.1","direct":true,"kind":"runtime","optional":false},{"id":26189065054,"package_name":"mccabe","ecosystem":"pypi","requirements":"==0.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189065055,"package_name":"mistune","ecosystem":"pypi","requirements":"==3.1.4","direct":true,"kind":"runtime","optional":false},{"id":26189065056,"package_name":"ml-dtypes","ecosystem":"pypi","requirements":"==0.5.4","direct":true,"kind":"runtime","optional":false},{"id":26189065057,"package_name":"mlflow","ecosystem":"pypi","requirements":"==3.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189065058,"package_name":"mlflow-skinny","ecosystem":"pypi","requirements":"==3.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189065059,"package_name":"mlflow-tracing","ecosystem":"pypi","requirements":"==3.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189065060,"package_name":"mpmath","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":26189065061,"package_name":"multidict","ecosystem":"pypi","requirements":"==6.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189065062,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":26189065063,"package_name":"natsort","ecosystem":"pypi","requirements":"==8.4.0","direct":true,"kind":"runtime","optional":false},{"id":26189065064,"package_name":"nbclient","ecosystem":"pypi","requirements":"==0.10.2","direct":true,"kind":"runtime","optional":false},{"id":26189065065,"package_name":"nbconvert","ecosystem":"pypi","requirements":"==7.16.6","direct":true,"kind":"runtime","optional":false},{"id":26189065066,"package_name":"nbformat","ecosystem":"pypi","requirements":"==5.10.4","direct":true,"kind":"runtime","optional":false},{"id":26189065067,"package_name":"nbqa","ecosystem":"pypi","requirements":"==1.9.1","direct":true,"kind":"runtime","optional":false},{"id":26189065068,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"runtime","optional":false},{"id":26189065069,"package_name":"networkx","ecosystem":"pypi","requirements":"==3.6.1","direct":true,"kind":"runtime","optional":false},{"id":26189065070,"package_name":"nn-meter","ecosystem":"pypi","requirements":"==2.0","direct":true,"kind":"runtime","optional":false},{"id":26189065072,"package_name":"notebook","ecosystem":"pypi","requirements":"==7.4.4","direct":true,"kind":"runtime","optional":false},{"id":26189065073,"package_name":"notebook-shim","ecosystem":"pypi","requirements":"==0.2.4","direct":true,"kind":"runtime","optional":false},{"id":26189065074,"package_name":"numpy","ecosystem":"pypi","requirements":"==2.2.6","direct":true,"kind":"runtime","optional":false},{"id":26189065075,"package_name":"oauthlib","ecosystem":"pypi","requirements":"==3.3.1","direct":true,"kind":"runtime","optional":false},{"id":26189065076,"package_name":"onnx","ecosystem":"pypi","requirements":"==1.17.0","direct":true,"kind":"runtime","optional":false},{"id":26189065077,"package_name":"onnxruntime","ecosystem":"pypi","requirements":"==1.23.2","direct":true,"kind":"runtime","optional":false},{"id":26189065078,"package_name":"onnxslim","ecosystem":"pypi","requirements":"==0.1.82","direct":true,"kind":"runtime","optional":false},{"id":26189065082,"package_name":"openai","ecosystem":"pypi","requirements":"==2.15.0","direct":true,"kind":"runtime","optional":false},{"id":26189065083,"package_name":"opencv-python","ecosystem":"pypi","requirements":"==4.11.0.86","direct":true,"kind":"runtime","optional":false},{"id":26189065084,"package_name":"opencv-python-headless","ecosystem":"pypi","requirements":"==4.10.0.84","direct":true,"kind":"runtime","optional":false},{"id":26189065085,"package_name":"opentelemetry-api","ecosystem":"pypi","requirements":"==1.39.1","direct":true,"kind":"runtime","optional":false},{"id":26189065086,"package_name":"opentelemetry-proto","ecosystem":"pypi","requirements":"==1.39.1","direct":true,"kind":"runtime","optional":false},{"id":26189065087,"package_name":"opentelemetry-sdk","ecosystem":"pypi","requirements":"==1.39.1","direct":true,"kind":"runtime","optional":false},{"id":26189065088,"package_name":"opentelemetry-semantic-conventions","ecosystem":"pypi","requirements":"==0.60b1","direct":true,"kind":"runtime","optional":false},{"id":26189065089,"package_name":"orjson","ecosystem":"pypi","requirements":"==3.11.5","direct":true,"kind":"runtime","optional":false},{"id":26189065090,"package_name":"packaging","ecosystem":"pypi","requirements":"==25.0","direct":true,"kind":"runtime","optional":false},{"id":26189065091,"package_name":"pandas","ecosystem":"pypi","requirements":"==2.3.1","direct":true,"kind":"runtime","optional":false},{"id":26189065092,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"==1.5.1","direct":true,"kind":"runtime","optional":false},{"id":26189065093,"package_name":"panoptes-client","ecosystem":"pypi","requirements":"==1.7.1","direct":true,"kind":"runtime","optional":false},{"id":26189065094,"package_name":"parso","ecosystem":"pypi","requirements":"==0.8.5","direct":true,"kind":"runtime","optional":false},{"id":26189065095,"package_name":"pathspec","ecosystem":"pypi","requirements":"==1.0.3","direct":true,"kind":"runtime","optional":false},{"id":26189065096,"package_name":"pexpect","ecosystem":"pypi","requirements":"==4.9.0","direct":true,"kind":"runtime","optional":false},{"id":26189065097,"package_name":"pi-heif","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"runtime","optional":false},{"id":26189065098,"package_name":"pillow","ecosystem":"pypi","requirements":"==12.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189065099,"package_name":"pillow-avif-plugin","ecosystem":"pypi","requirements":"==1.5.2","direct":true,"kind":"runtime","optional":false},{"id":26189065100,"package_name":"pims","ecosystem":"pypi","requirements":"==0.7","direct":true,"kind":"runtime","optional":false},{"id":26189065101,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==4.5.1","direct":true,"kind":"runtime","optional":false},{"id":26189065102,"package_name":"prometheus-client","ecosystem":"pypi","requirements":"==0.23.1","direct":true,"kind":"runtime","optional":false},{"id":26189065103,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"==3.0.52","direct":true,"kind":"runtime","optional":false},{"id":26189065104,"package_name":"propcache","ecosystem":"pypi","requirements":"==0.4.1","direct":true,"kind":"runtime","optional":false},{"id":26189065105,"package_name":"proto-plus","ecosystem":"pypi","requirements":"==1.27.0","direct":true,"kind":"runtime","optional":false},{"id":26189065106,"package_name":"protobuf","ecosystem":"pypi","requirements":"==6.33.2","direct":true,"kind":"runtime","optional":false},{"id":26189065107,"package_name":"psutil","ecosystem":"pypi","requirements":"==7.1.3","direct":true,"kind":"runtime","optional":false},{"id":26189065108,"package_name":"psygnal","ecosystem":"pypi","requirements":"==0.15.0","direct":true,"kind":"runtime","optional":false},{"id":26189065109,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"==0.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189065110,"package_name":"pure-eval","ecosystem":"pypi","requirements":"==0.2.3","direct":true,"kind":"runtime","optional":false},{"id":26189065111,"package_name":"py-cpuinfo","ecosystem":"pypi","requirements":"==9.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189065112,"package_name":"pyarrow","ecosystem":"pypi","requirements":"==22.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189065113,"package_name":"pyasn1","ecosystem":"pypi","requirements":"==0.6.1","direct":true,"kind":"runtime","optional":false},{"id":26189065114,"package_name":"pyasn1-modules","ecosystem":"pypi","requirements":"==0.4.2","direct":true,"kind":"runtime","optional":false},{"id":26189065115,"package_name":"pybboxes","ecosystem":"pypi","requirements":"==0.1.6","direct":true,"kind":"runtime","optional":false},{"id":26189065122,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.23","direct":true,"kind":"runtime","optional":false},{"id":26189065123,"package_name":"pydantic","ecosystem":"pypi","requirements":"==2.12.5","direct":true,"kind":"runtime","optional":false},{"id":26189065124,"package_name":"pydantic-core","ecosystem":"pypi","requirements":"==2.41.5","direct":true,"kind":"runtime","optional":false},{"id":26189065125,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.19.2","direct":true,"kind":"runtime","optional":false},{"id":26189065126,"package_name":"pyjwt","ecosystem":"pypi","requirements":"==2.10.1","direct":true,"kind":"runtime","optional":false},{"id":26189065127,"package_name":"pylint","ecosystem":"pypi","requirements":"==3.3.8","direct":true,"kind":"runtime","optional":false},{"id":26189065128,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.2.5","direct":true,"kind":"runtime","optional":false},{"id":26189065129,"package_name":"pysocks","ecosystem":"pypi","requirements":"==1.7.1","direct":true,"kind":"runtime","optional":false},{"id":26189065130,"package_name":"pytest","ecosystem":"pypi","requirements":"==8.4.2","direct":true,"kind":"runtime","optional":false},{"id":26189065131,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.9.0.post0","direct":true,"kind":"runtime","optional":false},{"id":26189065132,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"==1.2.1","direct":true,"kind":"runtime","optional":false},{"id":26189065133,"package_name":"python-json-logger","ecosystem":"pypi","requirements":"==4.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189065134,"package_name":"python-magic","ecosystem":"pypi","requirements":"==0.4.27","direct":true,"kind":"runtime","optional":false},{"id":26189065135,"package_name":"pytz","ecosystem":"pypi","requirements":"==2025.2","direct":true,"kind":"runtime","optional":false},{"id":26189065136,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0.3","direct":true,"kind":"runtime","optional":false},{"id":26189065137,"package_name":"pyzmq","ecosystem":"pypi","requirements":"==27.1.0","direct":true,"kind":"runtime","optional":false},{"id":26189065138,"package_name":"redo","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189065139,"package_name":"referencing","ecosystem":"pypi","requirements":"==0.37.0","direct":true,"kind":"runtime","optional":false},{"id":26189065140,"package_name":"regex","ecosystem":"pypi","requirements":"==2026.1.15","direct":true,"kind":"runtime","optional":false},{"id":26189065141,"package_name":"requests","ecosystem":"pypi","requirements":"==2.32.5","direct":true,"kind":"runtime","optional":false},{"id":26189065142,"package_name":"requests-toolbelt","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":26189065143,"package_name":"rfc3339-validator","ecosystem":"pypi","requirements":"==0.1.4","direct":true,"kind":"runtime","optional":false},{"id":26189065144,"package_name":"rfc3986-validator","ecosystem":"pypi","requirements":"==0.1.1","direct":true,"kind":"runtime","optional":false},{"id":26189065145,"package_name":"rfc3987-syntax","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":26189065146,"package_name":"roboflow","ecosystem":"pypi","requirements":"==1.2.11","direct":true,"kind":"runtime","optional":false},{"id":26189065169,"package_name":"rpds-py","ecosystem":"pypi","requirements":"==0.30.0","direct":true,"kind":"runtime","optional":false},{"id":26189065170,"package_name":"rsa","ecosystem":"pypi","requirements":"==4.9.1","direct":true,"kind":"runtime","optional":false},{"id":26189065171,"package_name":"s3transfer","ecosystem":"pypi","requirements":"==0.13.1","direct":true,"kind":"runtime","optional":false},{"id":26189065172,"package_name":"sahi","ecosystem":"pypi","requirements":"==0.11.36","direct":true,"kind":"runtime","optional":false},{"id":26189065173,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"==1.7.2","direct":true,"kind":"runtime","optional":false},{"id":26189065174,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.16.3","direct":true,"kind":"runtime","optional":false},{"id":26189065175,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.13.2","direct":true,"kind":"runtime","optional":false},{"id":26189065176,"package_name":"send2trash","ecosystem":"pypi","requirements":"==1.8.3","direct":true,"kind":"runtime","optional":false},{"id":26189065177,"package_name":"sentry-sdk","ecosystem":"pypi","requirements":"==2.48.0","direct":true,"kind":"runtime","optional":false},{"id":26189065178,"package_name":"shapely","ecosystem":"pypi","requirements":"==2.1.2","direct":true,"kind":"runtime","optional":false},{"id":26189065179,"package_name":"six","ecosystem":"pypi","requirements":"==1.17.0","direct":true,"kind":"runtime","optional":false},{"id":26189065180,"package_name":"slicerator","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":26189065192,"package_name":"smmap","ecosystem":"pypi","requirements":"==5.0.2","direct":true,"kind":"runtime","optional":false},{"id":26189065193,"package_name":"sniffio","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":26189065194,"package_name":"soupsieve","ecosystem":"pypi","requirements":"==2.8","direct":true,"kind":"runtime","optional":false},{"id":26189065195,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"==2.0.45","direct":true,"kind":"runtime","optional":false},{"id":26189065196,"package_name":"sqlparse","ecosystem":"pypi","requirements":"==0.5.4","direct":true,"kind":"runtime","optional":false},{"id":26189065197,"package_name":"stack-data","ecosystem":"pypi","requirements":"==0.6.3","direct":true,"kind":"runtime","optional":false},{"id":26189065198,"package_name":"starlette","ecosystem":"pypi","requirements":"==0.50.0","direct":true,"kind":"runtime","optional":false},{"id":26189065199,"package_name":"sympy","ecosystem":"pypi","requirements":"==1.14.0","direct":true,"kind":"runtime","optional":false},{"id":26189065200,"package_name":"tabulate","ecosystem":"pypi","requirements":"==0.9.0","direct":true,"kind":"runtime","optional":false},{"id":26189065201,"package_name":"tenacity","ecosystem":"pypi","requirements":"==9.1.2","direct":true,"kind":"runtime","optional":false},{"id":26189065202,"package_name":"tensorboard","ecosystem":"pypi","requirements":"==2.20.0","direct":true,"kind":"runtime","optional":false},{"id":26189065203,"package_name":"tensorboard-data-server","ecosystem":"pypi","requirements":"==0.7.2","direct":true,"kind":"runtime","optional":false},{"id":26189065204,"package_name":"termcolor","ecosystem":"pypi","requirements":"==3.2.0","direct":true,"kind":"runtime","optional":false},{"id":26189065205,"package_name":"terminado","ecosystem":"pypi","requirements":"==0.18.1","direct":true,"kind":"runtime","optional":false},{"id":26189065206,"package_name":"terminaltables","ecosystem":"pypi","requirements":"==3.1.10","direct":true,"kind":"runtime","optional":false},{"id":26189065208,"package_name":"thop","ecosystem":"pypi","requirements":"==0.1.1.post2209072238","direct":true,"kind":"runtime","optional":false},{"id":26189065209,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"==3.6.0","direct":true,"kind":"runtime","optional":false},{"id":26189065211,"package_name":"tifffile","ecosystem":"pypi","requirements":"==2025.12.12","direct":true,"kind":"runtime","optional":false},{"id":26189065213,"package_name":"tiktoken","ecosystem":"pypi","requirements":"==0.12.0","direct":true,"kind":"runtime","optional":false},{"id":26189065215,"package_name":"tinycss2","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":26189065217,"package_name":"tokenize-rt","ecosystem":"pypi","requirements":"==6.2.0","direct":true,"kind":"runtime","optional":false},{"id":26189065218,"package_name":"tokenizers","ecosystem":"pypi","requirements":"==0.22.2","direct":true,"kind":"runtime","optional":false},{"id":26189065219,"package_name":"tomlkit","ecosystem":"pypi","requirements":"==0.13.3","direct":true,"kind":"runtime","optional":false},{"id":26189065220,"package_name":"torch","ecosystem":"pypi","requirements":"==2.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189065221,"package_name":"torch-flops","ecosystem":"pypi","requirements":"==0.4.1","direct":true,"kind":"runtime","optional":false},{"id":26189065281,"package_name":"torch-summary","ecosystem":"pypi","requirements":"==1.4.5","direct":true,"kind":"runtime","optional":false},{"id":26189065285,"package_name":"torchinfo","ecosystem":"pypi","requirements":"==1.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189065315,"package_name":"torchscan","ecosystem":"pypi","requirements":"==0.1.1","direct":true,"kind":"runtime","optional":false},{"id":26189065316,"package_name":"torchvision","ecosystem":"pypi","requirements":"==0.23.0","direct":true,"kind":"runtime","optional":false},{"id":26189065317,"package_name":"tornado","ecosystem":"pypi","requirements":"==6.5.4","direct":true,"kind":"runtime","optional":false},{"id":26189065318,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.67.1","direct":true,"kind":"runtime","optional":false},{"id":26189065319,"package_name":"traitlets","ecosystem":"pypi","requirements":"==5.14.3","direct":true,"kind":"runtime","optional":false},{"id":26189065320,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.15.0","direct":true,"kind":"runtime","optional":false},{"id":26189065322,"package_name":"typing-inspect","ecosystem":"pypi","requirements":"==0.9.0","direct":true,"kind":"runtime","optional":false},{"id":26189065323,"package_name":"typing-inspection","ecosystem":"pypi","requirements":"==0.4.2","direct":true,"kind":"runtime","optional":false},{"id":26189065324,"package_name":"tzdata","ecosystem":"pypi","requirements":"==2025.3","direct":true,"kind":"runtime","optional":false},{"id":26189065325,"package_name":"ultralytics","ecosystem":"pypi","requirements":"==8.3.166","direct":true,"kind":"runtime","optional":false},{"id":26189065326,"package_name":"ultralytics-thop","ecosystem":"pypi","requirements":"==2.0.18","direct":true,"kind":"runtime","optional":false},{"id":26189065327,"package_name":"uri-template","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":26189065328,"package_name":"urllib3","ecosystem":"pypi","requirements":"==2.6.2","direct":true,"kind":"runtime","optional":false},{"id":26189065329,"package_name":"uuid-utils","ecosystem":"pypi","requirements":"==0.13.0","direct":true,"kind":"runtime","optional":false},{"id":26189065330,"package_name":"uvicorn","ecosystem":"pypi","requirements":"==0.38.0","direct":true,"kind":"runtime","optional":false},{"id":26189065331,"package_name":"wandb","ecosystem":"pypi","requirements":"==0.21.0","direct":true,"kind":"runtime","optional":false},{"id":26189065332,"package_name":"wcwidth","ecosystem":"pypi","requirements":"==0.2.14","direct":true,"kind":"runtime","optional":false},{"id":26189065333,"package_name":"webcolors","ecosystem":"pypi","requirements":"==25.10.0","direct":true,"kind":"runtime","optional":false},{"id":26189065335,"package_name":"webencodings","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":26189065336,"package_name":"websocket-client","ecosystem":"pypi","requirements":"==1.9.0","direct":true,"kind":"runtime","optional":false},{"id":26189065337,"package_name":"werkzeug","ecosystem":"pypi","requirements":"==3.1.4","direct":true,"kind":"runtime","optional":false},{"id":26189065338,"package_name":"whenever","ecosystem":"pypi","requirements":"==0.7.3","direct":true,"kind":"runtime","optional":false},{"id":26189065339,"package_name":"widgetsnbextension","ecosystem":"pypi","requirements":"==4.0.15","direct":true,"kind":"runtime","optional":false},{"id":26189065340,"package_name":"xyzservices","ecosystem":"pypi","requirements":"==2025.11.0","direct":true,"kind":"runtime","optional":false},{"id":26189065341,"package_name":"yarl","ecosystem":"pypi","requirements":"==1.22.0","direct":true,"kind":"runtime","optional":false},{"id":26189065342,"package_name":"yolov5","ecosystem":"pypi","requirements":"==7.0.14","direct":true,"kind":"runtime","optional":false},{"id":26189065347,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.23.0","direct":true,"kind":"runtime","optional":false},{"id":26189065348,"package_name":"zstandard","ecosystem":"pypi","requirements":"==0.25.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-08-17T20:42:02.710Z","updated_at":"2026-08-17T20:42:02.710Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/pyproject.toml","dependencies":[{"id":26189065859,"package_name":"av","ecosystem":"pypi","requirements":"\u003e=15.0","direct":true,"kind":"runtime","optional":false},{"id":26189065860,"package_name":"boto3","ecosystem":"pypi","requirements":"\u003e=1.39","direct":true,"kind":"runtime","optional":false},{"id":26189065861,"package_name":"ffmpeg-python","ecosystem":"pypi","requirements":"\u003e=0.2","direct":true,"kind":"runtime","optional":false},{"id":26189065862,"package_name":"folium","ecosystem":"pypi","requirements":"\u003e=0.20","direct":true,"kind":"runtime","optional":false},{"id":26189065863,"package_name":"ftfy","ecosystem":"pypi","requirements":"\u003e=6.3","direct":true,"kind":"runtime","optional":false},{"id":26189065864,"package_name":"gdown","ecosystem":"pypi","requirements":"\u003e=5.2","direct":true,"kind":"runtime","optional":false},{"id":26189065865,"package_name":"imageio","ecosystem":"pypi","requirements":"\u003e=2.37","direct":true,"kind":"runtime","optional":false},{"id":26189065866,"package_name":"imageio-ffmpeg","ecosystem":"pypi","requirements":"\u003e=0.5","direct":true,"kind":"runtime","optional":false},{"id":26189065867,"package_name":"imagesize","ecosystem":"pypi","requirements":"\u003e=1.4","direct":true,"kind":"runtime","optional":false},{"id":26189065868,"package_name":"ipyfilechooser","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":26189065869,"package_name":"jupyter-bbox-widget","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":26189065870,"package_name":"jupyterlab","ecosystem":"pypi","requirements":"==4.4.10","direct":true,"kind":"runtime","optional":false},{"id":26189065871,"package_name":"jupyterlab-widgets","ecosystem":"pypi","requirements":"==3.0.16","direct":true,"kind":"runtime","optional":false},{"id":26189065872,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.10.8","direct":true,"kind":"runtime","optional":false},{"id":26189065873,"package_name":"mlflow","ecosystem":"pypi","requirements":"==3.7.0","direct":true,"kind":"runtime","optional":false},{"id":26189065874,"package_name":"mlflow-export-import","ecosystem":"pypi","requirements":"@ git+https://github.com/mlflow/mlflow-export-import.git@cf626079fc6729b10e34c2fd0fa3cf36fbfb30b2","direct":true,"kind":"runtime","optional":false},{"id":26189065883,"package_name":"natsort","ecosystem":"pypi","requirements":"\u003e=8.3","direct":true,"kind":"runtime","optional":false},{"id":26189065884,"package_name":"notebook","ecosystem":"pypi","requirements":"==7.4.4","direct":true,"kind":"runtime","optional":false},{"id":26189065885,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=2.0","direct":true,"kind":"runtime","optional":false},{"id":26189065886,"package_name":"opencv-python-headless","ecosystem":"pypi","requirements":"==4.10.0.84","direct":true,"kind":"runtime","optional":false},{"id":26189065887,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=2.2","direct":true,"kind":"runtime","optional":false},{"id":26189065888,"package_name":"panoptes-client","ecosystem":"pypi","requirements":"==1.7.1","direct":true,"kind":"runtime","optional":false},{"id":26189065889,"package_name":"pims","ecosystem":"pypi","requirements":"\u003e=0.7","direct":true,"kind":"runtime","optional":false},{"id":26189065890,"package_name":"psutil","ecosystem":"pypi","requirements":"\u003e=7.0","direct":true,"kind":"runtime","optional":false},{"id":26189065891,"package_name":"pyyaml","ecosystem":"pypi","requirements":"\u003e=6.0","direct":true,"kind":"runtime","optional":false},{"id":26189065892,"package_name":"requests","ecosystem":"pypi","requirements":"\u003e=2.31","direct":true,"kind":"runtime","optional":false},{"id":26189065893,"package_name":"setuptools","ecosystem":"pypi","requirements":"\u003c81","direct":true,"kind":"runtime","optional":false},{"id":26189065894,"package_name":"thop","ecosystem":"pypi","requirements":"==0.1.1.post2209072238","direct":true,"kind":"runtime","optional":false},{"id":26189065895,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"==3.6.0","direct":true,"kind":"runtime","optional":false},{"id":26189065896,"package_name":"tifffile","ecosystem":"pypi","requirements":"==2025.12.12","direct":true,"kind":"runtime","optional":false},{"id":26189065897,"package_name":"tiktoken","ecosystem":"pypi","requirements":"==0.12.0","direct":true,"kind":"runtime","optional":false},{"id":26189065898,"package_name":"tinycss2","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":26189065899,"package_name":"tokenize-rt","ecosystem":"pypi","requirements":"==6.2.0","direct":true,"kind":"runtime","optional":false},{"id":26189065900,"package_name":"tokenizers","ecosystem":"pypi","requirements":"==0.22.2","direct":true,"kind":"runtime","optional":false},{"id":26189065901,"package_name":"tomlkit","ecosystem":"pypi","requirements":"==0.13.3","direct":true,"kind":"runtime","optional":false},{"id":26189065902,"package_name":"torch","ecosystem":"pypi","requirements":"\u003e=2.9,\u003c2.10","direct":true,"kind":"runtime","optional":false},{"id":26189065903,"package_name":"torch-flops","ecosystem":"pypi","requirements":"==0.4.1","direct":true,"kind":"runtime","optional":false},{"id":26189065904,"package_name":"torch-summary","ecosystem":"pypi","requirements":"==1.4.5","direct":true,"kind":"runtime","optional":false},{"id":26189065905,"package_name":"torchinfo","ecosystem":"pypi","requirements":"==1.8.0","direct":true,"kind":"runtime","optional":false},{"id":26189065906,"package_name":"torchscan","ecosystem":"pypi","requirements":"==0.1.1","direct":true,"kind":"runtime","optional":false},{"id":26189065907,"package_name":"torchvision","ecosystem":"pypi","requirements":"\u003e=0.24,\u003c0.25","direct":true,"kind":"runtime","optional":false},{"id":26189065908,"package_name":"tornado","ecosystem":"pypi","requirements":"==6.5.4","direct":true,"kind":"runtime","optional":false},{"id":26189065909,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.67.1","direct":true,"kind":"runtime","optional":false},{"id":26189065910,"package_name":"traitlets","ecosystem":"pypi","requirements":"==5.14.3","direct":true,"kind":"runtime","optional":false},{"id":26189065911,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.15.0","direct":true,"kind":"runtime","optional":false},{"id":26189065912,"package_name":"typing-inspect","ecosystem":"pypi","requirements":"==0.9.0","direct":true,"kind":"runtime","optional":false},{"id":26189065913,"package_name":"typing-inspection","ecosystem":"pypi","requirements":"==0.4.2","direct":true,"kind":"runtime","optional":false},{"id":26189065914,"package_name":"tzdata","ecosystem":"pypi","requirements":"==2025.3","direct":true,"kind":"runtime","optional":false},{"id":26189065915,"package_name":"ultralytics","ecosystem":"pypi","requirements":"==8.4.51","direct":true,"kind":"runtime","optional":false},{"id":26189065916,"package_name":"ultralytics-thop","ecosystem":"pypi","requirements":"==2.0.18","direct":true,"kind":"runtime","optional":false},{"id":26189065917,"package_name":"wandb","ecosystem":"pypi","requirements":"==0.21.0","direct":true,"kind":"runtime","optional":false},{"id":26189065918,"package_name":"yolov5","ecosystem":"pypi","requirements":"==7.0.14","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"uv.lock","sha":null,"kind":"lockfile","created_at":"2026-08-17T20:42:02.812Z","updated_at":"2026-08-17T20:42:02.812Z","repository_link":"https://github.com/ocean-data-factory-sweden/kso/blob/dev/uv.lock","dependencies":[{"id":26189065995,"package_name":"absl-py","ecosystem":"pypi","requirements":"2.3.1","direct":false,"kind":"runtime","optional":false},{"id":26189065996,"package_name":"aiohappyeyeballs","ecosystem":"pypi","requirements":"2.6.1","direct":false,"kind":"runtime","optional":false},{"id":26189065997,"package_name":"aiohttp","ecosystem":"pypi","requirements":"3.13.3","direct":false,"kind":"runtime","optional":false},{"id":26189065998,"package_name":"aiosignal","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":26189065999,"package_name":"alembic","ecosystem":"pypi","requirements":"1.17.2","direct":false,"kind":"runtime","optional":false},{"id":26189066000,"package_name":"annotated-doc","ecosystem":"pypi","requirements":"0.0.4","direct":false,"kind":"runtime","optional":false},{"id":26189066001,"package_name":"annotated-types","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066002,"package_name":"anyio","ecosystem":"pypi","requirements":"4.12.0","direct":false,"kind":"runtime","optional":false},{"id":26189066003,"package_name":"anywidget","ecosystem":"pypi","requirements":"0.9.21","direct":false,"kind":"runtime","optional":false},{"id":26189066004,"package_name":"appnope","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":26189066005,"package_name":"argon2-cffi","ecosystem":"pypi","requirements":"25.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066006,"package_name":"argon2-cffi-bindings","ecosystem":"pypi","requirements":"25.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066007,"package_name":"arrow","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":26189066008,"package_name":"astroid","ecosystem":"pypi","requirements":"3.3.11","direct":false,"kind":"runtime","optional":false},{"id":26189066009,"package_name":"asttokens","ecosystem":"pypi","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26189066010,"package_name":"async-lru","ecosystem":"pypi","requirements":"2.0.5","direct":false,"kind":"runtime","optional":false},{"id":26189066011,"package_name":"attrs","ecosystem":"pypi","requirements":"25.4.0","direct":false,"kind":"runtime","optional":false},{"id":26189066012,"package_name":"autopep8","ecosystem":"pypi","requirements":"2.3.2","direct":false,"kind":"runtime","optional":false},{"id":26189066013,"package_name":"av","ecosystem":"pypi","requirements":"15.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066014,"package_name":"azure-core","ecosystem":"pypi","requirements":"1.38.0","direct":false,"kind":"runtime","optional":false},{"id":26189066015,"package_name":"azure-storage-blob","ecosystem":"pypi","requirements":"12.28.0","direct":false,"kind":"runtime","optional":false},{"id":26189066016,"package_name":"azure-storage-file-datalake","ecosystem":"pypi","requirements":"12.23.0","direct":false,"kind":"runtime","optional":false},{"id":26189066017,"package_name":"babel","ecosystem":"pypi","requirements":"2.17.0","direct":false,"kind":"runtime","optional":false},{"id":26189066018,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"4.14.3","direct":false,"kind":"runtime","optional":false},{"id":26189066019,"package_name":"black","ecosystem":"pypi","requirements":"24.4.2","direct":false,"kind":"runtime","optional":false},{"id":26189066020,"package_name":"bleach","ecosystem":"pypi","requirements":"6.3.0","direct":false,"kind":"runtime","optional":false},{"id":26189066021,"package_name":"blinker","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":26189066022,"package_name":"boto3","ecosystem":"pypi","requirements":"1.39.4","direct":false,"kind":"runtime","optional":false},{"id":26189066023,"package_name":"botocore","ecosystem":"pypi","requirements":"1.39.17","direct":false,"kind":"runtime","optional":false},{"id":26189066024,"package_name":"branca","ecosystem":"pypi","requirements":"0.8.2","direct":false,"kind":"runtime","optional":false},{"id":26189066025,"package_name":"cachetools","ecosystem":"pypi","requirements":"6.2.4","direct":false,"kind":"runtime","optional":false},{"id":26189066026,"package_name":"certifi","ecosystem":"pypi","requirements":"2025.11.12","direct":false,"kind":"runtime","optional":false},{"id":26189066027,"package_name":"cffi","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066028,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.4","direct":false,"kind":"runtime","optional":false},{"id":26189066029,"package_name":"click","ecosystem":"pypi","requirements":"8.3.1","direct":false,"kind":"runtime","optional":false},{"id":26189066030,"package_name":"cloudpickle","ecosystem":"pypi","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":26189066031,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":26189066032,"package_name":"coloredlogs","ecosystem":"pypi","requirements":"15.0.1","direct":false,"kind":"runtime","optional":false},{"id":26189066033,"package_name":"comm","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":26189066034,"package_name":"config","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":26189066035,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":26189066036,"package_name":"cryptography","ecosystem":"pypi","requirements":"46.0.3","direct":false,"kind":"runtime","optional":false},{"id":26189066037,"package_name":"cycler","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":26189066038,"package_name":"databricks-agents","ecosystem":"pypi","requirements":"1.9.2","direct":false,"kind":"runtime","optional":false},{"id":26189066039,"package_name":"databricks-cli","ecosystem":"pypi","requirements":"0.18.0","direct":false,"kind":"runtime","optional":false},{"id":26189066040,"package_name":"databricks-sdk","ecosystem":"pypi","requirements":"0.74.0","direct":false,"kind":"runtime","optional":false},{"id":26189066041,"package_name":"dataclasses-json","ecosystem":"pypi","requirements":"0.6.7","direct":false,"kind":"runtime","optional":false},{"id":26189066042,"package_name":"debugpy","ecosystem":"pypi","requirements":"1.8.19","direct":false,"kind":"runtime","optional":false},{"id":26189066043,"package_name":"decorator","ecosystem":"pypi","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":26189066044,"package_name":"defusedxml","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":26189066045,"package_name":"dill","ecosystem":"pypi","requirements":"0.4.0","direct":false,"kind":"runtime","optional":false},{"id":26189066046,"package_name":"distro","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":26189066047,"package_name":"docker","ecosystem":"pypi","requirements":"7.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066048,"package_name":"executing","ecosystem":"pypi","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":26189066049,"package_name":"fastapi","ecosystem":"pypi","requirements":"0.124.4","direct":false,"kind":"runtime","optional":false},{"id":26189066050,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"2.21.2","direct":false,"kind":"runtime","optional":false},{"id":26189066051,"package_name":"fastuuid","ecosystem":"pypi","requirements":"0.14.0","direct":false,"kind":"runtime","optional":false},{"id":26189066052,"package_name":"ffmpeg-python","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":26189066053,"package_name":"filelock","ecosystem":"pypi","requirements":"3.20.1","direct":false,"kind":"runtime","optional":false},{"id":26189066054,"package_name":"filetype","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26189066055,"package_name":"fire","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":26189066056,"package_name":"flask","ecosystem":"pypi","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":26189066057,"package_name":"flask-cors","ecosystem":"pypi","requirements":"6.0.2","direct":false,"kind":"runtime","optional":false},{"id":26189066058,"package_name":"flatbuffers","ecosystem":"pypi","requirements":"25.12.19","direct":false,"kind":"runtime","optional":false},{"id":26189066059,"package_name":"folium","ecosystem":"pypi","requirements":"0.20.0","direct":false,"kind":"runtime","optional":false},{"id":26189066060,"package_name":"fonttools","ecosystem":"pypi","requirements":"4.61.1","direct":false,"kind":"runtime","optional":false},{"id":26189066061,"package_name":"fqdn","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":26189066062,"package_name":"frozenlist","ecosystem":"pypi","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":26189066063,"package_name":"fsspec","ecosystem":"pypi","requirements":"2025.12.0","direct":false,"kind":"runtime","optional":false},{"id":26189066064,"package_name":"ftfy","ecosystem":"pypi","requirements":"6.3.1","direct":false,"kind":"runtime","optional":false},{"id":26189066065,"package_name":"future","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066066,"package_name":"gdown","ecosystem":"pypi","requirements":"5.2.0","direct":false,"kind":"runtime","optional":false},{"id":26189066067,"package_name":"gitdb","ecosystem":"pypi","requirements":"4.0.12","direct":false,"kind":"runtime","optional":false},{"id":26189066068,"package_name":"gitpython","ecosystem":"pypi","requirements":"3.1.45","direct":false,"kind":"runtime","optional":false},{"id":26189066069,"package_name":"google-api-core","ecosystem":"pypi","requirements":"2.29.0","direct":false,"kind":"runtime","optional":false},{"id":26189066070,"package_name":"google-auth","ecosystem":"pypi","requirements":"2.45.0","direct":false,"kind":"runtime","optional":false},{"id":26189066071,"package_name":"google-cloud-core","ecosystem":"pypi","requirements":"2.5.0","direct":false,"kind":"runtime","optional":false},{"id":26189066072,"package_name":"google-cloud-storage","ecosystem":"pypi","requirements":"3.8.0","direct":false,"kind":"runtime","optional":false},{"id":26189066073,"package_name":"google-crc32c","ecosystem":"pypi","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":26189066074,"package_name":"google-resumable-media","ecosystem":"pypi","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":26189066075,"package_name":"googleapis-common-protos","ecosystem":"pypi","requirements":"1.72.0","direct":false,"kind":"runtime","optional":false},{"id":26189066076,"package_name":"graphene","ecosystem":"pypi","requirements":"3.4.3","direct":false,"kind":"runtime","optional":false},{"id":26189066077,"package_name":"graphql-core","ecosystem":"pypi","requirements":"3.2.7","direct":false,"kind":"runtime","optional":false},{"id":26189066078,"package_name":"graphql-relay","ecosystem":"pypi","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":26189066079,"package_name":"greenlet","ecosystem":"pypi","requirements":"3.5.0","direct":false,"kind":"runtime","optional":false},{"id":26189066080,"package_name":"grpcio","ecosystem":"pypi","requirements":"1.76.0","direct":false,"kind":"runtime","optional":false},{"id":26189066081,"package_name":"gunicorn","ecosystem":"pypi","requirements":"23.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066082,"package_name":"h11","ecosystem":"pypi","requirements":"0.16.0","direct":false,"kind":"runtime","optional":false},{"id":26189066083,"package_name":"httpcore","ecosystem":"pypi","requirements":"1.0.9","direct":false,"kind":"runtime","optional":false},{"id":26189066084,"package_name":"httpx","ecosystem":"pypi","requirements":"0.28.1","direct":false,"kind":"runtime","optional":false},{"id":26189066085,"package_name":"huey","ecosystem":"pypi","requirements":"2.5.5","direct":false,"kind":"runtime","optional":false},{"id":26189066086,"package_name":"huggingface-hub","ecosystem":"pypi","requirements":"0.24.7","direct":false,"kind":"runtime","optional":false},{"id":26189066087,"package_name":"humanfriendly","ecosystem":"pypi","requirements":"10.0","direct":false,"kind":"runtime","optional":false},{"id":26189066088,"package_name":"idna","ecosystem":"pypi","requirements":"3.7","direct":false,"kind":"runtime","optional":false},{"id":26189066090,"package_name":"imageio","ecosystem":"pypi","requirements":"2.37.2","direct":false,"kind":"runtime","optional":false},{"id":26189066091,"package_name":"imagesize","ecosystem":"pypi","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":26189066092,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"8.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066094,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26189066095,"package_name":"ipyfilechooser","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":26189066096,"package_name":"ipykernel","ecosystem":"pypi","requirements":"7.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066097,"package_name":"ipython","ecosystem":"pypi","requirements":"9.8.0","direct":false,"kind":"runtime","optional":false},{"id":26189066098,"package_name":"ipython-pygments-lexers","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26189066099,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"8.1.7","direct":false,"kind":"runtime","optional":false},{"id":26189066100,"package_name":"isodate","ecosystem":"pypi","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":26189066101,"package_name":"isoduration","ecosystem":"pypi","requirements":"20.11.0","direct":false,"kind":"runtime","optional":false},{"id":26189066102,"package_name":"isort","ecosystem":"pypi","requirements":"6.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066103,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":26189066104,"package_name":"jedi","ecosystem":"pypi","requirements":"0.19.2","direct":false,"kind":"runtime","optional":false},{"id":26189066105,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.6","direct":false,"kind":"runtime","optional":false},{"id":26189066106,"package_name":"jiter","ecosystem":"pypi","requirements":"0.12.0","direct":false,"kind":"runtime","optional":false},{"id":26189066107,"package_name":"jmespath","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26189066108,"package_name":"joblib","ecosystem":"pypi","requirements":"1.5.3","direct":false,"kind":"runtime","optional":false},{"id":26189066109,"package_name":"json5","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":26189066110,"package_name":"jsonlines","ecosystem":"pypi","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066111,"package_name":"jsonpatch","ecosystem":"pypi","requirements":"1.33","direct":false,"kind":"runtime","optional":false},{"id":26189066112,"package_name":"jsonpointer","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066113,"package_name":"jsonschema","ecosystem":"pypi","requirements":"4.25.1","direct":false,"kind":"runtime","optional":false},{"id":26189066114,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"2025.9.1","direct":false,"kind":"runtime","optional":false},{"id":26189066115,"package_name":"jupyter-bbox-widget","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":26189066116,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"8.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066117,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"5.9.1","direct":false,"kind":"runtime","optional":false},{"id":26189066118,"package_name":"jupyter-events","ecosystem":"pypi","requirements":"0.12.0","direct":false,"kind":"runtime","optional":false},{"id":26189066119,"package_name":"jupyter-lsp","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26189066120,"package_name":"jupyter-server","ecosystem":"pypi","requirements":"2.17.0","direct":false,"kind":"runtime","optional":false},{"id":26189066121,"package_name":"jupyter-server-terminals","ecosystem":"pypi","requirements":"0.5.3","direct":false,"kind":"runtime","optional":false},{"id":26189066122,"package_name":"jupyterlab","ecosystem":"pypi","requirements":"4.4.10","direct":false,"kind":"runtime","optional":false},{"id":26189066123,"package_name":"jupyterlab-pygments","ecosystem":"pypi","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":26189066124,"package_name":"jupyterlab-server","ecosystem":"pypi","requirements":"2.28.0","direct":false,"kind":"runtime","optional":false},{"id":26189066125,"package_name":"jupyterlab-widgets","ecosystem":"pypi","requirements":"3.0.16","direct":false,"kind":"runtime","optional":false},{"id":26189066126,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.4.9","direct":false,"kind":"runtime","optional":false},{"id":26189066127,"package_name":"kso","ecosystem":"pypi","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066136,"package_name":"langchain-core","ecosystem":"pypi","requirements":"1.2.7","direct":false,"kind":"runtime","optional":false},{"id":26189066137,"package_name":"langchain-openai","ecosystem":"pypi","requirements":"1.1.7","direct":false,"kind":"runtime","optional":false},{"id":26189066138,"package_name":"langsmith","ecosystem":"pypi","requirements":"0.6.4","direct":false,"kind":"runtime","optional":false},{"id":26189066139,"package_name":"lark","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":26189066140,"package_name":"litellm","ecosystem":"pypi","requirements":"1.80.16","direct":false,"kind":"runtime","optional":false},{"id":26189066141,"package_name":"mako","ecosystem":"pypi","requirements":"1.3.10","direct":false,"kind":"runtime","optional":false},{"id":26189066142,"package_name":"markdown","ecosystem":"pypi","requirements":"3.10","direct":false,"kind":"runtime","optional":false},{"id":26189066143,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":26189066144,"package_name":"marshmallow","ecosystem":"pypi","requirements":"3.26.2","direct":false,"kind":"runtime","optional":false},{"id":26189066145,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.10.8","direct":false,"kind":"runtime","optional":false},{"id":26189066146,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":26189066147,"package_name":"mccabe","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066148,"package_name":"mistune","ecosystem":"pypi","requirements":"3.1.4","direct":false,"kind":"runtime","optional":false},{"id":26189066149,"package_name":"ml-dtypes","ecosystem":"pypi","requirements":"0.5.4","direct":false,"kind":"runtime","optional":false},{"id":26189066150,"package_name":"mlflow","ecosystem":"pypi","requirements":"3.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066151,"package_name":"mlflow-export-import","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26189066152,"package_name":"mlflow-skinny","ecosystem":"pypi","requirements":"3.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066153,"package_name":"mlflow-tracing","ecosystem":"pypi","requirements":"3.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066154,"package_name":"mpmath","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26189066155,"package_name":"multidict","ecosystem":"pypi","requirements":"6.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066156,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066157,"package_name":"natsort","ecosystem":"pypi","requirements":"8.4.0","direct":false,"kind":"runtime","optional":false},{"id":26189066158,"package_name":"nbclient","ecosystem":"pypi","requirements":"0.10.2","direct":false,"kind":"runtime","optional":false},{"id":26189066159,"package_name":"nbconvert","ecosystem":"pypi","requirements":"7.16.6","direct":false,"kind":"runtime","optional":false},{"id":26189066160,"package_name":"nbformat","ecosystem":"pypi","requirements":"5.10.4","direct":false,"kind":"runtime","optional":false},{"id":26189066161,"package_name":"nbqa","ecosystem":"pypi","requirements":"1.9.1","direct":false,"kind":"runtime","optional":false},{"id":26189066162,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":26189066163,"package_name":"networkx","ecosystem":"pypi","requirements":"3.6.1","direct":false,"kind":"runtime","optional":false},{"id":26189066164,"package_name":"nn-meter","ecosystem":"pypi","requirements":"2.0","direct":false,"kind":"runtime","optional":false},{"id":26189066165,"package_name":"notebook","ecosystem":"pypi","requirements":"7.4.4","direct":false,"kind":"runtime","optional":false},{"id":26189066166,"package_name":"notebook-shim","ecosystem":"pypi","requirements":"0.2.4","direct":false,"kind":"runtime","optional":false},{"id":26189066167,"package_name":"numpy","ecosystem":"pypi","requirements":"2.2.6","direct":false,"kind":"runtime","optional":false},{"id":26189066168,"package_name":"nvidia-cublas-cu12","ecosystem":"pypi","requirements":"12.8.4.1","direct":false,"kind":"runtime","optional":false},{"id":26189066169,"package_name":"nvidia-cuda-cupti-cu12","ecosystem":"pypi","requirements":"12.8.90","direct":false,"kind":"runtime","optional":false},{"id":26189066170,"package_name":"nvidia-cuda-nvrtc-cu12","ecosystem":"pypi","requirements":"12.8.93","direct":false,"kind":"runtime","optional":false},{"id":26189066171,"package_name":"nvidia-cuda-runtime-cu12","ecosystem":"pypi","requirements":"12.8.90","direct":false,"kind":"runtime","optional":false},{"id":26189066172,"package_name":"nvidia-cudnn-cu12","ecosystem":"pypi","requirements":"9.10.2.21","direct":false,"kind":"runtime","optional":false},{"id":26189066173,"package_name":"nvidia-cufft-cu12","ecosystem":"pypi","requirements":"11.3.3.83","direct":false,"kind":"runtime","optional":false},{"id":26189066174,"package_name":"nvidia-cufile-cu12","ecosystem":"pypi","requirements":"1.13.1.3","direct":false,"kind":"runtime","optional":false},{"id":26189066175,"package_name":"nvidia-curand-cu12","ecosystem":"pypi","requirements":"10.3.9.90","direct":false,"kind":"runtime","optional":false},{"id":26189066176,"package_name":"nvidia-cusolver-cu12","ecosystem":"pypi","requirements":"11.7.3.90","direct":false,"kind":"runtime","optional":false},{"id":26189066177,"package_name":"nvidia-cusparse-cu12","ecosystem":"pypi","requirements":"12.5.8.93","direct":false,"kind":"runtime","optional":false},{"id":26189066178,"package_name":"nvidia-cusparselt-cu12","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":26189066179,"package_name":"nvidia-nccl-cu12","ecosystem":"pypi","requirements":"2.27.3","direct":false,"kind":"runtime","optional":false},{"id":26189066180,"package_name":"nvidia-nvjitlink-cu12","ecosystem":"pypi","requirements":"12.8.93","direct":false,"kind":"runtime","optional":false},{"id":26189066181,"package_name":"nvidia-nvtx-cu12","ecosystem":"pypi","requirements":"12.8.90","direct":false,"kind":"runtime","optional":false},{"id":26189066182,"package_name":"oauthlib","ecosystem":"pypi","requirements":"3.3.1","direct":false,"kind":"runtime","optional":false},{"id":26189066183,"package_name":"onnx","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":26189066184,"package_name":"onnxruntime","ecosystem":"pypi","requirements":"1.23.2","direct":false,"kind":"runtime","optional":false},{"id":26189066185,"package_name":"onnxslim","ecosystem":"pypi","requirements":"0.1.82","direct":false,"kind":"runtime","optional":false},{"id":26189066186,"package_name":"openai","ecosystem":"pypi","requirements":"2.15.0","direct":false,"kind":"runtime","optional":false},{"id":26189066187,"package_name":"opencv-python","ecosystem":"pypi","requirements":"4.11.0.86","direct":false,"kind":"runtime","optional":false},{"id":26189066188,"package_name":"opencv-python-headless","ecosystem":"pypi","requirements":"4.10.0.84","direct":false,"kind":"runtime","optional":false},{"id":26189066189,"package_name":"opentelemetry-api","ecosystem":"pypi","requirements":"1.39.1","direct":false,"kind":"runtime","optional":false},{"id":26189066190,"package_name":"opentelemetry-proto","ecosystem":"pypi","requirements":"1.39.1","direct":false,"kind":"runtime","optional":false},{"id":26189066191,"package_name":"opentelemetry-sdk","ecosystem":"pypi","requirements":"1.39.1","direct":false,"kind":"runtime","optional":false},{"id":26189066192,"package_name":"opentelemetry-semantic-conventions","ecosystem":"pypi","requirements":"0.60b1","direct":false,"kind":"runtime","optional":false},{"id":26189066193,"package_name":"orjson","ecosystem":"pypi","requirements":"3.11.5","direct":false,"kind":"runtime","optional":false},{"id":26189066194,"package_name":"overrides","ecosystem":"pypi","requirements":"7.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066195,"package_name":"packaging","ecosystem":"pypi","requirements":"25.0","direct":false,"kind":"runtime","optional":false},{"id":26189066196,"package_name":"pandas","ecosystem":"pypi","requirements":"2.3.1","direct":false,"kind":"runtime","optional":false},{"id":26189066197,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":26189066198,"package_name":"panoptes-client","ecosystem":"pypi","requirements":"1.7.1","direct":false,"kind":"runtime","optional":false},{"id":26189066199,"package_name":"parso","ecosystem":"pypi","requirements":"0.8.5","direct":false,"kind":"runtime","optional":false},{"id":26189066200,"package_name":"pathspec","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":26189066201,"package_name":"pexpect","ecosystem":"pypi","requirements":"4.9.0","direct":false,"kind":"runtime","optional":false},{"id":26189066202,"package_name":"pi-heif","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26189066203,"package_name":"pillow","ecosystem":"pypi","requirements":"12.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066204,"package_name":"pillow-avif-plugin","ecosystem":"pypi","requirements":"1.5.2","direct":false,"kind":"runtime","optional":false},{"id":26189066205,"package_name":"pims","ecosystem":"pypi","requirements":"0.7","direct":false,"kind":"runtime","optional":false},{"id":26189066206,"package_name":"pip","ecosystem":"pypi","requirements":"26.1.1","direct":false,"kind":"runtime","optional":false},{"id":26189066207,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.5.1","direct":false,"kind":"runtime","optional":false},{"id":26189066208,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":26189066209,"package_name":"polars","ecosystem":"pypi","requirements":"1.40.1","direct":false,"kind":"runtime","optional":false},{"id":26189066210,"package_name":"polars-runtime-32","ecosystem":"pypi","requirements":"1.40.1","direct":false,"kind":"runtime","optional":false},{"id":26189066211,"package_name":"prometheus-client","ecosystem":"pypi","requirements":"0.23.1","direct":false,"kind":"runtime","optional":false},{"id":26189066212,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"3.0.52","direct":false,"kind":"runtime","optional":false},{"id":26189066213,"package_name":"propcache","ecosystem":"pypi","requirements":"0.4.1","direct":false,"kind":"runtime","optional":false},{"id":26189066214,"package_name":"proto-plus","ecosystem":"pypi","requirements":"1.27.0","direct":false,"kind":"runtime","optional":false},{"id":26189066215,"package_name":"protobuf","ecosystem":"pypi","requirements":"6.33.2","direct":false,"kind":"runtime","optional":false},{"id":26189066216,"package_name":"psutil","ecosystem":"pypi","requirements":"7.1.3","direct":false,"kind":"runtime","optional":false},{"id":26189066217,"package_name":"psygnal","ecosystem":"pypi","requirements":"0.15.0","direct":false,"kind":"runtime","optional":false},{"id":26189066218,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":26189066219,"package_name":"pure-eval","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":26189066220,"package_name":"py-cpuinfo","ecosystem":"pypi","requirements":"9.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066221,"package_name":"pyarrow","ecosystem":"pypi","requirements":"22.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066222,"package_name":"pyasn1","ecosystem":"pypi","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":26189066223,"package_name":"pyasn1-modules","ecosystem":"pypi","requirements":"0.4.2","direct":false,"kind":"runtime","optional":false},{"id":26189066224,"package_name":"pybboxes","ecosystem":"pypi","requirements":"0.1.6","direct":false,"kind":"runtime","optional":false},{"id":26189066225,"package_name":"pycodestyle","ecosystem":"pypi","requirements":"2.14.0","direct":false,"kind":"runtime","optional":false},{"id":26189066226,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.23","direct":false,"kind":"runtime","optional":false},{"id":26189066227,"package_name":"pydantic","ecosystem":"pypi","requirements":"2.12.5","direct":false,"kind":"runtime","optional":false},{"id":26189066228,"package_name":"pydantic-core","ecosystem":"pypi","requirements":"2.41.5","direct":false,"kind":"runtime","optional":false},{"id":26189066229,"package_name":"pygments","ecosystem":"pypi","requirements":"2.19.2","direct":false,"kind":"runtime","optional":false},{"id":26189066230,"package_name":"pyjwt","ecosystem":"pypi","requirements":"2.10.1","direct":false,"kind":"runtime","optional":false},{"id":26189066231,"package_name":"pylint","ecosystem":"pypi","requirements":"3.3.8","direct":false,"kind":"runtime","optional":false},{"id":26189066232,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.2.5","direct":false,"kind":"runtime","optional":false},{"id":26189066233,"package_name":"pyreadline3","ecosystem":"pypi","requirements":"3.5.6","direct":false,"kind":"runtime","optional":false},{"id":26189066234,"package_name":"pysocks","ecosystem":"pypi","requirements":"1.7.1","direct":false,"kind":"runtime","optional":false},{"id":26189066235,"package_name":"pytest","ecosystem":"pypi","requirements":"8.4.2","direct":false,"kind":"runtime","optional":false},{"id":26189066236,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":26189066237,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":26189066238,"package_name":"python-json-logger","ecosystem":"pypi","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066239,"package_name":"python-magic","ecosystem":"pypi","requirements":"0.4.27","direct":false,"kind":"runtime","optional":false},{"id":26189066240,"package_name":"pytz","ecosystem":"pypi","requirements":"2025.2","direct":false,"kind":"runtime","optional":false},{"id":26189066241,"package_name":"pywin32","ecosystem":"pypi","requirements":"311","direct":false,"kind":"runtime","optional":false},{"id":26189066242,"package_name":"pywinpty","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":26189066243,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":26189066244,"package_name":"pyzmq","ecosystem":"pypi","requirements":"27.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066245,"package_name":"redo","ecosystem":"pypi","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066246,"package_name":"referencing","ecosystem":"pypi","requirements":"0.37.0","direct":false,"kind":"runtime","optional":false},{"id":26189066247,"package_name":"regex","ecosystem":"pypi","requirements":"2026.1.15","direct":false,"kind":"runtime","optional":false},{"id":26189066248,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.5","direct":false,"kind":"runtime","optional":false},{"id":26189066249,"package_name":"requests-toolbelt","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26189066250,"package_name":"rfc3339-validator","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":26189066251,"package_name":"rfc3986-validator","ecosystem":"pypi","requirements":"0.1.1","direct":false,"kind":"runtime","optional":false},{"id":26189066252,"package_name":"rfc3987-syntax","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066253,"package_name":"roboflow","ecosystem":"pypi","requirements":"1.2.11","direct":false,"kind":"runtime","optional":false},{"id":26189066254,"package_name":"rpds-py","ecosystem":"pypi","requirements":"0.30.0","direct":false,"kind":"runtime","optional":false},{"id":26189066255,"package_name":"rsa","ecosystem":"pypi","requirements":"4.9.1","direct":false,"kind":"runtime","optional":false},{"id":26189066256,"package_name":"s3transfer","ecosystem":"pypi","requirements":"0.13.1","direct":false,"kind":"runtime","optional":false},{"id":26189066257,"package_name":"sahi","ecosystem":"pypi","requirements":"0.11.36","direct":false,"kind":"runtime","optional":false},{"id":26189066258,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"1.7.2","direct":false,"kind":"runtime","optional":false},{"id":26189066259,"package_name":"scipy","ecosystem":"pypi","requirements":"1.16.3","direct":false,"kind":"runtime","optional":false},{"id":26189066260,"package_name":"seaborn","ecosystem":"pypi","requirements":"0.13.2","direct":false,"kind":"runtime","optional":false},{"id":26189066261,"package_name":"send2trash","ecosystem":"pypi","requirements":"1.8.3","direct":false,"kind":"runtime","optional":false},{"id":26189066262,"package_name":"sentry-sdk","ecosystem":"pypi","requirements":"2.48.0","direct":false,"kind":"runtime","optional":false},{"id":26189066263,"package_name":"setuptools","ecosystem":"pypi","requirements":"80.9.0","direct":false,"kind":"runtime","optional":false},{"id":26189066264,"package_name":"shapely","ecosystem":"pypi","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":26189066265,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":26189066266,"package_name":"slicerator","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26189066267,"package_name":"smmap","ecosystem":"pypi","requirements":"5.0.2","direct":false,"kind":"runtime","optional":false},{"id":26189066268,"package_name":"sniffio","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":26189066269,"package_name":"soupsieve","ecosystem":"pypi","requirements":"2.8","direct":false,"kind":"runtime","optional":false},{"id":26189066270,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"2.0.45","direct":false,"kind":"runtime","optional":false},{"id":26189066271,"package_name":"sqlparse","ecosystem":"pypi","requirements":"0.5.4","direct":false,"kind":"runtime","optional":false},{"id":26189066272,"package_name":"stack-data","ecosystem":"pypi","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":26189066273,"package_name":"starlette","ecosystem":"pypi","requirements":"0.50.0","direct":false,"kind":"runtime","optional":false},{"id":26189066274,"package_name":"sympy","ecosystem":"pypi","requirements":"1.14.0","direct":false,"kind":"runtime","optional":false},{"id":26189066275,"package_name":"tabulate","ecosystem":"pypi","requirements":"0.9.0","direct":false,"kind":"runtime","optional":false},{"id":26189066276,"package_name":"tenacity","ecosystem":"pypi","requirements":"9.1.2","direct":false,"kind":"runtime","optional":false},{"id":26189066277,"package_name":"tensorboard","ecosystem":"pypi","requirements":"2.20.0","direct":false,"kind":"runtime","optional":false},{"id":26189066278,"package_name":"tensorboard-data-server","ecosystem":"pypi","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":26189066279,"package_name":"termcolor","ecosystem":"pypi","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":26189066280,"package_name":"terminado","ecosystem":"pypi","requirements":"0.18.1","direct":false,"kind":"runtime","optional":false},{"id":26189066281,"package_name":"terminaltables","ecosystem":"pypi","requirements":"3.1.10","direct":false,"kind":"runtime","optional":false},{"id":26189066282,"package_name":"thop","ecosystem":"pypi","requirements":"0.1.1.post2209072238","direct":false,"kind":"runtime","optional":false},{"id":26189066283,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"3.6.0","direct":false,"kind":"runtime","optional":false},{"id":26189066284,"package_name":"tifffile","ecosystem":"pypi","requirements":"2025.12.12","direct":false,"kind":"runtime","optional":false},{"id":26189066285,"package_name":"tiktoken","ecosystem":"pypi","requirements":"0.12.0","direct":false,"kind":"runtime","optional":false},{"id":26189066286,"package_name":"tinycss2","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":26189066287,"package_name":"tokenize-rt","ecosystem":"pypi","requirements":"6.2.0","direct":false,"kind":"runtime","optional":false},{"id":26189066288,"package_name":"tokenizers","ecosystem":"pypi","requirements":"0.22.2","direct":false,"kind":"runtime","optional":false},{"id":26189066289,"package_name":"tomli","ecosystem":"pypi","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":26189066290,"package_name":"tomlkit","ecosystem":"pypi","requirements":"0.13.3","direct":false,"kind":"runtime","optional":false},{"id":26189066291,"package_name":"torch","ecosystem":"pypi","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":26189066292,"package_name":"torch-flops","ecosystem":"pypi","requirements":"0.4.1","direct":false,"kind":"runtime","optional":false},{"id":26189066293,"package_name":"torch-summary","ecosystem":"pypi","requirements":"1.4.5","direct":false,"kind":"runtime","optional":false},{"id":26189066294,"package_name":"torchinfo","ecosystem":"pypi","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":26189066295,"package_name":"torchscan","ecosystem":"pypi","requirements":"0.1.1","direct":false,"kind":"runtime","optional":false},{"id":26189066296,"package_name":"torchvision","ecosystem":"pypi","requirements":"0.23.0","direct":false,"kind":"runtime","optional":false},{"id":26189066297,"package_name":"tornado","ecosystem":"pypi","requirements":"6.5.4","direct":false,"kind":"runtime","optional":false},{"id":26189066298,"package_name":"tqdm","ecosystem":"pypi","requirements":"4.67.1","direct":false,"kind":"runtime","optional":false},{"id":26189066299,"package_name":"traitlets","ecosystem":"pypi","requirements":"5.14.3","direct":false,"kind":"runtime","optional":false},{"id":26189066300,"package_name":"triton","ecosystem":"pypi","requirements":"3.4.0","direct":false,"kind":"runtime","optional":false},{"id":26189066301,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.15.0","direct":false,"kind":"runtime","optional":false},{"id":26189066302,"package_name":"typing-inspect","ecosystem":"pypi","requirements":"0.9.0","direct":false,"kind":"runtime","optional":false},{"id":26189066303,"package_name":"typing-inspection","ecosystem":"pypi","requirements":"0.4.2","direct":false,"kind":"runtime","optional":false},{"id":26189066304,"package_name":"tzdata","ecosystem":"pypi","requirements":"2025.3","direct":false,"kind":"runtime","optional":false},{"id":26189066305,"package_name":"ultralytics","ecosystem":"pypi","requirements":"8.4.51","direct":false,"kind":"runtime","optional":false},{"id":26189066306,"package_name":"ultralytics-thop","ecosystem":"pypi","requirements":"2.0.18","direct":false,"kind":"runtime","optional":false},{"id":26189066307,"package_name":"uri-template","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26189066308,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.6.2","direct":false,"kind":"runtime","optional":false},{"id":26189066309,"package_name":"uuid-utils","ecosystem":"pypi","requirements":"0.13.0","direct":false,"kind":"runtime","optional":false},{"id":26189066310,"package_name":"uvicorn","ecosystem":"pypi","requirements":"0.38.0","direct":false,"kind":"runtime","optional":false},{"id":26189066311,"package_name":"waitress","ecosystem":"pypi","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":26189066312,"package_name":"wandb","ecosystem":"pypi","requirements":"0.21.0","direct":false,"kind":"runtime","optional":false},{"id":26189066313,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.2.14","direct":false,"kind":"runtime","optional":false},{"id":26189066314,"package_name":"webcolors","ecosystem":"pypi","requirements":"25.10.0","direct":false,"kind":"runtime","optional":false},{"id":26189066315,"package_name":"webencodings","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":26189066316,"package_name":"websocket-client","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":26189066317,"package_name":"werkzeug","ecosystem":"pypi","requirements":"3.1.4","direct":false,"kind":"runtime","optional":false},{"id":26189066318,"package_name":"wheel","ecosystem":"pypi","requirements":"0.47.0","direct":false,"kind":"runtime","optional":false},{"id":26189066319,"package_name":"whenever","ecosystem":"pypi","requirements":"0.7.3","direct":false,"kind":"runtime","optional":false},{"id":26189066320,"package_name":"widgetsnbextension","ecosystem":"pypi","requirements":"4.0.15","direct":false,"kind":"runtime","optional":false},{"id":26189066321,"package_name":"xyzservices","ecosystem":"pypi","requirements":"2025.11.0","direct":false,"kind":"runtime","optional":false},{"id":26189066322,"package_name":"yarl","ecosystem":"pypi","requirements":"1.22.0","direct":false,"kind":"runtime","optional":false},{"id":26189066323,"package_name":"yolov5","ecosystem":"pypi","requirements":"7.0.14","direct":false,"kind":"runtime","optional":false},{"id":26189066324,"package_name":"zipp","ecosystem":"pypi","requirements":"3.23.0","direct":false,"kind":"runtime","optional":false},{"id":26189066325,"package_name":"zstandard","ecosystem":"pypi","requirements":"0.25.0","direct":false,"kind":"runtime","optional":false}]}],"score":6.551080335043404,"created_at":"2023-09-13T08:45:11.092Z","updated_at":"2026-08-30T02:34:10.981Z","avatar_url":"https://github.com/ocean-data-factory-sweden.png","language":"Python","category":"Biosphere","sub_category":"Marine Life and Fishery","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# KSO System\n\nThe KSO System is an open-source machine learning framework for underwater video analysis, developed from the [Koster Seafloor Observatory][koster-url] research initiative and the Swedish Platform for Subsea Image Analysis ([SUBSIM][subsim-url]). It is optimized for GPU-accelerated HPC environments, particularly LUMI, and integrates with MLflow for experiment tracking.\n\n\u003c!-- PROJECT SHIELDS --\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![GPL License][license-shield]][license-url]\n\n\u003e **📘 New to KSO?** Each notebook contains step-by-step instructions with clearly marked **EDIT THIS** cells. This README provides an overview — the notebooks will guide you through each stage.\n\n## System Overview\n\n![KSO System Overview][high-level-overview]\n\n## Quick Start\n\n### 1) Choose your environment\n\nSee [installation](#installation).\n\n### 2) Run the notebooks\n\nUse the table below to choose the first stage that matches what you already have.\n\n| You have… | Start at |\n|---|---|\n| Raw footage only **OR** BIIGLE-annotated images but need a YOLO dataset | **00** Data Preparation |\n| A YOLO dataset (`data.yaml` + train/val/test splits) | **01** Project Setup |\n| A trained model (or weights) and you want to fine-tune on a dataset | **02** Training \u0026 Eval |\n| A trained model and you want to run inference on images/video | **03** Inference + **04** Analysis |\n| A validated model that you want to publish along with your dataset | **05** Publish Model |\n\n\u003e **Note:** Notebooks 00, 03, 04, and 05 are still in development. For the recommended working path today, see the [Standalone notebooks](#standalone-notebooks) section below.\n\n## Notebook workflow\nKSO is transitioning to a clear, staged notebook pipeline. Stages **01–02** are stable today; later stages are under active development.\n\n### Official Pipeline (00–05)\n\n| # | Notebook | Description | Status |\n|--:|----------|-------------|--------|\n| 00 | 00_Data_Preparation.ipynb | Transfer footage to LUMI (optional), extract frames, build your image set for annotation in [BIIGLE](https://biigle.de), convert annotation CSV → YOLO. *Skip if you already have a YOLO dataset.* | 🔜 In development |\n| 01 | 01_Project_Setup.ipynb | Create a KSO2 project (`.project.yaml`), attach your YOLO dataset, configure tracking, and optionally run offline augmentation. | ✅ Stable |\n| 02 | 02_Train_and_Eval_Models.ipynb | Train or fine-tune a YOLO model, track runs with MLflow, and evaluate on the test set. | ✅ Stable |\n| 03 | 03_Inference.ipynb | Run inference or batch inference on new images or video; export detections (CSV + annotated media). | 🔜 In development |\n| 04 | 04_Analysis.ipynb | Summary statistics, maxN, per-class summaries, and visualizations. | 🚧 Planned |\n| 05 | 05_Publish_Models.ipynb | Package models and metadata; publish to Zenodo or Researchdata.se. | 🚧 Planned |\n\n### Standalone Notebooks\n\nWhile the official pipeline is being finalized, these notebooks provide a working path for new users — covering dataset preparation in [BIIGLE](https://biigle.de), and end-to-end model training.\n\n| Notebook | Path | Covers |\n|----------|------|--------|\n| Biigle_to_YOLO.ipynb | [`notebooks/setup/Biigle_to_YOLO.ipynb`](./notebooks/setup/Biigle_to_YOLO.ipynb) | BIIGLE CSV → YOLO conversion (data preparation for BIIGLE users) |\n| Train_models.ipynb | [`notebooks/analyse/Train_models.ipynb`](./notebooks/analyse/Train_models.ipynb) | YOLO model training and fine-tuning using Ultralytics |\n\n### Available YOLO models\n\nThe training notebook supports several Ultralytics model families, including [YOLO11](https://docs.ultralytics.com/models/yolo11/). See the notebook itself for the authoritative model list and parameters.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eModel sizing guidance\u003c/b\u003e (click to expand)\u003c/summary\u003e\n\nPractical guidance:\n\n- **Small datasets (~100–250 images):** prefer **nano** or **small** — larger models may overfit.\n- **Medium datasets (~250–750 images):** use **medium** for a good balance.\n- **Large datasets (750+ images):** consider **large** or **xlarge** if resources allow.\n\n\u003c/details\u003e\n\n## Installation\n\n### System requirements\n\n- **Minimum**: Python 3.11, 16 GB RAM, ≈10 GB free disk space.\n- **Recommended**: CUDA/ROCm-capable GPU (≥8 GB VRAM) and access to an HPC system (e.g. LUMI).\n\n### Option 1 — LUMI (recommended)\n\nKSO is primarily developed and tested on the LUMI supercomputer, running via a Singularity/Apptainer container on GPU nodes. \n\nIf you're a first time user, start here:\n- [`contrib/lumi/README.md`](./contrib/lumi/README.md)\n\n### Option 2 — Other HPC systems\n\n```bash\ngit clone -b dev https://github.com/ocean-data-factory-sweden/kso.git\ncd kso\n# Follow your HPC's recommended way to launch Jupyter or batch jobs\n```\n\nUse your center's standard GPU modules or containers, and bind project and scratch storage as appropriate.\n\n### Option 3 — Local development\n\nFor local use without HPC access. Training without a GPU will be slow; smaller models and lower batch sizes are recommended.\n\n**Docker**\n\nNote: The instructions below run the notebooks inside the container.\nAny changes you make will be lost when the container stops unless you save them outside the container\n(e.g., using a mounted volume: `-v $(pwd):/opt/kso/notebooks`).\n\n```bash\n# Pull kso with a suitable backend\ndocker pull ghcr.io/ocean-data-factory-sweden/kso:dev-ubuntu24.04             # CPU only\n# docker pull ghcr.io/ocean-data-factory-sweden/kso:dev-cuda12.9-ubuntu24.04  # CUDA / NVIDIA GPUs\n# docker pull ghcr.io/ocean-data-factory-sweden/kso:dev-rocm6.4-ubuntu24.04   # ROCm / AMD GPUs\n\n# Run the notebooks\ndocker run -it --rm -p 8888:8888 ghcr.io/ocean-data-factory-sweden/kso:dev-ubuntu24.04 notebooks/\n# docker run -it --rm -p 8888:8888 --gpus all ghcr.io/ocean-data-factory-sweden/kso:dev-cuda12.9-ubuntu24.04 notebooks/\n# docker run -it --rm -p 8888:8888 --device /dev/kfd --device /dev/dri ghcr.io/ocean-data-factory-sweden/kso:dev-rocm6.4-ubuntu24.04 notebooks/\n\n# Then open http://localhost:8888 in your browser and use the token printed out\n```\n\n**pip in venv**\n\n```bash\n# Create and activate a virtual environment\npython3 -m venv venv\nsource venv/bin/activate\n\n# Fetch the repository\ngit clone -b dev https://github.com/ocean-data-factory-sweden/kso.git\ncd kso\n\n# Install kso with a suitable backend\npip install -e .[dev] --extra-index-url https://download.pytorch.org/whl/cpu        # CPU only\n# pip install -e .[dev] --extra-index-url https://download.pytorch.org/whl/cu129    # CUDA / NVIDIA GPUs\n# pip install -e .[dev] --extra-index-url https://download.pytorch.org/whl/rocm6.4  # ROCm / AMD GPUs\n\n# Run the notebooks\njupyter lab notebooks/\n```\n\n## Developer Instructions\n\nWe welcome contributions!\n\n1. Work from the `dev` branch; create feature branches off `dev`.\n2. Format Python code with Black:\n   ```bash\n   black filename.py\n   ```\n3. Use **Conventional Commits** for messages: `feat:`, `fix:`, `docs:`, `refactor:`, `test:`.\n4. Keep commit history clean and logical (squash where appropriate) and **rebase** onto `dev` (never merge).\n5. Open a Pull Request targeting `dev` and request at least 2 reviewers.\n\n## Citation\n\nIf this code or its trained models contribute to your research, please cite:\n\n\u003e Anton V, Germishuys J, Bergström P, Lindegarth M, Obst M (2021). An open-source, citizen science and machine learning approach to analyse subsea movies. *Biodiversity Data Journal* 9: e60548. [https://doi.org/10.3897/BDJ.9.e60548](https://doi.org/10.3897/BDJ.9.e60548)\n\n## Support \u0026 Contact\n\n- **Website**: [https://subsim.se](https://subsim.se)\n- **Issues**: [GitHub Issues][issues-url]\n- **Contact**: matthias.obst(at)marine.gu.se\n\nWe are always excited to collaborate with marine scientists. Feel free to reach out with questions or ideas!\n\n## Legacy Notebooks (Zooniverse workflow)\n\nThese notebooks implement the original Zooniverse citizen-science pipeline and are maintained for existing projects. For new work, use the main workflow above.\n\n| Task | Notebook | Description | Colab |\n|------|----------|-------------|-------|\n| Check Zooniverse metadata | Check_metadata | Check format of footage, sites, media and species CSV files | [![Open In Colab][colab-badge]][colab_tut_1] |\n| Classify | Upload_subjects_to_Zooniverse | Prepare footage and upload clips to Zooniverse | [![Open In Colab][colab-badge]][colab_tut_3] |\n| Classify | Process_classifications | Pull and process classifications from Zooniverse | [![Open In Colab][colab-badge]][colab_tut_8] |\n| Analyse | Evaluate_models | Standalone model evaluation | [![Open In Colab][colab-badge]][colab_tut_6] |\n| Publish | Publish_models | Publish model to a public repository | [![Open In Colab][colab-badge]][colab_tut_7] |\n| Publish | Publish_observations | Export observations to GBIF/OBIS | [![Open In Colab][colab-badge]][colab_tut_9] |\n\n## License\n\nSUBSIM/KSO is released under the **GPL-3.0 license**. See [LICENSE.txt](./LICENSE.txt) for details.\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/ocean-data-factory-sweden/kso.svg?style=for-the-badge\n[contributors-url]: https://github.com/ocean-data-factory-sweden/kso/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/ocean-data-factory-sweden/kso.svg?style=for-the-badge\n[forks-url]: https://github.com/ocean-data-factory-sweden/kso/network/members\n[stars-shield]: https://img.shields.io/github/stars/ocean-data-factory-sweden/kso.svg?style=for-the-badge\n[stars-url]: https://github.com/ocean-data-factory-sweden/kso/stargazers\n[issues-shield]: https://img.shields.io/github/issues/ocean-data-factory-sweden/kso.svg?style=for-the-badge\n[issues-url]: https://github.com/ocean-data-factory-sweden/kso/issues\n[license-shield]: https://img.shields.io/github/license/ocean-data-factory-sweden/kso.svg?style=for-the-badge\n[license-url]: https://github.com/ocean-data-factory-sweden/kso/blob/dev/LICENSE.txt\n[high-level-overview]: https://github.com/ocean-data-factory-sweden/kso/blob/dev/assets/high-level-overview.png?raw=true\n[koster-url]: https://www.zooniverse.org/projects/victorav/the-koster-seafloor-observatory\n[subsim-url]: https://subsim.se\n[colab-badge]: https://colab.research.google.com/assets/colab-badge.svg\n[colab_tut_1]: https://colab.research.google.com/github/ocean-data-factory-sweden/kso/blob/dev/notebooks/setup/Check_metadata.ipynb\n[colab_tut_3]: https://colab.research.google.com/github/ocean-data-factory-sweden/kso/blob/dev/notebooks/classify/Upload_subjects_to_Zooniverse.ipynb\n[colab_tut_6]: https://colab.research.google.com/github/ocean-data-factory-sweden/kso/blob/dev/notebooks/analyse/Evaluate_models.ipynb\n[colab_tut_7]: https://colab.research.google.com/github/ocean-data-factory-sweden/kso/blob/dev/notebooks/publish/Publish_models.ipynb\n[colab_tut_8]: https://colab.research.google.com/github/ocean-data-factory-sweden/kso/blob/dev/notebooks/classify/Process_classifications.ipynb\n[colab_tut_9]: https://colab.research.google.com/github/ocean-data-factory-sweden/kso/blob/dev/notebooks/publish/Publish_observations.ipynb\n","funding_links":["https://github.com/sponsors/glenn-jocher","https://patreon.com/ultralytics","https://opencollective.com/ultralytics"],"readme_doi_urls":["https://doi.org/10.3897/BDJ.9.e60548"],"works":{"https://doi.org/10.3897/BDJ.9.e60548":{"id":"https://openalex.org/W3130618688","doi":"https://doi.org/10.3897/bdj.9.e60548","title":"An open-source, citizen science and machine learning approach to analyse subsea movies","display_name":"An open-source, citizen science and machine learning approach to analyse subsea movies","publication_year":2021,"publication_date":"2021-02-24","ids":{"openalex":"https://openalex.org/W3130618688","doi":"https://doi.org/10.3897/bdj.9.e60548","mag":"3130618688","pmid":"https://pubmed.ncbi.nlm.nih.gov/33679174","pmcid":"https://www.ncbi.nlm.nih.gov/pmc/articles/7930014"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.3897/bdj.9.e60548","pdf_url":"https://bdj.pensoft.net/article/60548/download/pdf/","source":{"id":"https://openalex.org/S2764367193","display_name":"Biodiversity Data Journal","issn_l":"1314-2828","issn":["1314-2828","1314-2836"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310321056","host_organization_name":"Pensoft Publishers","host_organization_lineage":["https://openalex.org/P4310321056"],"host_organization_lineage_names":["Pensoft Publishers"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://bdj.pensoft.net/article/60548/download/pdf/","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5069771188","display_name":"Victor Anton","orcid":"https://orcid.org/0000-0002-1471-5571"},"institutions":[],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Victor Anton","raw_affiliation_string":"Wildlife.ai, New Plymouth, New Zealand Wildlife.ai New Plymouth New Zealand.","raw_affiliation_strings":["Wildlife.ai, New Plymouth, New Zealand Wildlife.ai New Plymouth New Zealand."]},{"author_position":"middle","author":{"id":"https://openalex.org/A5080812075","display_name":"Jannes Germishuys","orcid":null},"institutions":[],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Jannes Germishuys","raw_affiliation_string":"Combine AB, Gothenburg, Sweden Combine AB Gothenburg Sweden.","raw_affiliation_strings":["Combine AB, Gothenburg, Sweden Combine AB Gothenburg Sweden."]},{"author_position":"middle","author":{"id":"https://openalex.org/A5089405116","display_name":"Per Bergström","orcid":"https://orcid.org/0000-0002-7566-3656"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Per Bergström","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5091193228","display_name":"Mats Lindegarth","orcid":"https://orcid.org/0000-0001-5361-5437"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Mats Lindegarth","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5030741196","display_name":"Matthias Obst","orcid":"https://orcid.org/0000-0003-0264-9631"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Matthias Obst","raw_affiliation_string":"","raw_affiliation_strings":[]}],"countries_distinct_count":2,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":450,"currency":"EUR","value_usd":485,"provenance":"doaj"},"apc_paid":{"value":450,"currency":"EUR","value_usd":485,"provenance":"openapc"},"has_fulltext":false,"cited_by_count":6,"cited_by_percentile_year":{"min":88,"max":89},"biblio":{"volume":"9","issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"movies","score":0.3991},{"keyword":"machine learning","score":0.3425},{"keyword":"machine learning approach","score":0.3327},{"keyword":"citizen science","score":0.3208},{"keyword":"open-source","score":0.25}],"concepts":[{"id":"https://openalex.org/C197352329","wikidata":"https://www.wikidata.org/wiki/Q1093434","display_name":"Citizen science","level":2,"score":0.8594277},{"id":"https://openalex.org/C2777737062","wikidata":"https://www.wikidata.org/wiki/Q14898686","display_name":"Subsea","level":2,"score":0.7293884},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.65967304},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.6043973},{"id":"https://openalex.org/C2522767166","wikidata":"https://www.wikidata.org/wiki/Q2374463","display_name":"Data science","level":1,"score":0.54247844},{"id":"https://openalex.org/C98083399","wikidata":"https://www.wikidata.org/wiki/Q3246517","display_name":"Underwater","level":2,"score":0.4978683},{"id":"https://openalex.org/C198531522","wikidata":"https://www.wikidata.org/wiki/Q485146","display_name":"Sample (material)","level":2,"score":0.4221461},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.40789506},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.3601578},{"id":"https://openalex.org/C201995342","wikidata":"https://www.wikidata.org/wiki/Q682496","display_name":"Systems engineering","level":1,"score":0.3466862},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.17057312},{"id":"https://openalex.org/C199104240","wikidata":"https://www.wikidata.org/wiki/Q118291","display_name":"Marine engineering","level":1,"score":0.13845041},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.11846143},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.10129681},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C59822182","wikidata":"https://www.wikidata.org/wiki/Q441","display_name":"Botany","level":1,"score":0.0},{"id":"https://openalex.org/C43617362","wikidata":"https://www.wikidata.org/wiki/Q170050","display_name":"Chromatography","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.3897/bdj.9.e60548","pdf_url":"https://bdj.pensoft.net/article/60548/download/pdf/","source":{"id":"https://openalex.org/S2764367193","display_name":"Biodiversity Data Journal","issn_l":"1314-2828","issn":["1314-2828","1314-2836"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310321056","host_organization_name":"Pensoft Publishers","host_organization_lineage":["https://openalex.org/P4310321056"],"host_organization_lineage_names":["Pensoft Publishers"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":true,"landing_page_url":"https://zenodo.org/record/4580005","pdf_url":"https://zenodo.org/record/4580005/files/BDJ_article_60548.pdf","source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":["European Organization for Nuclear Research"],"type":"repository"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":true,"landing_page_url":"https://preprints.arphahub.com/article/60597/","pdf_url":"https://preprints.arphahub.com/article/60597/download/pdf/","source":{"id":"https://openalex.org/S4306401521","display_name":"Check List the Journal of Biodiversity Data (Pensoft)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I4210111537","host_organization_name":"Pensoft Publishers (Bulgaria)","host_organization_lineage":["https://openalex.org/I4210111537"],"host_organization_lineage_names":["Pensoft Publishers (Bulgaria)"],"type":"repository"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":true,"landing_page_url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7930014","pdf_url":null,"source":{"id":"https://openalex.org/S2764455111","display_name":"PubMed Central","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I1299303238","host_organization_name":"National Institutes of Health","host_organization_lineage":["https://openalex.org/I1299303238"],"host_organization_lineage_names":["National Institutes of Health"],"type":"repository"},"license":null,"version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":false,"landing_page_url":"https://pubmed.ncbi.nlm.nih.gov/33679174","pdf_url":null,"source":{"id":"https://openalex.org/S4306525036","display_name":"PubMed","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"host_organization":"https://openalex.org/I1299303238","host_organization_name":"National Institutes of Health","host_organization_lineage":["https://openalex.org/I1299303238"],"host_organization_lineage_names":["National Institutes of Health"],"type":"repository"},"license":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.3897/bdj.9.e60548","pdf_url":"https://bdj.pensoft.net/article/60548/download/pdf/","source":{"id":"https://openalex.org/S2764367193","display_name":"Biodiversity Data Journal","issn_l":"1314-2828","issn":["1314-2828","1314-2836"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310321056","host_organization_name":"Pensoft Publishers","host_organization_lineage":["https://openalex.org/P4310321056"],"host_organization_lineage_names":["Pensoft Publishers"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/14","display_name":"Life below water","score":0.82}],"grants":[{"funder":"https://openalex.org/F4320321030","funder_display_name":"VINNOVA","award_id":null}],"referenced_works_count":12,"referenced_works":["https://openalex.org/W1519478720","https://openalex.org/W2046118626","https://openalex.org/W2061920292","https://openalex.org/W2131293310","https://openalex.org/W2549277965","https://openalex.org/W2739663224","https://openalex.org/W2750040298","https://openalex.org/W2761027789","https://openalex.org/W2905363651","https://openalex.org/W3004288773","https://openalex.org/W3100146621","https://openalex.org/W3126418351"],"related_works":["https://openalex.org/W2948947745","https://openalex.org/W1985973698","https://openalex.org/W4387028395","https://openalex.org/W2801157177","https://openalex.org/W200687773","https://openalex.org/W1917585782","https://openalex.org/W2332055331","https://openalex.org/W4224318071","https://openalex.org/W2360915458","https://openalex.org/W2020694775"],"ngrams_url":"https://api.openalex.org/works/W3130618688/ngrams","abstract_inverted_index":{"The":[0,99],"increasing":[1],"access":[2],"to":[3,9,27,42,48,61,87,115,144,152,160,235,271],"autonomously-operated":[4],"technologies":[5,18],"offer":[6],"vast":[7],"opportunities":[8],"sample":[10],"large":[11,68,89,274],"volumes":[12,69],"of":[13,70,91,130,155,162,213,222,256,276],"biological":[14,131],"data.":[15],"However,":[16],"these":[17],"also":[19],"impose":[20],"novel":[21],"demands":[22],"on":[23,138],"ecologists":[24],"who":[25],"need":[26],"apply":[28],"tools":[29,45],"for":[30,51,66,95,128,169,217,242],"data":[31,72,94,156,241],"management":[32],"and":[33,40,55,107,123,141,146,157,220,239,246,264],"processing":[34],"that":[35,253],"are":[36,46,269],"efficient,":[37],"publicly":[38],"available":[39],"easy":[41],"use.":[43],"Such":[44],"starting":[47],"be":[49,233],"developed":[50],"a":[52,175,191],"wider":[53],"community":[54],"here":[56],"we":[57],"present":[58],"an":[59,84,196],"approach":[60,86,100,135,168,227],"combine":[62],"essential":[63],"analytical":[64],"functions":[65],"analysing":[67,88],"image":[71],"in":[73,174,179,190,279],"marine":[74,96,163],"ecological":[75,97,244],"research.":[76,98],"This":[77,133],"paper":[78],"describes":[79],"the":[80,109,118,149,211,254,280],"Koster":[81],"Seafloor":[82],"Observatory,":[83],"open-source":[85,139,257],"amounts":[90,275],"subsea":[92,110],"movie":[93],"incorporates":[101],"three":[102],"distinct":[103],"modules":[104],"to:":[105],"manage":[106],"archive":[108],"movies,":[111],"involve":[112],"citizen":[113,207,230,259],"scientists":[114],"accurately":[116],"classify":[117],"footage":[119],"and,":[120],"finally,":[121],"train":[122],"test":[124],"machine":[125,192,214,262],"learning":[126,193,215,263],"algorithms":[127],"detection":[129],"objects.":[132],"modular":[134],"is":[136],"based":[137],"code":[140],"allows":[142],"researchers":[143],"customise":[145],"further":[147],"develop":[148],"presented":[150],"functionalities":[151],"various":[153],"types":[154],"questions":[158],"related":[159],"analysis":[161],"imagery.":[164],"We":[165,209,251],"tested":[166],"our":[167],"monitoring":[170,221],"cold":[171,223],"water":[172,224],"corals":[173],"Marine":[176],"Protected":[177],"Area":[178],"Sweden":[180],"using":[181],"videos":[182],"from":[183,248],"remotely-operated":[184],"vehicles":[185],"(ROVs).":[186],"Our":[187,226],"study":[188],"resulted":[189],"model":[194],"with":[195,203],"adequate":[197],"performance,":[198],"which":[199],"was":[200],"entirely":[201],"trained":[202],"classifications":[204],"provided":[205],"by":[206],"scientists.":[208],"illustrate":[210],"application":[212],"models":[216],"automated":[218],"inventories":[219],"corals.":[225],"shows":[228],"how":[229],"science":[231,260],"can":[232],"used":[234],"effectively":[236],"extract":[237],"occurrence":[238],"abundance":[240],"key":[243,270],"species":[245],"habitats":[247],"underwater":[249,277],"footage.":[250],"conclude":[252],"combination":[255],"tools,":[258],"systems,":[261],"high":[265],"performance":[266],"computational":[267],"resources":[268],"successfully":[272],"analyse":[273],"imagery":[278],"future.":[281]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W3130618688","counts_by_year":[{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":4}],"updated_date":"2023-12-13T07:31:14.469463","created_date":"2021-03-01"}},"citation_counts":{"https://doi.org/10.3897/BDJ.9.e60548":6},"total_citations":6,"keywords_from_contributors":["transformer","optimize","archiving","measur","language-model","compose","observation","conversion","generic","animals"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/46062","html_url":"https://ost.ecosyste.ms/projects/46062"}