{"id":347832,"name":"PlanktoScope","description":"A modular, open-source hardware and software platform that allows for high-throughput quantitative imaging of plankton samples in aquatic biology and ecology.","url":"https://github.com/fairscope/planktoscope","last_synced_at":"2026-08-30T03:36:07.084Z","repository":{"id":37419694,"uuid":"248410583","full_name":"fairscope/PlanktoScope","owner":"fairscope","description":"Open and Affordable Quantitative Imaging Platform","archived":false,"fork":false,"pushed_at":"2026-08-12T08:20:46.000Z","size":509734,"stargazers_count":90,"open_issues_count":142,"forks_count":31,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-08-13T22:37:27.404Z","etag":null,"topics":["citizen","citizen-science","imaging","microscope","microscope-platform","microscopy","ocean","oceanography","plankton","planktoscope","raspberry-pi-4","raspberry-pi-camera","science","water"],"latest_commit_sha":null,"homepage":"https://fairscope.github.io/PlanktoScope/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fairscope.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-CC-BY-SA-4.0","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}},"created_at":"2020-03-19T04:29:00.000Z","updated_at":"2026-08-12T08:20:52.000Z","dependencies_parsed_at":"2026-08-13T19:32:57.215Z","dependency_job_id":null,"html_url":"https://github.com/fairscope/PlanktoScope","commit_stats":{"total_commits":873,"total_committers":10,"mean_commits":87.3,"dds":0.6093928980526919,"last_synced_commit":"befca90aaba210e59551fb5164a9495d515ac2d3"},"previous_names":["fairscope/planktoscope","planktoscope/planktoscope"],"tags_count":45,"template":false,"template_full_name":null,"purl":"pkg:github/fairscope/PlanktoScope","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairscope%2FPlanktoScope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairscope%2FPlanktoScope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairscope%2FPlanktoScope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairscope%2FPlanktoScope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fairscope","download_url":"https://codeload.github.com/fairscope/PlanktoScope/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairscope%2FPlanktoScope/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36663899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-14T02:00:06.934Z","response_time":54,"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":"fairscope","name":"FairScope","uuid":"203827607","kind":"organization","description":"Disruptive flow-through microscopy","email":"hi@fairscope.com","website":"https://www.fairscope.com/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/203827607?v=4","repositories_count":1,"last_synced_at":"2026-03-09T20:38:41.187Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/fairscope","funding_links":[],"total_stars":80,"followers":6,"following":0,"created_at":"2026-03-09T20:38:41.208Z","updated_at":"2026-03-09T20:38:41.208Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fairscope","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fairscope/repositories"},"packages":[],"commits":{"id":11683291,"full_name":"fairscope/planktoscope","default_branch":"master","total_commits":1422,"total_committers":18,"total_bot_commits":148,"total_bot_committers":1,"mean_commits":79.0,"dds":0.760196905766526,"past_year_total_commits":288,"past_year_total_committers":7,"past_year_total_bot_commits":39,"past_year_total_bot_committers":1,"past_year_mean_commits":41.142857142857146,"past_year_dds":0.2847222222222222,"last_synced_at":"2026-08-20T23:10:17.954Z","last_synced_commit":"755b34ca032814d9dddc80af542c5796dc9720c7","created_at":"2026-03-12T01:01:10.161Z","updated_at":"2026-08-20T23:10:15.586Z","committers":[{"name":"Romain Bazile","email":"gromain.baz@gmail.com","login":"gromain","count":341},{"name":"Sonny Piers","email":"sonny@fairscope.com","login":"sonnyp","count":322},{"name":"tpollina","email":"thibaut.pollina@gmail.com","login":"tpollina","count":303},{"name":"Ethan Li","email":"lietk12@gmail.com","login":"ethanjli","count":257},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":148},{"name":"Adam","email":"30325853+babo989","login":"babo989","count":28},{"name":"tcebron","email":"tanguy@fairscope.com","login":"tcebron","count":9},{"name":"Thibaut Pollina","email":"thibaut+github@fairscope.com","login":"chevreuill3000","count":4},{"name":"Adam Larson","email":"adam@fairscope.com","login":null,"count":1},{"name":"chevreuill3000","email":"chevreuill3000@github.com","login":null,"count":1},{"name":"Bakhtiyorjon Rasulov","email":"32024479+bahtibyte","login":"bahtibyte","count":1},{"name":"Laurent Paul Vallet","email":"laurentpaulvallet@gmail.com","login":"LaurentPV","count":1},{"name":"Melissa Djadoun","email":"153541510+melissadjadoun","login":"melissadjadoun","count":1},{"name":"Romain Fauvel","email":"123301565+RomainFauvel","login":"RomainFauvel","count":1},{"name":"Simon-Martin Schröder","email":"sms@informatik.uni-kiel.de","login":"moi90","count":1},{"name":"Wassim Chakroun","email":"87650566+W7CH","login":"W7CH","count":1},{"name":"coulm","email":"34215459+redhox","login":"redhox","count":1},{"name":"dnberlin","email":"fw@felixwerner.name","login":"dnberlin","count":1}],"past_year_committers":[{"name":"Sonny Piers","email":"sonny@fairscope.com","login":"sonnyp","count":206},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":39},{"name":"Adam","email":"30325853+babo989","login":"babo989","count":28},{"name":"Thibaut Pollina","email":"thibaut@fairscope.com","login":"tpollina","count":9},{"name":"Thibaut Pollina","email":"thibaut+github@fairscope.com","login":"chevreuill3000","count":4},{"name":"chevreuill3000","email":"chevreuill3000@github.com","login":null,"count":1},{"name":"Adam Larson","email":"adam@fairscope.com","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairscope%2Fplanktoscope/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-26T00:00:10.794Z","repositories_count":6772820,"commits_count":982362695,"contributors_count":41413046,"owners_count":1363685,"committers_count":3359969,"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":"fairscope/PlanktoScope","html_url":"https://github.com/fairscope/PlanktoScope","last_synced_at":"2026-08-29T03:02:51.175Z","status":null,"issues_count":27,"pull_requests_count":75,"avg_time_to_close_issue":3002320.6666666665,"avg_time_to_close_pull_request":378022.873015873,"issues_closed_count":6,"pull_requests_closed_count":63,"pull_request_authors_count":4,"issue_authors_count":4,"avg_comments_per_issue":1.4814814814814814,"avg_comments_per_pull_request":0.09333333333333334,"merged_pull_requests_count":53,"bot_issues_count":0,"bot_pull_requests_count":24,"past_year_issues_count":27,"past_year_pull_requests_count":75,"past_year_avg_time_to_close_issue":3002320.6666666665,"past_year_avg_time_to_close_pull_request":378022.873015873,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":63,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.4814814814814814,"past_year_avg_comments_per_pull_request":0.09333333333333334,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":24,"past_year_merged_pull_requests_count":53,"created_at":"2026-03-10T11:00:11.645Z","updated_at":"2026-08-29T03:02:51.176Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairscope%2FPlanktoScope","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairscope%2FPlanktoScope/issues","issue_labels_count":{"software":25,"bug":6,"python":2,"ui":1,"dependencies":1},"pull_request_labels_count":{"dependencies":24,"javascript":13,"python:uv":11},"issue_author_associations_count":{"NONE":17,"COLLABORATOR":8,"CONTRIBUTOR":2},"pull_request_author_associations_count":{"COLLABORATOR":50,"CONTRIBUTOR":24,"NONE":1},"issue_authors":{"jeremyszym":16,"sonnyp":8,"chevreuill3000":2,"lverrill02":1},"pull_request_authors":{"babo989":28,"dependabot[bot]":24,"sonnyp":22,"ocelr22":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-30T00:00:07.555Z","repositories_count":16615851,"issues_count":43551556,"pull_requests_count":138679919,"authors_count":11577379,"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":{"software":25,"bug":6,"python":2,"dependencies":1,"ui":1},"past_year_pull_request_labels_count":{"dependencies":24,"javascript":13,"python:uv":11},"past_year_issue_author_associations_count":{"NONE":17,"COLLABORATOR":8,"CONTRIBUTOR":2},"past_year_pull_request_author_associations_count":{"COLLABORATOR":50,"CONTRIBUTOR":24,"NONE":1},"past_year_issue_authors":{"jeremyszym":16,"sonnyp":8,"chevreuill3000":2,"lverrill02":1},"past_year_pull_request_authors":{"babo989":28,"dependabot[bot]":24,"sonnyp":22,"ocelr22":1},"maintainers":[{"login":"sonnyp","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonnyp"},{"login":"babo989","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/babo989"}],"active_maintainers":[{"login":"sonnyp","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonnyp"},{"login":"babo989","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/babo989"}]},"events":{"total":{"DeleteEvent":26,"PullRequestEvent":8,"IssuesEvent":17,"IssueCommentEvent":3,"PushEvent":110,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":4,"CreateEvent":28},"last_year":{"DeleteEvent":26,"PullRequestEvent":8,"IssuesEvent":17,"IssueCommentEvent":3,"PushEvent":110,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":4,"CreateEvent":28}},"keywords":["citizen","citizen-science","imaging","microscope","microscope-platform","microscopy","ocean","oceanography","plankton","planktoscope","raspberry-pi-4","raspberry-pi-camera","science","water"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/documentation-build.yml","sha":null,"kind":"manifest","created_at":"2023-09-21T19:47:44.629Z","updated_at":"2023-09-21T19:47:44.629Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/documentation-build.yml","dependencies":[{"id":13856923727,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13856923728,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13856923729,"package_name":"docker/metadata-action","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":13856923730,"package_name":"docker/setup-qemu-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13856923731,"package_name":"docker/setup-buildx-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13856923732,"package_name":"docker/login-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13856923733,"package_name":"docker/build-push-action","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":13856923734,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/documentation-deploy-edge.yml","sha":null,"kind":"manifest","created_at":"2023-09-21T19:47:44.964Z","updated_at":"2023-09-21T19:47:44.964Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/documentation-deploy-edge.yml","dependencies":[{"id":13856923941,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13856923946,"package_name":"actions/configure-pages","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13856923948,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13856923950,"package_name":"actions/upload-pages-artifact","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13856923952,"package_name":"actions/deploy-pages","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"documentation/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-21T19:47:45.446Z","updated_at":"2023-09-21T19:47:45.446Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/documentation/Dockerfile","dependencies":[{"id":13856924113,"package_name":"caddy","ecosystem":"docker","requirements":"2.7.4","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"documentation/pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-09-21T19:47:48.432Z","updated_at":"2023-09-21T19:47:48.432Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/documentation/pyproject.toml","dependencies":[{"id":13856926956,"package_name":"python","ecosystem":"pypi","requirements":"^3.8","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"backend/package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:52.598Z","updated_at":"2026-08-13T19:32:52.598Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/backend/package-lock.json","dependencies":[{"id":26098984976,"package_name":"accepts","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098984977,"package_name":"append-field","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098984978,"package_name":"body-parser","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098984979,"package_name":"content-type","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098984980,"package_name":"buffer-from","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098984981,"package_name":"busboy","ecosystem":"npm","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":26098984982,"package_name":"bytes","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098984983,"package_name":"call-bind-apply-helpers","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098984984,"package_name":"call-bound","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098984985,"package_name":"concat-stream","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098984986,"package_name":"content-disposition","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098984987,"package_name":"content-type","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":26098984988,"package_name":"cookie","ecosystem":"npm","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":26098984989,"package_name":"cookie-signature","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098984990,"package_name":"cors","ecosystem":"npm","requirements":"2.8.5","direct":false,"kind":"runtime","optional":false},{"id":26098984991,"package_name":"debug","ecosystem":"npm","requirements":"4.4.3","direct":false,"kind":"runtime","optional":false},{"id":26098984992,"package_name":"depd","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098984993,"package_name":"dunder-proto","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098984994,"package_name":"ee-first","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098984995,"package_name":"encodeurl","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098984996,"package_name":"es-define-property","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098984997,"package_name":"es-errors","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098984998,"package_name":"es-object-atoms","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098984999,"package_name":"escape-html","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985000,"package_name":"etag","ecosystem":"npm","requirements":"1.8.1","direct":false,"kind":"runtime","optional":false},{"id":26098985001,"package_name":"express","ecosystem":"npm","requirements":"5.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985002,"package_name":"finalhandler","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985003,"package_name":"forwarded","ecosystem":"npm","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985004,"package_name":"fresh","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985005,"package_name":"function-bind","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985006,"package_name":"get-intrinsic","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985007,"package_name":"get-proto","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985008,"package_name":"gopd","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985009,"package_name":"has-symbols","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985010,"package_name":"hasown","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985011,"package_name":"http-errors","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985012,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":26098985013,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985014,"package_name":"ipaddr.js","ecosystem":"npm","requirements":"1.9.1","direct":false,"kind":"runtime","optional":false},{"id":26098985015,"package_name":"is-promise","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985016,"package_name":"math-intrinsics","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985017,"package_name":"media-typer","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985018,"package_name":"merge-descriptors","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985019,"package_name":"mime-db","ecosystem":"npm","requirements":"1.54.0","direct":false,"kind":"runtime","optional":false},{"id":26098985020,"package_name":"mime-types","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985021,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"runtime","optional":false},{"id":26098985022,"package_name":"multer","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985023,"package_name":"media-typer","ecosystem":"npm","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985024,"package_name":"mime-db","ecosystem":"npm","requirements":"1.52.0","direct":false,"kind":"runtime","optional":false},{"id":26098985025,"package_name":"mime-types","ecosystem":"npm","requirements":"2.1.35","direct":false,"kind":"runtime","optional":false},{"id":26098985026,"package_name":"type-is","ecosystem":"npm","requirements":"1.6.18","direct":false,"kind":"runtime","optional":false},{"id":26098985027,"package_name":"negotiator","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985028,"package_name":"object-assign","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985029,"package_name":"object-inspect","ecosystem":"npm","requirements":"1.13.4","direct":false,"kind":"runtime","optional":false},{"id":26098985030,"package_name":"on-finished","ecosystem":"npm","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":26098985031,"package_name":"once","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":26098985032,"package_name":"parseurl","ecosystem":"npm","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":26098985033,"package_name":"path-to-regexp","ecosystem":"npm","requirements":"8.4.2","direct":false,"kind":"runtime","optional":false},{"id":26098985034,"package_name":"proxy-addr","ecosystem":"npm","requirements":"2.0.7","direct":false,"kind":"runtime","optional":false},{"id":26098985035,"package_name":"qs","ecosystem":"npm","requirements":"6.15.3","direct":false,"kind":"runtime","optional":false},{"id":26098985036,"package_name":"range-parser","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985037,"package_name":"raw-body","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985038,"package_name":"readable-stream","ecosystem":"npm","requirements":"3.6.2","direct":false,"kind":"runtime","optional":false},{"id":26098985039,"package_name":"router","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985040,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985041,"package_name":"safer-buffer","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985042,"package_name":"send","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985043,"package_name":"serve-static","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985044,"package_name":"setprototypeof","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985045,"package_name":"side-channel","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985046,"package_name":"side-channel-list","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985047,"package_name":"side-channel-map","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985048,"package_name":"side-channel-weakmap","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985049,"package_name":"statuses","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985050,"package_name":"streamsearch","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985051,"package_name":"string_decoder","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985052,"package_name":"toidentifier","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985053,"package_name":"type-is","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985054,"package_name":"typedarray","ecosystem":"npm","requirements":"0.0.6","direct":false,"kind":"runtime","optional":false},{"id":26098985055,"package_name":"unpipe","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985056,"package_name":"util-deprecate","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985057,"package_name":"vary","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985058,"package_name":"wrappy","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985059,"package_name":"zod","ecosystem":"npm","requirements":"4.1.12","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"controller/pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:55.850Z","updated_at":"2026-08-13T19:32:55.850Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/controller/pyproject.toml","dependencies":[{"id":26098986141,"package_name":"paho-mqtt","ecosystem":"pypi","requirements":"\u003e=2.1.0,\u003c3","direct":true,"kind":"runtime","optional":false},{"id":26098986142,"package_name":"loguru","ecosystem":"pypi","requirements":"\u003e=0.7.3,\u003c0.8","direct":true,"kind":"runtime","optional":false},{"id":26098986143,"package_name":"readerwriterlock","ecosystem":"pypi","requirements":"\u003e=1.0.9,\u003c2","direct":true,"kind":"runtime","optional":false},{"id":26098986144,"package_name":"picamera2","ecosystem":"pypi","requirements":"\u003e=0.3.31,\u003c0.4","direct":true,"kind":"runtime","optional":false},{"id":26098986145,"package_name":"rpi-gpio","ecosystem":"pypi","requirements":"\u003e=0.7.0,\u003c0.8","direct":true,"kind":"runtime","optional":false},{"id":26098986146,"package_name":"adafruit-blinka","ecosystem":"pypi","requirements":"\u003e=8.66.2,\u003c9","direct":true,"kind":"runtime","optional":false},{"id":26098986147,"package_name":"adafruit-circuitpython-motorkit","ecosystem":"pypi","requirements":"\u003e=1.6.18,\u003c2","direct":true,"kind":"runtime","optional":false},{"id":26098986148,"package_name":"adafruit-circuitpython-motor","ecosystem":"pypi","requirements":"\u003e=3.4.17,\u003c4","direct":true,"kind":"runtime","optional":false},{"id":26098986149,"package_name":"adafruit-ssd1306","ecosystem":"pypi","requirements":"\u003e=1.6.2,\u003c2","direct":true,"kind":"runtime","optional":false},{"id":26098986150,"package_name":"adafruit-platformdetect","ecosystem":"pypi","requirements":"\u003e=3.84.0,\u003c4","direct":true,"kind":"runtime","optional":false},{"id":26098986151,"package_name":"smbus2","ecosystem":"pypi","requirements":"\u003e=0.5.0,\u003c0.6","direct":true,"kind":"runtime","optional":false},{"id":26098986152,"package_name":"spidev","ecosystem":"pypi","requirements":"~=3.5","direct":true,"kind":"runtime","optional":false},{"id":26098986153,"package_name":"gpiozero","ecosystem":"pypi","requirements":"\u003e=2.0.1,\u003c3","direct":true,"kind":"runtime","optional":false},{"id":26098986154,"package_name":"adafruit-circuitpython-mcp4725","ecosystem":"pypi","requirements":"\u003e=1.4.18","direct":true,"kind":"runtime","optional":false},{"id":26098986155,"package_name":"aiomqtt","ecosystem":"pypi","requirements":"\u003e=2.4.0","direct":true,"kind":"runtime","optional":false},{"id":26098986156,"package_name":"aiofiles","ecosystem":"pypi","requirements":"\u003e=24.1.0","direct":true,"kind":"runtime","optional":false},{"id":26098986157,"package_name":"pidng","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26098986158,"package_name":"pillow","ecosystem":"pypi","requirements":"\u003e=12.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"lib/package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:53.125Z","updated_at":"2026-08-13T19:32:53.125Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/lib/package-lock.json","dependencies":[{"id":26098985301,"package_name":"@babel/runtime","ecosystem":"npm","requirements":"7.29.7","direct":false,"kind":"runtime","optional":false},{"id":26098985302,"package_name":"@sec-ant/readable-stream","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"runtime","optional":false},{"id":26098985303,"package_name":"@sindresorhus/merge-streams","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985304,"package_name":"@types/node","ecosystem":"npm","requirements":"25.9.3","direct":false,"kind":"runtime","optional":false},{"id":26098985305,"package_name":"@types/readable-stream","ecosystem":"npm","requirements":"4.0.23","direct":false,"kind":"runtime","optional":false},{"id":26098985306,"package_name":"@types/ws","ecosystem":"npm","requirements":"8.18.1","direct":false,"kind":"runtime","optional":false},{"id":26098985307,"package_name":"abort-controller","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985308,"package_name":"ansi-styles","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985309,"package_name":"argparse","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985310,"package_name":"async-lock","ecosystem":"npm","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":26098985311,"package_name":"available-typed-arrays","ecosystem":"npm","requirements":"1.0.7","direct":false,"kind":"runtime","optional":false},{"id":26098985312,"package_name":"base64-js","ecosystem":"npm","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":26098985313,"package_name":"bindings","ecosystem":"npm","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":26098985314,"package_name":"bl","ecosystem":"npm","requirements":"6.1.6","direct":false,"kind":"runtime","optional":false},{"id":26098985315,"package_name":"broker-factory","ecosystem":"npm","requirements":"3.1.15","direct":false,"kind":"runtime","optional":false},{"id":26098985316,"package_name":"buffer","ecosystem":"npm","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985317,"package_name":"buffer-from","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985318,"package_name":"call-bind","ecosystem":"npm","requirements":"1.0.9","direct":false,"kind":"runtime","optional":false},{"id":26098985319,"package_name":"call-bind-apply-helpers","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985320,"package_name":"call-bound","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985321,"package_name":"chalk","ecosystem":"npm","requirements":"4.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985322,"package_name":"clean-git-ref","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985323,"package_name":"color-convert","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985324,"package_name":"color-name","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"runtime","optional":false},{"id":26098985325,"package_name":"commander","ecosystem":"npm","requirements":"9.5.0","direct":false,"kind":"runtime","optional":false},{"id":26098985326,"package_name":"commist","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985327,"package_name":"concat-stream","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985328,"package_name":"readable-stream","ecosystem":"npm","requirements":"3.6.2","direct":false,"kind":"runtime","optional":false},{"id":26098985329,"package_name":"crc-32","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098985330,"package_name":"cross-spawn","ecosystem":"npm","requirements":"7.0.6","direct":false,"kind":"runtime","optional":false},{"id":26098985331,"package_name":"csv-parse","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985332,"package_name":"dbus.js","ecosystem":"npm","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985333,"package_name":"debug","ecosystem":"npm","requirements":"4.4.3","direct":false,"kind":"runtime","optional":false},{"id":26098985334,"package_name":"decompress-response","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985335,"package_name":"define-data-property","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"runtime","optional":false},{"id":26098985336,"package_name":"diff3","ecosystem":"npm","requirements":"0.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985337,"package_name":"dunder-proto","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985338,"package_name":"duplexer","ecosystem":"npm","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985339,"package_name":"es-define-property","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985340,"package_name":"es-errors","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985341,"package_name":"es-object-atoms","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985342,"package_name":"event-stream","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985343,"package_name":"event-target-shim","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985344,"package_name":"events","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985345,"package_name":"execa","ecosystem":"npm","requirements":"9.6.1","direct":false,"kind":"runtime","optional":false},{"id":26098985346,"package_name":"fast-unique-numbers","ecosystem":"npm","requirements":"9.0.27","direct":false,"kind":"runtime","optional":false},{"id":26098985347,"package_name":"figures","ecosystem":"npm","requirements":"6.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985348,"package_name":"file-uri-to-path","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985349,"package_name":"for-each","ecosystem":"npm","requirements":"0.3.5","direct":false,"kind":"runtime","optional":false},{"id":26098985350,"package_name":"from","ecosystem":"npm","requirements":"0.1.7","direct":false,"kind":"runtime","optional":false},{"id":26098985351,"package_name":"function-bind","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985352,"package_name":"get-intrinsic","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985353,"package_name":"get-proto","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985354,"package_name":"get-stream","ecosystem":"npm","requirements":"9.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985355,"package_name":"gopd","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985356,"package_name":"has-flag","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985357,"package_name":"has-property-descriptors","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985358,"package_name":"has-symbols","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985359,"package_name":"has-tostringtag","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985360,"package_name":"hasown","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985361,"package_name":"help-me","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985362,"package_name":"hexy","ecosystem":"npm","requirements":"0.2.11","direct":false,"kind":"runtime","optional":false},{"id":26098985363,"package_name":"human-signals","ecosystem":"npm","requirements":"8.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985364,"package_name":"i2c-bus","ecosystem":"npm","requirements":"5.2.3","direct":false,"kind":"runtime","optional":false},{"id":26098985365,"package_name":"ieee754","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985366,"package_name":"ignore","ecosystem":"npm","requirements":"5.3.2","direct":false,"kind":"runtime","optional":false},{"id":26098985367,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985368,"package_name":"ini","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985369,"package_name":"ip-address","ecosystem":"npm","requirements":"10.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985370,"package_name":"is-callable","ecosystem":"npm","requirements":"1.2.7","direct":false,"kind":"runtime","optional":false},{"id":26098985371,"package_name":"is-plain-obj","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985372,"package_name":"is-stream","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985373,"package_name":"is-typed-array","ecosystem":"npm","requirements":"1.1.15","direct":false,"kind":"runtime","optional":false},{"id":26098985374,"package_name":"is-unicode-supported","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985375,"package_name":"isarray","ecosystem":"npm","requirements":"2.0.5","direct":false,"kind":"runtime","optional":false},{"id":26098985376,"package_name":"isexe","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985377,"package_name":"isomorphic-git","ecosystem":"npm","requirements":"1.38.5","direct":false,"kind":"runtime","optional":false},{"id":26098985378,"package_name":"js-sdsl","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985379,"package_name":"js-yaml","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985380,"package_name":"long","ecosystem":"npm","requirements":"5.3.2","direct":false,"kind":"runtime","optional":false},{"id":26098985381,"package_name":"lru-cache","ecosystem":"npm","requirements":"10.4.3","direct":false,"kind":"runtime","optional":false},{"id":26098985382,"package_name":"map-stream","ecosystem":"npm","requirements":"0.0.7","direct":false,"kind":"runtime","optional":false},{"id":26098985383,"package_name":"math-intrinsics","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985384,"package_name":"mime","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985385,"package_name":"mimic-response","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985386,"package_name":"minimist","ecosystem":"npm","requirements":"1.2.8","direct":false,"kind":"runtime","optional":false},{"id":26098985387,"package_name":"minimisted","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985388,"package_name":"mqtt","ecosystem":"npm","requirements":"5.15.1","direct":false,"kind":"runtime","optional":false},{"id":26098985389,"package_name":"mqtt-packet","ecosystem":"npm","requirements":"9.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985390,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"runtime","optional":false},{"id":26098985391,"package_name":"nan","ecosystem":"npm","requirements":"2.27.0","direct":false,"kind":"runtime","optional":false},{"id":26098985392,"package_name":"npm-run-path","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985393,"package_name":"path-key","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985394,"package_name":"number-allocator","ecosystem":"npm","requirements":"1.0.14","direct":false,"kind":"runtime","optional":false},{"id":26098985395,"package_name":"observable-polyfill","ecosystem":"npm","requirements":"0.0.29","direct":false,"kind":"runtime","optional":false},{"id":26098985396,"package_name":"once","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":26098985397,"package_name":"optimist","ecosystem":"npm","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":26098985398,"package_name":"minimist","ecosystem":"npm","requirements":"0.0.10","direct":false,"kind":"runtime","optional":false},{"id":26098985399,"package_name":"p-event","ecosystem":"npm","requirements":"7.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985400,"package_name":"p-timeout","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985401,"package_name":"pako","ecosystem":"npm","requirements":"1.0.11","direct":false,"kind":"runtime","optional":false},{"id":26098985402,"package_name":"parse-ms","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985403,"package_name":"path-key","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985404,"package_name":"pause-stream","ecosystem":"npm","requirements":"0.0.11","direct":false,"kind":"runtime","optional":false},{"id":26098985405,"package_name":"pify","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985406,"package_name":"possible-typed-array-names","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985407,"package_name":"pretty-ms","ecosystem":"npm","requirements":"9.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985408,"package_name":"process","ecosystem":"npm","requirements":"0.11.10","direct":false,"kind":"runtime","optional":false},{"id":26098985409,"package_name":"process-nextick-args","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985410,"package_name":"put","ecosystem":"npm","requirements":"0.0.6","direct":false,"kind":"runtime","optional":false},{"id":26098985411,"package_name":"readable-stream","ecosystem":"npm","requirements":"4.7.0","direct":false,"kind":"runtime","optional":false},{"id":26098985412,"package_name":"rfdc","ecosystem":"npm","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":26098985413,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985414,"package_name":"sax","ecosystem":"npm","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":26098985415,"package_name":"set-function-length","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098985416,"package_name":"sha.js","ecosystem":"npm","requirements":"2.4.12","direct":false,"kind":"runtime","optional":false},{"id":26098985417,"package_name":"shebang-command","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985418,"package_name":"shebang-regex","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985419,"package_name":"signal-exit","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985420,"package_name":"simple-concat","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985421,"package_name":"simple-get","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985422,"package_name":"smart-buffer","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985423,"package_name":"socks","ecosystem":"npm","requirements":"2.8.9","direct":false,"kind":"runtime","optional":false},{"id":26098985424,"package_name":"split","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985425,"package_name":"split2","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985426,"package_name":"stream-combiner","ecosystem":"npm","requirements":"0.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098985427,"package_name":"string_decoder","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985428,"package_name":"strip-final-newline","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985429,"package_name":"supports-color","ecosystem":"npm","requirements":"7.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985430,"package_name":"systemctl.js","ecosystem":"npm","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985431,"package_name":"through","ecosystem":"npm","requirements":"2.3.8","direct":false,"kind":"runtime","optional":false},{"id":26098985432,"package_name":"to-buffer","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098985433,"package_name":"tslib","ecosystem":"npm","requirements":"2.8.1","direct":false,"kind":"runtime","optional":false},{"id":26098985434,"package_name":"typed-array-buffer","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985435,"package_name":"typedarray","ecosystem":"npm","requirements":"0.0.6","direct":false,"kind":"runtime","optional":false},{"id":26098985436,"package_name":"undici-types","ecosystem":"npm","requirements":"7.24.6","direct":false,"kind":"runtime","optional":false},{"id":26098985437,"package_name":"unicorn-magic","ecosystem":"npm","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985438,"package_name":"util-deprecate","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985439,"package_name":"wait-port","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985440,"package_name":"which","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985441,"package_name":"which-typed-array","ecosystem":"npm","requirements":"1.1.22","direct":false,"kind":"runtime","optional":false},{"id":26098985442,"package_name":"wordwrap","ecosystem":"npm","requirements":"0.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985443,"package_name":"worker-factory","ecosystem":"npm","requirements":"7.0.50","direct":false,"kind":"runtime","optional":false},{"id":26098985444,"package_name":"worker-timers","ecosystem":"npm","requirements":"8.0.32","direct":false,"kind":"runtime","optional":false},{"id":26098985445,"package_name":"worker-timers-broker","ecosystem":"npm","requirements":"8.0.17","direct":false,"kind":"runtime","optional":false},{"id":26098985446,"package_name":"worker-timers-worker","ecosystem":"npm","requirements":"9.0.15","direct":false,"kind":"runtime","optional":false},{"id":26098985447,"package_name":"wrappy","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985448,"package_name":"ws","ecosystem":"npm","requirements":"8.21.0","direct":false,"kind":"runtime","optional":false},{"id":26098985449,"package_name":"xml2js","ecosystem":"npm","requirements":"0.6.2","direct":false,"kind":"runtime","optional":false},{"id":26098985450,"package_name":"xmlbuilder","ecosystem":"npm","requirements":"11.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985451,"package_name":"yoctocolors","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985452,"package_name":"zod","ecosystem":"npm","requirements":"4.4.3","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"frontend/package.json","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:53.041Z","updated_at":"2026-08-13T19:32:53.041Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/frontend/package.json","dependencies":[{"id":26098985286,"package_name":"@picocss/pico","ecosystem":"npm","requirements":"^2.1.1","direct":true,"kind":"runtime","optional":false},{"id":26098985287,"package_name":"@solid-primitives/pagination","ecosystem":"npm","requirements":"^0.5.0","direct":true,"kind":"runtime","optional":false},{"id":26098985288,"package_name":"@solidjs/router","ecosystem":"npm","requirements":"^0.15.4","direct":true,"kind":"runtime","optional":false},{"id":26098985289,"package_name":"array-shuffle","ecosystem":"npm","requirements":"^4.0.0","direct":true,"kind":"runtime","optional":false},{"id":26098985290,"package_name":"autoprefixer","ecosystem":"npm","requirements":"^10.4.22","direct":true,"kind":"runtime","optional":false},{"id":26098985291,"package_name":"medium-zoom","ecosystem":"npm","requirements":"^1.1.0","direct":true,"kind":"runtime","optional":false},{"id":26098985292,"package_name":"mqtt","ecosystem":"npm","requirements":"^5.14.1","direct":true,"kind":"runtime","optional":false},{"id":26098985293,"package_name":"observable-polyfill","ecosystem":"npm","requirements":"^0.0.29","direct":true,"kind":"runtime","optional":false},{"id":26098985294,"package_name":"postcss","ecosystem":"npm","requirements":"^8.5.6","direct":true,"kind":"runtime","optional":false},{"id":26098985295,"package_name":"solid-js","ecosystem":"npm","requirements":"^1.9.14","direct":true,"kind":"runtime","optional":false},{"id":26098985296,"package_name":"vite","ecosystem":"npm","requirements":"^7.2.6","direct":true,"kind":"runtime","optional":false},{"id":26098985297,"package_name":"vite-plugin-pages","ecosystem":"npm","requirements":"^0.33.1","direct":true,"kind":"runtime","optional":false},{"id":26098985298,"package_name":"vite-plugin-solid","ecosystem":"npm","requirements":"^2.11.10","direct":true,"kind":"runtime","optional":false},{"id":26098985299,"package_name":"vite-plugin-solid-svg","ecosystem":"npm","requirements":"^0.8.1","direct":true,"kind":"runtime","optional":false},{"id":26098985300,"package_name":"zoomist","ecosystem":"npm","requirements":"^2.2.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:55.766Z","updated_at":"2026-08-13T19:32:55.766Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/package.json","dependencies":[{"id":26098986136,"package_name":"@eslint/js","ecosystem":"npm","requirements":"^10.0.1","direct":true,"kind":"development","optional":false},{"id":26098986137,"package_name":"eslint","ecosystem":"npm","requirements":"^10.5.0","direct":true,"kind":"development","optional":false},{"id":26098986138,"package_name":"eslint-plugin-n","ecosystem":"npm","requirements":"^18.2.1","direct":true,"kind":"development","optional":false},{"id":26098986139,"package_name":"eslint-plugin-solid","ecosystem":"npm","requirements":"^0.14.5","direct":true,"kind":"development","optional":false},{"id":26098986140,"package_name":"globals","ecosystem":"npm","requirements":"^17.7.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"documentation/uv.lock","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:56.781Z","updated_at":"2026-08-13T19:32:56.781Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/documentation/uv.lock","dependencies":[{"id":26098986218,"package_name":"babel","ecosystem":"pypi","requirements":"2.17.0","direct":false,"kind":"runtime","optional":false},{"id":26098986219,"package_name":"backrefs","ecosystem":"pypi","requirements":"5.9","direct":false,"kind":"runtime","optional":false},{"id":26098986220,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"4.14.2","direct":false,"kind":"runtime","optional":false},{"id":26098986221,"package_name":"cairocffi","ecosystem":"pypi","requirements":"1.7.1","direct":false,"kind":"runtime","optional":false},{"id":26098986222,"package_name":"cairosvg","ecosystem":"pypi","requirements":"2.9.0","direct":false,"kind":"runtime","optional":false},{"id":26098986223,"package_name":"certifi","ecosystem":"pypi","requirements":"2025.10.5","direct":false,"kind":"runtime","optional":false},{"id":26098986224,"package_name":"cffi","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098986225,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.4","direct":false,"kind":"runtime","optional":false},{"id":26098986226,"package_name":"click","ecosystem":"pypi","requirements":"8.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098986227,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":26098986228,"package_name":"csscompressor","ecosystem":"pypi","requirements":"0.9.5","direct":false,"kind":"runtime","optional":false},{"id":26098986229,"package_name":"cssselect2","ecosystem":"pypi","requirements":"0.8.0","direct":false,"kind":"runtime","optional":false},{"id":26098986230,"package_name":"defusedxml","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":26098986231,"package_name":"dnspython","ecosystem":"pypi","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":26098986232,"package_name":"ghp-import","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986233,"package_name":"gitdb","ecosystem":"pypi","requirements":"4.0.12","direct":false,"kind":"runtime","optional":false},{"id":26098986234,"package_name":"gitpython","ecosystem":"pypi","requirements":"3.1.54","direct":false,"kind":"runtime","optional":false},{"id":26098986235,"package_name":"hjson","ecosystem":"pypi","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986236,"package_name":"htmlmin2","ecosystem":"pypi","requirements":"0.1.13","direct":false,"kind":"runtime","optional":false},{"id":26098986237,"package_name":"idna","ecosystem":"pypi","requirements":"3.15","direct":false,"kind":"runtime","optional":false},{"id":26098986238,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.6","direct":false,"kind":"runtime","optional":false},{"id":26098986239,"package_name":"jsmin","ecosystem":"pypi","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098986240,"package_name":"linkchecker","ecosystem":"pypi","requirements":"10.6.0","direct":false,"kind":"runtime","optional":false},{"id":26098986241,"package_name":"markdown","ecosystem":"pypi","requirements":"3.9","direct":false,"kind":"runtime","optional":false},{"id":26098986242,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098986243,"package_name":"mergedeep","ecosystem":"pypi","requirements":"1.3.4","direct":false,"kind":"runtime","optional":false},{"id":26098986244,"package_name":"mkdocs","ecosystem":"pypi","requirements":"1.6.1","direct":false,"kind":"runtime","optional":false},{"id":26098986245,"package_name":"mkdocs-charts-plugin","ecosystem":"pypi","requirements":"0.0.13","direct":false,"kind":"runtime","optional":false},{"id":26098986246,"package_name":"mkdocs-get-deps","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098986247,"package_name":"mkdocs-git-revision-date-localized-plugin","ecosystem":"pypi","requirements":"1.4.7","direct":false,"kind":"runtime","optional":false},{"id":26098986248,"package_name":"mkdocs-glightbox","ecosystem":"pypi","requirements":"0.5.2","direct":false,"kind":"runtime","optional":false},{"id":26098986249,"package_name":"mkdocs-macros-plugin","ecosystem":"pypi","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":26098986250,"package_name":"mkdocs-markdownextradata-plugin","ecosystem":"pypi","requirements":"0.2.6","direct":false,"kind":"runtime","optional":false},{"id":26098986251,"package_name":"mkdocs-material","ecosystem":"pypi","requirements":"9.7.7","direct":false,"kind":"runtime","optional":false},{"id":26098986252,"package_name":"mkdocs-material-extensions","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":26098986253,"package_name":"mkdocs-minify-plugin","ecosystem":"pypi","requirements":"0.8.0","direct":false,"kind":"runtime","optional":false},{"id":26098986254,"package_name":"mkdocs-redirects","ecosystem":"pypi","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098986255,"package_name":"packaging","ecosystem":"pypi","requirements":"25.0","direct":false,"kind":"runtime","optional":false},{"id":26098986256,"package_name":"paginate","ecosystem":"pypi","requirements":"0.5.7","direct":false,"kind":"runtime","optional":false},{"id":26098986257,"package_name":"pastel","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098986258,"package_name":"pathspec","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":26098986259,"package_name":"pillow","ecosystem":"pypi","requirements":"12.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098986260,"package_name":"planktoscope-docs","ecosystem":"pypi","requirements":"0.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098986261,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.5.0","direct":false,"kind":"runtime","optional":false},{"id":26098986262,"package_name":"poethepoet","ecosystem":"pypi","requirements":"0.37.0","direct":false,"kind":"runtime","optional":false},{"id":26098986263,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.23","direct":false,"kind":"runtime","optional":false},{"id":26098986264,"package_name":"pygments","ecosystem":"pypi","requirements":"2.19.2","direct":false,"kind":"runtime","optional":false},{"id":26098986265,"package_name":"pymdown-extensions","ecosystem":"pypi","requirements":"11.0","direct":false,"kind":"runtime","optional":false},{"id":26098986266,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":26098986267,"package_name":"pytz","ecosystem":"pypi","requirements":"2025.2","direct":false,"kind":"runtime","optional":false},{"id":26098986268,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098986269,"package_name":"pyyaml-env-tag","ecosystem":"pypi","requirements":"1.1","direct":false,"kind":"runtime","optional":false},{"id":26098986270,"package_name":"requests","ecosystem":"pypi","requirements":"2.32.5","direct":false,"kind":"runtime","optional":false},{"id":26098986271,"package_name":"selectolax","ecosystem":"pypi","requirements":"0.4.0","direct":false,"kind":"runtime","optional":false},{"id":26098986272,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":26098986273,"package_name":"smmap","ecosystem":"pypi","requirements":"5.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098986274,"package_name":"soupsieve","ecosystem":"pypi","requirements":"2.8.4","direct":false,"kind":"runtime","optional":false},{"id":26098986275,"package_name":"super-collections","ecosystem":"pypi","requirements":"0.6.2","direct":false,"kind":"runtime","optional":false},{"id":26098986276,"package_name":"termcolor","ecosystem":"pypi","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098986277,"package_name":"tinycss2","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":26098986278,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.15.0","direct":false,"kind":"runtime","optional":false},{"id":26098986279,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.7.0","direct":false,"kind":"runtime","optional":false},{"id":26098986280,"package_name":"watchdog","ecosystem":"pypi","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098986281,"package_name":"webencodings","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"segmenter/uv.lock","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:56.990Z","updated_at":"2026-08-13T19:32:56.990Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/segmenter/uv.lock","dependencies":[{"id":26098986288,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":26098986289,"package_name":"imageio","ecosystem":"pypi","requirements":"2.37.0","direct":false,"kind":"runtime","optional":false},{"id":26098986290,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098986291,"package_name":"lazy-loader","ecosystem":"pypi","requirements":"0.4","direct":false,"kind":"runtime","optional":false},{"id":26098986292,"package_name":"loguru","ecosystem":"pypi","requirements":"0.7.3","direct":false,"kind":"runtime","optional":false},{"id":26098986293,"package_name":"mypy","ecosystem":"pypi","requirements":"1.18.2","direct":false,"kind":"runtime","optional":false},{"id":26098986294,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986295,"package_name":"networkx","ecosystem":"pypi","requirements":"3.5","direct":false,"kind":"runtime","optional":false},{"id":26098986296,"package_name":"numpy","ecosystem":"pypi","requirements":"2.3.4","direct":false,"kind":"runtime","optional":false},{"id":26098986297,"package_name":"opencv-python-headless","ecosystem":"pypi","requirements":"4.11.0.86","direct":false,"kind":"runtime","optional":false},{"id":26098986298,"package_name":"packaging","ecosystem":"pypi","requirements":"25.0","direct":false,"kind":"runtime","optional":false},{"id":26098986299,"package_name":"paho-mqtt","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986300,"package_name":"pandas","ecosystem":"pypi","requirements":"2.3.3","direct":false,"kind":"runtime","optional":false},{"id":26098986301,"package_name":"pastel","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098986302,"package_name":"pathspec","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":26098986303,"package_name":"pillow","ecosystem":"pypi","requirements":"12.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098986304,"package_name":"planktoscope-segmenter","ecosystem":"pypi","requirements":"0.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098986305,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":26098986306,"package_name":"poethepoet","ecosystem":"pypi","requirements":"0.37.0","direct":false,"kind":"runtime","optional":false},{"id":26098986307,"package_name":"pygments","ecosystem":"pypi","requirements":"2.20.0","direct":false,"kind":"runtime","optional":false},{"id":26098986308,"package_name":"pytest","ecosystem":"pypi","requirements":"9.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098986309,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":26098986310,"package_name":"pytz","ecosystem":"pypi","requirements":"2025.2","direct":false,"kind":"runtime","optional":false},{"id":26098986311,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098986312,"package_name":"ruff","ecosystem":"pypi","requirements":"0.13.3","direct":false,"kind":"runtime","optional":false},{"id":26098986313,"package_name":"scikit-image","ecosystem":"pypi","requirements":"0.25.2","direct":false,"kind":"runtime","optional":false},{"id":26098986314,"package_name":"scipy","ecosystem":"pypi","requirements":"1.16.2","direct":false,"kind":"runtime","optional":false},{"id":26098986315,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":26098986316,"package_name":"tifffile","ecosystem":"pypi","requirements":"2025.10.16","direct":false,"kind":"runtime","optional":false},{"id":26098986317,"package_name":"types-paho-mqtt","ecosystem":"pypi","requirements":"1.6.0.20240321","direct":false,"kind":"runtime","optional":false},{"id":26098986318,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.15.0","direct":false,"kind":"runtime","optional":false},{"id":26098986319,"package_name":"tzdata","ecosystem":"pypi","requirements":"2025.2","direct":false,"kind":"runtime","optional":false},{"id":26098986320,"package_name":"win32-setctime","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release-channel-documentation-stable.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:52.262Z","updated_at":"2026-08-13T19:32:52.262Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/release-channel-documentation-stable.yml","dependencies":[{"id":26098984967,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984968,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"v1.0.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"npm","filepath":"backend/package.json","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:52.703Z","updated_at":"2026-08-13T19:32:52.703Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/backend/package.json","dependencies":[{"id":26098985060,"package_name":"cors","ecosystem":"npm","requirements":"^2.8.5","direct":true,"kind":"runtime","optional":false},{"id":26098985061,"package_name":"express","ecosystem":"npm","requirements":"^5.1.0","direct":true,"kind":"runtime","optional":false},{"id":26098985062,"package_name":"multer","ecosystem":"npm","requirements":"^2.1.1","direct":true,"kind":"runtime","optional":false},{"id":26098985063,"package_name":"zod","ecosystem":"npm","requirements":"^4.1.12","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"os/rauc/package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:55.487Z","updated_at":"2026-08-13T19:32:55.487Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/os/rauc/package-lock.json","dependencies":[{"id":26098986033,"package_name":"ini","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"os/rauc/package.json","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:55.570Z","updated_at":"2026-08-13T19:32:55.570Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/os/rauc/package.json","dependencies":[{"id":26098986034,"package_name":"ini","ecosystem":"npm","requirements":"^6.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:55.653Z","updated_at":"2026-08-13T19:32:55.653Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/package-lock.json","dependencies":[{"id":26098986035,"package_name":"@eslint-community/eslint-utils","ecosystem":"npm","requirements":"4.9.1","direct":false,"kind":"development","optional":false},{"id":26098986036,"package_name":"eslint-visitor-keys","ecosystem":"npm","requirements":"3.4.3","direct":false,"kind":"development","optional":false},{"id":26098986037,"package_name":"@eslint-community/regexpp","ecosystem":"npm","requirements":"4.12.2","direct":false,"kind":"development","optional":false},{"id":26098986038,"package_name":"@eslint/config-array","ecosystem":"npm","requirements":"0.23.5","direct":false,"kind":"development","optional":false},{"id":26098986039,"package_name":"@eslint/config-helpers","ecosystem":"npm","requirements":"0.6.0","direct":false,"kind":"development","optional":false},{"id":26098986040,"package_name":"@eslint/core","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":26098986041,"package_name":"@eslint/js","ecosystem":"npm","requirements":"10.0.1","direct":false,"kind":"development","optional":false},{"id":26098986042,"package_name":"@eslint/object-schema","ecosystem":"npm","requirements":"3.0.5","direct":false,"kind":"development","optional":false},{"id":26098986043,"package_name":"@eslint/plugin-kit","ecosystem":"npm","requirements":"0.7.2","direct":false,"kind":"development","optional":false},{"id":26098986044,"package_name":"@humanfs/core","ecosystem":"npm","requirements":"0.19.2","direct":false,"kind":"development","optional":false},{"id":26098986045,"package_name":"@humanfs/node","ecosystem":"npm","requirements":"0.16.8","direct":false,"kind":"development","optional":false},{"id":26098986046,"package_name":"@humanfs/types","ecosystem":"npm","requirements":"0.15.0","direct":false,"kind":"development","optional":false},{"id":26098986047,"package_name":"@humanwhocodes/module-importer","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":26098986048,"package_name":"@humanwhocodes/retry","ecosystem":"npm","requirements":"0.4.3","direct":false,"kind":"development","optional":false},{"id":26098986049,"package_name":"@types/esrecurse","ecosystem":"npm","requirements":"4.3.1","direct":false,"kind":"development","optional":false},{"id":26098986050,"package_name":"@types/estree","ecosystem":"npm","requirements":"1.0.9","direct":false,"kind":"development","optional":false},{"id":26098986051,"package_name":"@types/json-schema","ecosystem":"npm","requirements":"7.0.15","direct":false,"kind":"development","optional":false},{"id":26098986052,"package_name":"@typescript-eslint/project-service","ecosystem":"npm","requirements":"8.61.1","direct":false,"kind":"development","optional":false},{"id":26098986053,"package_name":"@typescript-eslint/scope-manager","ecosystem":"npm","requirements":"8.61.1","direct":false,"kind":"development","optional":false},{"id":26098986054,"package_name":"@typescript-eslint/tsconfig-utils","ecosystem":"npm","requirements":"8.61.1","direct":false,"kind":"development","optional":false},{"id":26098986055,"package_name":"@typescript-eslint/types","ecosystem":"npm","requirements":"8.61.1","direct":false,"kind":"development","optional":false},{"id":26098986056,"package_name":"@typescript-eslint/typescript-estree","ecosystem":"npm","requirements":"8.61.1","direct":false,"kind":"development","optional":false},{"id":26098986057,"package_name":"@typescript-eslint/utils","ecosystem":"npm","requirements":"8.61.1","direct":false,"kind":"development","optional":false},{"id":26098986058,"package_name":"@typescript-eslint/visitor-keys","ecosystem":"npm","requirements":"8.61.1","direct":false,"kind":"development","optional":false},{"id":26098986059,"package_name":"acorn","ecosystem":"npm","requirements":"8.17.0","direct":false,"kind":"development","optional":false},{"id":26098986060,"package_name":"acorn-jsx","ecosystem":"npm","requirements":"5.3.2","direct":false,"kind":"development","optional":false},{"id":26098986061,"package_name":"ajv","ecosystem":"npm","requirements":"6.15.0","direct":false,"kind":"development","optional":false},{"id":26098986062,"package_name":"balanced-match","ecosystem":"npm","requirements":"4.0.4","direct":false,"kind":"development","optional":false},{"id":26098986063,"package_name":"brace-expansion","ecosystem":"npm","requirements":"5.0.7","direct":false,"kind":"development","optional":false},{"id":26098986064,"package_name":"cross-spawn","ecosystem":"npm","requirements":"7.0.6","direct":false,"kind":"development","optional":false},{"id":26098986065,"package_name":"debug","ecosystem":"npm","requirements":"4.4.3","direct":false,"kind":"development","optional":false},{"id":26098986066,"package_name":"deep-is","ecosystem":"npm","requirements":"0.1.4","direct":false,"kind":"development","optional":false},{"id":26098986067,"package_name":"enhanced-resolve","ecosystem":"npm","requirements":"5.24.0","direct":false,"kind":"development","optional":false},{"id":26098986068,"package_name":"escape-string-regexp","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098986069,"package_name":"eslint","ecosystem":"npm","requirements":"10.5.0","direct":false,"kind":"development","optional":false},{"id":26098986070,"package_name":"eslint-compat-utils","ecosystem":"npm","requirements":"0.5.1","direct":false,"kind":"development","optional":false},{"id":26098986071,"package_name":"eslint-plugin-es-x","ecosystem":"npm","requirements":"7.8.0","direct":false,"kind":"development","optional":false},{"id":26098986072,"package_name":"eslint-plugin-n","ecosystem":"npm","requirements":"18.2.1","direct":false,"kind":"development","optional":false},{"id":26098986073,"package_name":"globals","ecosystem":"npm","requirements":"15.15.0","direct":false,"kind":"development","optional":false},{"id":26098986074,"package_name":"eslint-plugin-solid","ecosystem":"npm","requirements":"0.14.5","direct":false,"kind":"development","optional":false},{"id":26098986075,"package_name":"eslint-scope","ecosystem":"npm","requirements":"9.1.2","direct":false,"kind":"development","optional":false},{"id":26098986076,"package_name":"eslint-visitor-keys","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098986077,"package_name":"espree","ecosystem":"npm","requirements":"11.2.0","direct":false,"kind":"development","optional":false},{"id":26098986078,"package_name":"esquery","ecosystem":"npm","requirements":"1.7.0","direct":false,"kind":"development","optional":false},{"id":26098986079,"package_name":"esrecurse","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":26098986080,"package_name":"estraverse","ecosystem":"npm","requirements":"5.3.0","direct":false,"kind":"development","optional":false},{"id":26098986081,"package_name":"esutils","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"development","optional":false},{"id":26098986082,"package_name":"fast-deep-equal","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"development","optional":false},{"id":26098986083,"package_name":"fast-json-stable-stringify","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":26098986084,"package_name":"fast-levenshtein","ecosystem":"npm","requirements":"2.0.6","direct":false,"kind":"development","optional":false},{"id":26098986085,"package_name":"fdir","ecosystem":"npm","requirements":"6.5.0","direct":false,"kind":"development","optional":false},{"id":26098986086,"package_name":"file-entry-cache","ecosystem":"npm","requirements":"8.0.0","direct":false,"kind":"development","optional":false},{"id":26098986087,"package_name":"find-up","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098986088,"package_name":"flat-cache","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":26098986089,"package_name":"flatted","ecosystem":"npm","requirements":"3.4.2","direct":false,"kind":"development","optional":false},{"id":26098986090,"package_name":"get-tsconfig","ecosystem":"npm","requirements":"4.14.0","direct":false,"kind":"development","optional":false},{"id":26098986091,"package_name":"glob-parent","ecosystem":"npm","requirements":"6.0.2","direct":false,"kind":"development","optional":false},{"id":26098986092,"package_name":"globals","ecosystem":"npm","requirements":"17.7.0","direct":false,"kind":"development","optional":false},{"id":26098986093,"package_name":"globrex","ecosystem":"npm","requirements":"0.1.2","direct":false,"kind":"development","optional":false},{"id":26098986094,"package_name":"graceful-fs","ecosystem":"npm","requirements":"4.2.11","direct":false,"kind":"development","optional":false},{"id":26098986095,"package_name":"html-tags","ecosystem":"npm","requirements":"3.3.1","direct":false,"kind":"development","optional":false},{"id":26098986096,"package_name":"ignore","ecosystem":"npm","requirements":"5.3.2","direct":false,"kind":"development","optional":false},{"id":26098986097,"package_name":"imurmurhash","ecosystem":"npm","requirements":"0.1.4","direct":false,"kind":"development","optional":false},{"id":26098986098,"package_name":"inline-style-parser","ecosystem":"npm","requirements":"0.2.7","direct":false,"kind":"development","optional":false},{"id":26098986099,"package_name":"is-extglob","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":26098986100,"package_name":"is-glob","ecosystem":"npm","requirements":"4.0.3","direct":false,"kind":"development","optional":false},{"id":26098986101,"package_name":"is-html","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098986102,"package_name":"isexe","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098986103,"package_name":"json-buffer","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":26098986104,"package_name":"json-schema-traverse","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"development","optional":false},{"id":26098986105,"package_name":"json-stable-stringify-without-jsonify","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":26098986106,"package_name":"kebab-case","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":26098986107,"package_name":"keyv","ecosystem":"npm","requirements":"4.5.4","direct":false,"kind":"development","optional":false},{"id":26098986108,"package_name":"known-css-properties","ecosystem":"npm","requirements":"0.30.0","direct":false,"kind":"development","optional":false},{"id":26098986109,"package_name":"levn","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"development","optional":false},{"id":26098986110,"package_name":"locate-path","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":26098986111,"package_name":"minimatch","ecosystem":"npm","requirements":"10.2.5","direct":false,"kind":"development","optional":false},{"id":26098986112,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"development","optional":false},{"id":26098986113,"package_name":"natural-compare","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":26098986114,"package_name":"optionator","ecosystem":"npm","requirements":"0.9.4","direct":false,"kind":"development","optional":false},{"id":26098986115,"package_name":"p-limit","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":26098986116,"package_name":"p-locate","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098986117,"package_name":"path-exists","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098986118,"package_name":"path-key","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"development","optional":false},{"id":26098986119,"package_name":"picomatch","ecosystem":"npm","requirements":"4.0.4","direct":false,"kind":"development","optional":false},{"id":26098986120,"package_name":"prelude-ls","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":26098986121,"package_name":"punycode","ecosystem":"npm","requirements":"2.3.1","direct":false,"kind":"development","optional":false},{"id":26098986122,"package_name":"resolve-pkg-maps","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26098986123,"package_name":"semver","ecosystem":"npm","requirements":"7.8.4","direct":false,"kind":"development","optional":false},{"id":26098986124,"package_name":"shebang-command","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098986125,"package_name":"shebang-regex","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098986126,"package_name":"style-to-object","ecosystem":"npm","requirements":"1.0.14","direct":false,"kind":"development","optional":false},{"id":26098986127,"package_name":"tapable","ecosystem":"npm","requirements":"2.3.3","direct":false,"kind":"development","optional":false},{"id":26098986128,"package_name":"tinyglobby","ecosystem":"npm","requirements":"0.2.17","direct":false,"kind":"development","optional":false},{"id":26098986129,"package_name":"ts-api-utils","ecosystem":"npm","requirements":"2.5.0","direct":false,"kind":"development","optional":false},{"id":26098986130,"package_name":"type-check","ecosystem":"npm","requirements":"0.4.0","direct":false,"kind":"development","optional":false},{"id":26098986131,"package_name":"typescript","ecosystem":"npm","requirements":"6.0.3","direct":false,"kind":"development","optional":false},{"id":26098986132,"package_name":"uri-js","ecosystem":"npm","requirements":"4.4.1","direct":false,"kind":"development","optional":false},{"id":26098986133,"package_name":"which","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"development","optional":false},{"id":26098986134,"package_name":"word-wrap","ecosystem":"npm","requirements":"1.2.5","direct":false,"kind":"development","optional":false},{"id":26098986135,"package_name":"yocto-queue","ecosystem":"npm","requirements":"0.1.0","direct":false,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build-os.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:51.485Z","updated_at":"2026-08-13T19:32:51.485Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/build-os.yml","dependencies":[{"id":26098984947,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984948,"package_name":"ethanjli/cached-download-action","ecosystem":"actions","requirements":"v0.1.3","direct":true,"kind":"composite","optional":false},{"id":26098984949,"package_name":"ethanjli/pigrow-action","ecosystem":"actions","requirements":"v0.1.1","direct":true,"kind":"composite","optional":false},{"id":26098984950,"package_name":"ethanjli/pinspawn-action","ecosystem":"actions","requirements":"v0.1.5","direct":true,"kind":"composite","optional":false},{"id":26098984951,"package_name":"ethanjli/pishrink-action","ecosystem":"actions","requirements":"v0.1.4","direct":true,"kind":"composite","optional":false},{"id":26098984952,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:51.692Z","updated_at":"2026-08-13T19:32:51.692Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/ci.yml","dependencies":[{"id":26098984955,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release-channel-beta.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:52.059Z","updated_at":"2026-08-13T19:32:52.059Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/release-channel-beta.yml","dependencies":[{"id":26098984962,"package_name":"lewagon/wait-on-check-action","ecosystem":"actions","requirements":"v1.4.1","direct":true,"kind":"composite","optional":false},{"id":26098984963,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984964,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"v1.0.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"npm","filepath":"frontend/package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:52.789Z","updated_at":"2026-08-13T19:32:52.789Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/frontend/package-lock.json","dependencies":[{"id":26098985064,"package_name":"@babel/code-frame","ecosystem":"npm","requirements":"7.27.1","direct":false,"kind":"runtime","optional":false},{"id":26098985065,"package_name":"@babel/compat-data","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985066,"package_name":"@babel/core","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985067,"package_name":"semver","ecosystem":"npm","requirements":"6.3.1","direct":false,"kind":"runtime","optional":false},{"id":26098985068,"package_name":"@babel/generator","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985069,"package_name":"@babel/helper-compilation-targets","ecosystem":"npm","requirements":"7.27.2","direct":false,"kind":"runtime","optional":false},{"id":26098985070,"package_name":"lru-cache","ecosystem":"npm","requirements":"5.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985071,"package_name":"@babel/helper-globals","ecosystem":"npm","requirements":"7.28.0","direct":false,"kind":"runtime","optional":false},{"id":26098985072,"package_name":"@babel/helper-module-imports","ecosystem":"npm","requirements":"7.27.1","direct":false,"kind":"runtime","optional":false},{"id":26098985073,"package_name":"@babel/helper-module-transforms","ecosystem":"npm","requirements":"7.28.3","direct":false,"kind":"runtime","optional":false},{"id":26098985074,"package_name":"@babel/helper-plugin-utils","ecosystem":"npm","requirements":"7.27.1","direct":false,"kind":"runtime","optional":false},{"id":26098985075,"package_name":"@babel/helper-string-parser","ecosystem":"npm","requirements":"7.27.1","direct":false,"kind":"runtime","optional":false},{"id":26098985076,"package_name":"@babel/helper-validator-identifier","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985077,"package_name":"@babel/helper-validator-option","ecosystem":"npm","requirements":"7.27.1","direct":false,"kind":"runtime","optional":false},{"id":26098985078,"package_name":"@babel/helpers","ecosystem":"npm","requirements":"7.28.4","direct":false,"kind":"runtime","optional":false},{"id":26098985079,"package_name":"@babel/parser","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985080,"package_name":"@babel/plugin-syntax-jsx","ecosystem":"npm","requirements":"7.27.1","direct":false,"kind":"runtime","optional":false},{"id":26098985081,"package_name":"@babel/runtime","ecosystem":"npm","requirements":"7.28.4","direct":false,"kind":"runtime","optional":false},{"id":26098985082,"package_name":"@babel/template","ecosystem":"npm","requirements":"7.27.2","direct":false,"kind":"runtime","optional":false},{"id":26098985083,"package_name":"@babel/traverse","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985084,"package_name":"@babel/types","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985085,"package_name":"@esbuild/aix-ppc64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985086,"package_name":"@esbuild/android-arm","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985087,"package_name":"@esbuild/android-arm64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985088,"package_name":"@esbuild/android-x64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985089,"package_name":"@esbuild/darwin-arm64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985090,"package_name":"@esbuild/darwin-x64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985091,"package_name":"@esbuild/freebsd-arm64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985092,"package_name":"@esbuild/freebsd-x64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985093,"package_name":"@esbuild/linux-arm","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985094,"package_name":"@esbuild/linux-arm64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985095,"package_name":"@esbuild/linux-ia32","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985096,"package_name":"@esbuild/linux-loong64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985097,"package_name":"@esbuild/linux-mips64el","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985098,"package_name":"@esbuild/linux-ppc64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985099,"package_name":"@esbuild/linux-riscv64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985100,"package_name":"@esbuild/linux-s390x","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985101,"package_name":"@esbuild/linux-x64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985102,"package_name":"@esbuild/netbsd-arm64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985103,"package_name":"@esbuild/netbsd-x64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985104,"package_name":"@esbuild/openbsd-arm64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985105,"package_name":"@esbuild/openbsd-x64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985106,"package_name":"@esbuild/openharmony-arm64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985107,"package_name":"@esbuild/sunos-x64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985108,"package_name":"@esbuild/win32-arm64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985109,"package_name":"@esbuild/win32-ia32","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985110,"package_name":"@esbuild/win32-x64","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985111,"package_name":"@jridgewell/gen-mapping","ecosystem":"npm","requirements":"0.3.13","direct":false,"kind":"runtime","optional":false},{"id":26098985112,"package_name":"@jridgewell/remapping","ecosystem":"npm","requirements":"2.3.5","direct":false,"kind":"runtime","optional":false},{"id":26098985113,"package_name":"@jridgewell/resolve-uri","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985114,"package_name":"@jridgewell/sourcemap-codec","ecosystem":"npm","requirements":"1.5.5","direct":false,"kind":"runtime","optional":false},{"id":26098985115,"package_name":"@jridgewell/trace-mapping","ecosystem":"npm","requirements":"0.3.31","direct":false,"kind":"runtime","optional":false},{"id":26098985116,"package_name":"@picocss/pico","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985117,"package_name":"@rollup/rollup-android-arm-eabi","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985118,"package_name":"@rollup/rollup-android-arm64","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985119,"package_name":"@rollup/rollup-darwin-arm64","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985120,"package_name":"@rollup/rollup-darwin-x64","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985121,"package_name":"@rollup/rollup-freebsd-arm64","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985122,"package_name":"@rollup/rollup-freebsd-x64","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985123,"package_name":"@rollup/rollup-linux-arm-gnueabihf","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985124,"package_name":"@rollup/rollup-linux-arm-musleabihf","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985125,"package_name":"@rollup/rollup-linux-arm64-gnu","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985126,"package_name":"@rollup/rollup-linux-arm64-musl","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985127,"package_name":"@rollup/rollup-linux-loong64-gnu","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985128,"package_name":"@rollup/rollup-linux-loong64-musl","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985129,"package_name":"@rollup/rollup-linux-ppc64-gnu","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985130,"package_name":"@rollup/rollup-linux-ppc64-musl","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985131,"package_name":"@rollup/rollup-linux-riscv64-gnu","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985132,"package_name":"@rollup/rollup-linux-riscv64-musl","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985133,"package_name":"@rollup/rollup-linux-s390x-gnu","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985134,"package_name":"@rollup/rollup-linux-x64-gnu","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985135,"package_name":"@rollup/rollup-linux-x64-musl","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985136,"package_name":"@rollup/rollup-openbsd-x64","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985137,"package_name":"@rollup/rollup-openharmony-arm64","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985138,"package_name":"@rollup/rollup-win32-arm64-msvc","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985139,"package_name":"@rollup/rollup-win32-ia32-msvc","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985140,"package_name":"@rollup/rollup-win32-x64-gnu","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985141,"package_name":"@rollup/rollup-win32-x64-msvc","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985142,"package_name":"@solid-primitives/pagination","ecosystem":"npm","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":26098985143,"package_name":"@solid-primitives/utils","ecosystem":"npm","requirements":"6.3.2","direct":false,"kind":"runtime","optional":false},{"id":26098985144,"package_name":"@solidjs/router","ecosystem":"npm","requirements":"0.15.4","direct":false,"kind":"runtime","optional":false},{"id":26098985145,"package_name":"@trysound/sax","ecosystem":"npm","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985146,"package_name":"@types/babel__core","ecosystem":"npm","requirements":"7.20.5","direct":false,"kind":"runtime","optional":false},{"id":26098985147,"package_name":"@types/babel__generator","ecosystem":"npm","requirements":"7.27.0","direct":false,"kind":"runtime","optional":false},{"id":26098985148,"package_name":"@types/babel__template","ecosystem":"npm","requirements":"7.4.4","direct":false,"kind":"runtime","optional":false},{"id":26098985149,"package_name":"@types/babel__traverse","ecosystem":"npm","requirements":"7.28.0","direct":false,"kind":"runtime","optional":false},{"id":26098985150,"package_name":"@types/debug","ecosystem":"npm","requirements":"4.1.12","direct":false,"kind":"runtime","optional":false},{"id":26098985151,"package_name":"@types/estree","ecosystem":"npm","requirements":"1.0.9","direct":false,"kind":"runtime","optional":false},{"id":26098985152,"package_name":"@types/ms","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985153,"package_name":"@types/node","ecosystem":"npm","requirements":"24.10.1","direct":false,"kind":"runtime","optional":false},{"id":26098985154,"package_name":"@types/readable-stream","ecosystem":"npm","requirements":"4.0.22","direct":false,"kind":"runtime","optional":false},{"id":26098985155,"package_name":"@types/ws","ecosystem":"npm","requirements":"8.18.1","direct":false,"kind":"runtime","optional":false},{"id":26098985156,"package_name":"abort-controller","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985157,"package_name":"acorn","ecosystem":"npm","requirements":"8.15.0","direct":false,"kind":"runtime","optional":false},{"id":26098985158,"package_name":"array-shuffle","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985159,"package_name":"autoprefixer","ecosystem":"npm","requirements":"10.4.22","direct":false,"kind":"runtime","optional":false},{"id":26098985160,"package_name":"babel-plugin-jsx-dom-expressions","ecosystem":"npm","requirements":"0.40.3","direct":false,"kind":"runtime","optional":false},{"id":26098985161,"package_name":"@babel/helper-module-imports","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"runtime","optional":false},{"id":26098985162,"package_name":"babel-preset-solid","ecosystem":"npm","requirements":"1.9.10","direct":false,"kind":"runtime","optional":false},{"id":26098985163,"package_name":"base64-js","ecosystem":"npm","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":26098985164,"package_name":"baseline-browser-mapping","ecosystem":"npm","requirements":"2.8.32","direct":false,"kind":"runtime","optional":false},{"id":26098985165,"package_name":"bl","ecosystem":"npm","requirements":"6.1.5","direct":false,"kind":"runtime","optional":false},{"id":26098985166,"package_name":"boolbase","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985167,"package_name":"braces","ecosystem":"npm","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985168,"package_name":"broker-factory","ecosystem":"npm","requirements":"3.1.10","direct":false,"kind":"runtime","optional":false},{"id":26098985169,"package_name":"browserslist","ecosystem":"npm","requirements":"4.28.0","direct":false,"kind":"runtime","optional":false},{"id":26098985170,"package_name":"buffer","ecosystem":"npm","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985171,"package_name":"buffer-from","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985172,"package_name":"caniuse-lite","ecosystem":"npm","requirements":"1.0.30001759","direct":false,"kind":"runtime","optional":false},{"id":26098985173,"package_name":"commander","ecosystem":"npm","requirements":"7.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985174,"package_name":"commist","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985175,"package_name":"concat-stream","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985176,"package_name":"readable-stream","ecosystem":"npm","requirements":"3.6.2","direct":false,"kind":"runtime","optional":false},{"id":26098985177,"package_name":"confbox","ecosystem":"npm","requirements":"0.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098985178,"package_name":"convert-source-map","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985179,"package_name":"css-select","ecosystem":"npm","requirements":"5.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098985180,"package_name":"css-tree","ecosystem":"npm","requirements":"2.3.1","direct":false,"kind":"runtime","optional":false},{"id":26098985181,"package_name":"css-what","ecosystem":"npm","requirements":"6.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098985182,"package_name":"csso","ecosystem":"npm","requirements":"5.0.5","direct":false,"kind":"runtime","optional":false},{"id":26098985183,"package_name":"css-tree","ecosystem":"npm","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985184,"package_name":"mdn-data","ecosystem":"npm","requirements":"2.0.28","direct":false,"kind":"runtime","optional":false},{"id":26098985185,"package_name":"csstype","ecosystem":"npm","requirements":"3.2.3","direct":false,"kind":"runtime","optional":false},{"id":26098985186,"package_name":"debug","ecosystem":"npm","requirements":"4.4.3","direct":false,"kind":"runtime","optional":false},{"id":26098985187,"package_name":"dequal","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985188,"package_name":"dom-serializer","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985189,"package_name":"entities","ecosystem":"npm","requirements":"4.5.0","direct":false,"kind":"runtime","optional":false},{"id":26098985190,"package_name":"domelementtype","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985191,"package_name":"domhandler","ecosystem":"npm","requirements":"5.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985192,"package_name":"domutils","ecosystem":"npm","requirements":"3.2.2","direct":false,"kind":"runtime","optional":false},{"id":26098985193,"package_name":"electron-to-chromium","ecosystem":"npm","requirements":"1.5.263","direct":false,"kind":"runtime","optional":false},{"id":26098985194,"package_name":"entities","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985195,"package_name":"esbuild","ecosystem":"npm","requirements":"0.25.12","direct":false,"kind":"runtime","optional":false},{"id":26098985196,"package_name":"escalade","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985197,"package_name":"esprima","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985198,"package_name":"esprima-extract-comments","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985199,"package_name":"event-target-shim","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985200,"package_name":"events","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985201,"package_name":"exsolve","ecosystem":"npm","requirements":"1.0.8","direct":false,"kind":"runtime","optional":false},{"id":26098985202,"package_name":"extract-comments","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985203,"package_name":"fast-unique-numbers","ecosystem":"npm","requirements":"9.0.24","direct":false,"kind":"runtime","optional":false},{"id":26098985204,"package_name":"fdir","ecosystem":"npm","requirements":"6.5.0","direct":false,"kind":"runtime","optional":false},{"id":26098985205,"package_name":"fill-range","ecosystem":"npm","requirements":"7.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985206,"package_name":"fraction.js","ecosystem":"npm","requirements":"5.3.4","direct":false,"kind":"runtime","optional":false},{"id":26098985207,"package_name":"fsevents","ecosystem":"npm","requirements":"2.3.3","direct":false,"kind":"runtime","optional":false},{"id":26098985208,"package_name":"gensync","ecosystem":"npm","requirements":"1.0.0-beta.2","direct":false,"kind":"runtime","optional":false},{"id":26098985209,"package_name":"help-me","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985210,"package_name":"html-entities","ecosystem":"npm","requirements":"2.3.3","direct":false,"kind":"runtime","optional":false},{"id":26098985211,"package_name":"ieee754","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985212,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985213,"package_name":"ip-address","ecosystem":"npm","requirements":"10.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985214,"package_name":"is-number","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985215,"package_name":"is-what","ecosystem":"npm","requirements":"4.1.16","direct":false,"kind":"runtime","optional":false},{"id":26098985216,"package_name":"js-sdsl","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985217,"package_name":"js-tokens","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985218,"package_name":"jsesc","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985219,"package_name":"json5","ecosystem":"npm","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":26098985220,"package_name":"local-pkg","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985221,"package_name":"lru-cache","ecosystem":"npm","requirements":"10.4.3","direct":false,"kind":"runtime","optional":false},{"id":26098985222,"package_name":"mdn-data","ecosystem":"npm","requirements":"2.0.30","direct":false,"kind":"runtime","optional":false},{"id":26098985223,"package_name":"medium-zoom","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985224,"package_name":"merge-anything","ecosystem":"npm","requirements":"5.1.7","direct":false,"kind":"runtime","optional":false},{"id":26098985225,"package_name":"micromatch","ecosystem":"npm","requirements":"4.0.8","direct":false,"kind":"runtime","optional":false},{"id":26098985226,"package_name":"picomatch","ecosystem":"npm","requirements":"2.3.1","direct":false,"kind":"runtime","optional":false},{"id":26098985227,"package_name":"minimist","ecosystem":"npm","requirements":"1.2.8","direct":false,"kind":"runtime","optional":false},{"id":26098985228,"package_name":"mlly","ecosystem":"npm","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":26098985229,"package_name":"confbox","ecosystem":"npm","requirements":"0.1.8","direct":false,"kind":"runtime","optional":false},{"id":26098985230,"package_name":"pkg-types","ecosystem":"npm","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":26098985231,"package_name":"mqtt","ecosystem":"npm","requirements":"5.14.1","direct":false,"kind":"runtime","optional":false},{"id":26098985232,"package_name":"mqtt-packet","ecosystem":"npm","requirements":"9.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985233,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"runtime","optional":false},{"id":26098985234,"package_name":"nanoid","ecosystem":"npm","requirements":"3.3.11","direct":false,"kind":"runtime","optional":false},{"id":26098985235,"package_name":"node-releases","ecosystem":"npm","requirements":"2.0.27","direct":false,"kind":"runtime","optional":false},{"id":26098985236,"package_name":"normalize-range","ecosystem":"npm","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985237,"package_name":"nth-check","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985238,"package_name":"number-allocator","ecosystem":"npm","requirements":"1.0.14","direct":false,"kind":"runtime","optional":false},{"id":26098985239,"package_name":"observable-polyfill","ecosystem":"npm","requirements":"0.0.29","direct":false,"kind":"runtime","optional":false},{"id":26098985240,"package_name":"parse-code-context","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985241,"package_name":"parse5","ecosystem":"npm","requirements":"7.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985242,"package_name":"pathe","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985243,"package_name":"picocolors","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985244,"package_name":"picomatch","ecosystem":"npm","requirements":"4.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985245,"package_name":"pkg-types","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985246,"package_name":"postcss","ecosystem":"npm","requirements":"8.5.6","direct":false,"kind":"runtime","optional":false},{"id":26098985247,"package_name":"postcss-value-parser","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985248,"package_name":"process","ecosystem":"npm","requirements":"0.11.10","direct":false,"kind":"runtime","optional":false},{"id":26098985249,"package_name":"process-nextick-args","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985250,"package_name":"quansync","ecosystem":"npm","requirements":"0.2.11","direct":false,"kind":"runtime","optional":false},{"id":26098985251,"package_name":"readable-stream","ecosystem":"npm","requirements":"4.7.0","direct":false,"kind":"runtime","optional":false},{"id":26098985252,"package_name":"rfdc","ecosystem":"npm","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":26098985253,"package_name":"rollup","ecosystem":"npm","requirements":"4.62.3","direct":false,"kind":"runtime","optional":false},{"id":26098985254,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985255,"package_name":"seroval","ecosystem":"npm","requirements":"1.5.6","direct":false,"kind":"runtime","optional":false},{"id":26098985256,"package_name":"seroval-plugins","ecosystem":"npm","requirements":"1.5.6","direct":false,"kind":"runtime","optional":false},{"id":26098985257,"package_name":"smart-buffer","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985258,"package_name":"socks","ecosystem":"npm","requirements":"2.8.7","direct":false,"kind":"runtime","optional":false},{"id":26098985259,"package_name":"solid-js","ecosystem":"npm","requirements":"1.9.14","direct":false,"kind":"runtime","optional":false},{"id":26098985260,"package_name":"solid-refresh","ecosystem":"npm","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":26098985261,"package_name":"source-map-js","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985262,"package_name":"split2","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985263,"package_name":"string_decoder","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985264,"package_name":"svgo","ecosystem":"npm","requirements":"3.3.2","direct":false,"kind":"runtime","optional":false},{"id":26098985265,"package_name":"tinyglobby","ecosystem":"npm","requirements":"0.2.15","direct":false,"kind":"runtime","optional":false},{"id":26098985266,"package_name":"to-regex-range","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985267,"package_name":"tslib","ecosystem":"npm","requirements":"2.8.1","direct":false,"kind":"runtime","optional":false},{"id":26098985268,"package_name":"typedarray","ecosystem":"npm","requirements":"0.0.6","direct":false,"kind":"runtime","optional":false},{"id":26098985269,"package_name":"ufo","ecosystem":"npm","requirements":"1.6.1","direct":false,"kind":"runtime","optional":false},{"id":26098985270,"package_name":"undici-types","ecosystem":"npm","requirements":"7.16.0","direct":false,"kind":"runtime","optional":false},{"id":26098985271,"package_name":"update-browserslist-db","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"runtime","optional":false},{"id":26098985272,"package_name":"util-deprecate","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985273,"package_name":"vite","ecosystem":"npm","requirements":"7.2.6","direct":false,"kind":"runtime","optional":false},{"id":26098985274,"package_name":"vite-plugin-pages","ecosystem":"npm","requirements":"0.33.1","direct":false,"kind":"runtime","optional":false},{"id":26098985275,"package_name":"vite-plugin-solid","ecosystem":"npm","requirements":"2.11.10","direct":false,"kind":"runtime","optional":false},{"id":26098985276,"package_name":"vite-plugin-solid-svg","ecosystem":"npm","requirements":"0.8.1","direct":false,"kind":"runtime","optional":false},{"id":26098985277,"package_name":"vitefu","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985278,"package_name":"worker-factory","ecosystem":"npm","requirements":"7.0.46","direct":false,"kind":"runtime","optional":false},{"id":26098985279,"package_name":"worker-timers","ecosystem":"npm","requirements":"8.0.25","direct":false,"kind":"runtime","optional":false},{"id":26098985280,"package_name":"worker-timers-broker","ecosystem":"npm","requirements":"8.0.11","direct":false,"kind":"runtime","optional":false},{"id":26098985281,"package_name":"worker-timers-worker","ecosystem":"npm","requirements":"9.0.11","direct":false,"kind":"runtime","optional":false},{"id":26098985282,"package_name":"ws","ecosystem":"npm","requirements":"8.18.3","direct":false,"kind":"runtime","optional":false},{"id":26098985283,"package_name":"yallist","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985284,"package_name":"yaml","ecosystem":"npm","requirements":"2.8.2","direct":false,"kind":"runtime","optional":false},{"id":26098985285,"package_name":"zoomist","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/documentation-deploy-beta.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:51.836Z","updated_at":"2026-08-13T19:32:51.836Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/documentation-deploy-beta.yml","dependencies":[{"id":26098984956,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984957,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":26098984958,"package_name":"cpina/github-action-push-to-another-repository","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/documentation-deploy-stable.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:51.968Z","updated_at":"2026-08-13T19:32:51.968Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/documentation-deploy-stable.yml","dependencies":[{"id":26098984959,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984960,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":26098984961,"package_name":"cpina/github-action-push-to-another-repository","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"npm","filepath":"node-red/package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:53.599Z","updated_at":"2026-08-13T19:32:53.599Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/node-red/package-lock.json","dependencies":[{"id":26098985467,"package_name":"@babel/helper-string-parser","ecosystem":"npm","requirements":"7.27.1","direct":false,"kind":"runtime","optional":false},{"id":26098985468,"package_name":"@babel/helper-validator-identifier","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985469,"package_name":"@babel/parser","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985470,"package_name":"@babel/runtime","ecosystem":"npm","requirements":"7.29.7","direct":false,"kind":"development","optional":false},{"id":26098985471,"package_name":"@babel/types","ecosystem":"npm","requirements":"7.28.5","direct":false,"kind":"runtime","optional":false},{"id":26098985472,"package_name":"@emnapi/core","ecosystem":"npm","requirements":"1.11.1","direct":false,"kind":"development","optional":false},{"id":26098985473,"package_name":"tslib","ecosystem":"npm","requirements":"2.8.1","direct":false,"kind":"development","optional":false},{"id":26098985474,"package_name":"@emnapi/runtime","ecosystem":"npm","requirements":"1.11.1","direct":false,"kind":"development","optional":false},{"id":26098985475,"package_name":"@emnapi/wasi-threads","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"development","optional":false},{"id":26098985476,"package_name":"@flowfuse/flow-renderer","ecosystem":"npm","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":26098985477,"package_name":"@flowfuse/node-red-dashboard","ecosystem":"npm","requirements":"1.30.2","direct":false,"kind":"runtime","optional":false},{"id":26098985478,"package_name":"@flowfuse/node-red-dashboard-2-ui-flowviewer","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985479,"package_name":"@isaacs/fs-minipass","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":26098985480,"package_name":"@jridgewell/sourcemap-codec","ecosystem":"npm","requirements":"1.5.5","direct":false,"kind":"runtime","optional":false},{"id":26098985481,"package_name":"@keyv/serialize","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":26098985482,"package_name":"@napi-rs/wasm-runtime","ecosystem":"npm","requirements":"0.2.12","direct":false,"kind":"development","optional":false},{"id":26098985483,"package_name":"@noble/hashes","ecosystem":"npm","requirements":"1.8.0","direct":false,"kind":"development","optional":false},{"id":26098985484,"package_name":"@node-red/editor-api","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985485,"package_name":"@node-red/editor-client","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985486,"package_name":"@node-red/flow-parser","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":26098985487,"package_name":"@node-red/nodes","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985488,"package_name":"http-errors","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098985489,"package_name":"raw-body","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098985490,"package_name":"statuses","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":26098985491,"package_name":"@node-red/registry","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985492,"package_name":"@node-red/runtime","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985493,"package_name":"@node-red/util","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985494,"package_name":"@node-rs/bcrypt","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985495,"package_name":"@node-rs/bcrypt-android-arm-eabi","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985496,"package_name":"@node-rs/bcrypt-android-arm64","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985497,"package_name":"@node-rs/bcrypt-darwin-arm64","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985498,"package_name":"@node-rs/bcrypt-darwin-x64","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985499,"package_name":"@node-rs/bcrypt-freebsd-x64","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985500,"package_name":"@node-rs/bcrypt-linux-arm-gnueabihf","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985501,"package_name":"@node-rs/bcrypt-linux-arm64-gnu","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985502,"package_name":"@node-rs/bcrypt-linux-arm64-musl","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985503,"package_name":"@node-rs/bcrypt-linux-x64-gnu","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985504,"package_name":"@node-rs/bcrypt-linux-x64-musl","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985505,"package_name":"@node-rs/bcrypt-wasm32-wasi","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985506,"package_name":"@node-rs/bcrypt-win32-arm64-msvc","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985507,"package_name":"@node-rs/bcrypt-win32-ia32-msvc","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985508,"package_name":"@node-rs/bcrypt-win32-x64-msvc","ecosystem":"npm","requirements":"1.10.7","direct":false,"kind":"development","optional":false},{"id":26098985509,"package_name":"@paralleldrive/cuid2","ecosystem":"npm","requirements":"2.3.1","direct":false,"kind":"development","optional":false},{"id":26098985510,"package_name":"@sec-ant/readable-stream","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"development","optional":false},{"id":26098985511,"package_name":"@sindresorhus/is","ecosystem":"npm","requirements":"7.2.0","direct":false,"kind":"development","optional":false},{"id":26098985512,"package_name":"@sinonjs/commons","ecosystem":"npm","requirements":"1.8.6","direct":false,"kind":"development","optional":false},{"id":26098985513,"package_name":"@sinonjs/fake-timers","ecosystem":"npm","requirements":"7.1.2","direct":false,"kind":"development","optional":false},{"id":26098985514,"package_name":"@sinonjs/samsam","ecosystem":"npm","requirements":"6.1.3","direct":false,"kind":"development","optional":false},{"id":26098985515,"package_name":"@sinonjs/text-encoding","ecosystem":"npm","requirements":"0.7.3","direct":false,"kind":"development","optional":false},{"id":26098985516,"package_name":"@socket.io/component-emitter","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985517,"package_name":"@tybys/wasm-util","ecosystem":"npm","requirements":"0.10.2","direct":false,"kind":"development","optional":false},{"id":26098985518,"package_name":"@types/cors","ecosystem":"npm","requirements":"2.8.19","direct":false,"kind":"runtime","optional":false},{"id":26098985519,"package_name":"@types/http-cache-semantics","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"development","optional":false},{"id":26098985520,"package_name":"@types/node","ecosystem":"npm","requirements":"25.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985521,"package_name":"@types/readable-stream","ecosystem":"npm","requirements":"4.0.24","direct":false,"kind":"development","optional":false},{"id":26098985522,"package_name":"@types/ws","ecosystem":"npm","requirements":"8.18.1","direct":false,"kind":"runtime","optional":false},{"id":26098985523,"package_name":"@vue/compiler-core","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098985524,"package_name":"entities","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985525,"package_name":"@vue/compiler-dom","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098985526,"package_name":"@vue/compiler-sfc","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098985527,"package_name":"@vue/compiler-ssr","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098985528,"package_name":"@vue/devtools-api","ecosystem":"npm","requirements":"6.6.4","direct":false,"kind":"runtime","optional":false},{"id":26098985529,"package_name":"@vue/reactivity","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098985530,"package_name":"@vue/runtime-core","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098985531,"package_name":"@vue/runtime-dom","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098985532,"package_name":"@vue/server-renderer","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098985533,"package_name":"@vue/shared","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098985534,"package_name":"abbrev","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":26098985535,"package_name":"abort-controller","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098985536,"package_name":"accepts","ecosystem":"npm","requirements":"1.3.8","direct":false,"kind":"runtime","optional":false},{"id":26098985537,"package_name":"acorn","ecosystem":"npm","requirements":"8.16.0","direct":false,"kind":"runtime","optional":false},{"id":26098985538,"package_name":"acorn-walk","ecosystem":"npm","requirements":"8.3.5","direct":false,"kind":"development","optional":false},{"id":26098985539,"package_name":"agent-base","ecosystem":"npm","requirements":"6.0.2","direct":false,"kind":"development","optional":false},{"id":26098985540,"package_name":"ajv","ecosystem":"npm","requirements":"8.18.0","direct":false,"kind":"development","optional":false},{"id":26098985541,"package_name":"ansi-colors","ecosystem":"npm","requirements":"4.1.3","direct":false,"kind":"development","optional":false},{"id":26098985542,"package_name":"ansi-regex","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985543,"package_name":"ansi-styles","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":26098985544,"package_name":"append-field","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26098985545,"package_name":"argparse","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":26098985546,"package_name":"array-flatten","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985547,"package_name":"asap","ecosystem":"npm","requirements":"2.0.6","direct":false,"kind":"development","optional":false},{"id":26098985548,"package_name":"astral-regex","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098985549,"package_name":"async-mutex","ecosystem":"npm","requirements":"0.5.0","direct":false,"kind":"development","optional":false},{"id":26098985550,"package_name":"asynckit","ecosystem":"npm","requirements":"0.4.0","direct":false,"kind":"runtime","optional":false},{"id":26098985551,"package_name":"axios","ecosystem":"npm","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":26098985552,"package_name":"base64-js","ecosystem":"npm","requirements":"1.5.1","direct":false,"kind":"development","optional":false},{"id":26098985553,"package_name":"base64id","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985554,"package_name":"basic-auth","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":26098985555,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":26098985556,"package_name":"bcryptjs","ecosystem":"npm","requirements":"3.0.3","direct":false,"kind":"development","optional":false},{"id":26098985557,"package_name":"bl","ecosystem":"npm","requirements":"6.1.6","direct":false,"kind":"development","optional":false},{"id":26098985558,"package_name":"body-parser","ecosystem":"npm","requirements":"1.20.5","direct":false,"kind":"runtime","optional":false},{"id":26098985559,"package_name":"debug","ecosystem":"npm","requirements":"2.6.9","direct":false,"kind":"runtime","optional":false},{"id":26098985560,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.4.24","direct":false,"kind":"runtime","optional":false},{"id":26098985561,"package_name":"ms","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985562,"package_name":"boolbase","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26098985563,"package_name":"broker-factory","ecosystem":"npm","requirements":"3.1.15","direct":false,"kind":"development","optional":false},{"id":26098985564,"package_name":"buffer","ecosystem":"npm","requirements":"6.0.3","direct":false,"kind":"development","optional":false},{"id":26098985565,"package_name":"buffer-from","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"development","optional":false},{"id":26098985566,"package_name":"busboy","ecosystem":"npm","requirements":"1.6.0","direct":false,"kind":"development","optional":false},{"id":26098985567,"package_name":"byte-counter","ecosystem":"npm","requirements":"0.1.0","direct":false,"kind":"development","optional":false},{"id":26098985568,"package_name":"bytes","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985569,"package_name":"cacheable-lookup","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"development","optional":false},{"id":26098985570,"package_name":"cacheable-request","ecosystem":"npm","requirements":"13.0.19","direct":false,"kind":"development","optional":false},{"id":26098985571,"package_name":"call-bind-apply-helpers","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985572,"package_name":"call-bound","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985573,"package_name":"chalk","ecosystem":"npm","requirements":"4.1.2","direct":false,"kind":"development","optional":false},{"id":26098985574,"package_name":"cheerio","ecosystem":"npm","requirements":"1.0.0-rc.10","direct":false,"kind":"development","optional":false},{"id":26098985575,"package_name":"cheerio-select","ecosystem":"npm","requirements":"1.6.0","direct":false,"kind":"development","optional":false},{"id":26098985576,"package_name":"chownr","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098985577,"package_name":"cli-table","ecosystem":"npm","requirements":"0.3.11","direct":false,"kind":"development","optional":false},{"id":26098985578,"package_name":"clone","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":26098985579,"package_name":"color-convert","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":26098985580,"package_name":"color-name","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"development","optional":false},{"id":26098985581,"package_name":"colors","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":26098985582,"package_name":"combined-stream","ecosystem":"npm","requirements":"1.0.8","direct":false,"kind":"runtime","optional":false},{"id":26098985583,"package_name":"commander","ecosystem":"npm","requirements":"7.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985584,"package_name":"commist","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"development","optional":false},{"id":26098985585,"package_name":"component-emitter","ecosystem":"npm","requirements":"1.3.1","direct":false,"kind":"development","optional":false},{"id":26098985586,"package_name":"compressible","ecosystem":"npm","requirements":"2.0.18","direct":false,"kind":"runtime","optional":false},{"id":26098985587,"package_name":"compression","ecosystem":"npm","requirements":"1.8.1","direct":false,"kind":"runtime","optional":false},{"id":26098985588,"package_name":"negotiator","ecosystem":"npm","requirements":"0.6.4","direct":false,"kind":"runtime","optional":false},{"id":26098985589,"package_name":"concat-stream","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098985590,"package_name":"readable-stream","ecosystem":"npm","requirements":"3.6.2","direct":false,"kind":"development","optional":false},{"id":26098985591,"package_name":"content-disposition","ecosystem":"npm","requirements":"0.5.4","direct":false,"kind":"runtime","optional":false},{"id":26098985592,"package_name":"content-type","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":26098985593,"package_name":"cookie","ecosystem":"npm","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":26098985594,"package_name":"cookie-parser","ecosystem":"npm","requirements":"1.4.7","direct":false,"kind":"development","optional":false},{"id":26098985595,"package_name":"cookie-signature","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"development","optional":false},{"id":26098985596,"package_name":"cookie-signature","ecosystem":"npm","requirements":"1.0.7","direct":false,"kind":"runtime","optional":false},{"id":26098985597,"package_name":"cookiejar","ecosystem":"npm","requirements":"2.1.4","direct":false,"kind":"development","optional":false},{"id":26098985598,"package_name":"core-js","ecosystem":"npm","requirements":"3.47.0","direct":false,"kind":"runtime","optional":false},{"id":26098985599,"package_name":"cors","ecosystem":"npm","requirements":"2.8.5","direct":false,"kind":"runtime","optional":false},{"id":26098985600,"package_name":"cronosjs","ecosystem":"npm","requirements":"1.7.1","direct":false,"kind":"development","optional":false},{"id":26098985601,"package_name":"css-select","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":26098985602,"package_name":"css-what","ecosystem":"npm","requirements":"6.2.2","direct":false,"kind":"development","optional":false},{"id":26098985603,"package_name":"csstype","ecosystem":"npm","requirements":"3.2.3","direct":false,"kind":"runtime","optional":false},{"id":26098985604,"package_name":"d3","ecosystem":"npm","requirements":"7.9.0","direct":false,"kind":"runtime","optional":false},{"id":26098985605,"package_name":"d3-array","ecosystem":"npm","requirements":"3.2.4","direct":false,"kind":"runtime","optional":false},{"id":26098985606,"package_name":"d3-axis","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985607,"package_name":"d3-brush","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985608,"package_name":"d3-chord","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985609,"package_name":"d3-color","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985610,"package_name":"d3-contour","ecosystem":"npm","requirements":"4.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985611,"package_name":"d3-delaunay","ecosystem":"npm","requirements":"6.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985612,"package_name":"d3-dispatch","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985613,"package_name":"d3-drag","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985614,"package_name":"d3-dsv","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985615,"package_name":"d3-ease","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985616,"package_name":"d3-fetch","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985617,"package_name":"d3-force","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985618,"package_name":"d3-format","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985619,"package_name":"d3-geo","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985620,"package_name":"d3-hierarchy","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985621,"package_name":"d3-interpolate","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985622,"package_name":"d3-path","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985623,"package_name":"d3-polygon","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985624,"package_name":"d3-quadtree","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985625,"package_name":"d3-random","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985626,"package_name":"d3-scale","ecosystem":"npm","requirements":"4.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985627,"package_name":"d3-scale-chromatic","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985628,"package_name":"d3-selection","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985629,"package_name":"d3-shape","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985630,"package_name":"d3-time","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985631,"package_name":"d3-time-format","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985632,"package_name":"d3-timer","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985633,"package_name":"d3-transition","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985634,"package_name":"d3-zoom","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985635,"package_name":"debug","ecosystem":"npm","requirements":"4.4.3","direct":false,"kind":"runtime","optional":false},{"id":26098985636,"package_name":"decompress-response","ecosystem":"npm","requirements":"10.0.0","direct":false,"kind":"development","optional":false},{"id":26098985637,"package_name":"delaunator","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985638,"package_name":"delayed-stream","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985639,"package_name":"denque","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":26098985640,"package_name":"depd","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985641,"package_name":"destroy","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985642,"package_name":"dezalgo","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":26098985643,"package_name":"diff","ecosystem":"npm","requirements":"5.2.2","direct":false,"kind":"development","optional":false},{"id":26098985644,"package_name":"dom-serializer","ecosystem":"npm","requirements":"1.4.1","direct":false,"kind":"development","optional":false},{"id":26098985645,"package_name":"domelementtype","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"development","optional":false},{"id":26098985646,"package_name":"domhandler","ecosystem":"npm","requirements":"4.3.1","direct":false,"kind":"development","optional":false},{"id":26098985647,"package_name":"domutils","ecosystem":"npm","requirements":"2.8.0","direct":false,"kind":"development","optional":false},{"id":26098985648,"package_name":"dunder-proto","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985649,"package_name":"echarts","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985650,"package_name":"ee-first","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985651,"package_name":"emoji-regex","ecosystem":"npm","requirements":"8.0.0","direct":false,"kind":"development","optional":false},{"id":26098985652,"package_name":"encodeurl","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985653,"package_name":"engine.io","ecosystem":"npm","requirements":"6.6.9","direct":false,"kind":"runtime","optional":false},{"id":26098985654,"package_name":"engine.io-parser","ecosystem":"npm","requirements":"5.2.3","direct":false,"kind":"runtime","optional":false},{"id":26098985655,"package_name":"ws","ecosystem":"npm","requirements":"8.21.1","direct":false,"kind":"runtime","optional":false},{"id":26098985656,"package_name":"enquirer","ecosystem":"npm","requirements":"2.4.1","direct":false,"kind":"development","optional":false},{"id":26098985657,"package_name":"entities","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"development","optional":false},{"id":26098985658,"package_name":"es-define-property","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985659,"package_name":"es-errors","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985660,"package_name":"es-object-atoms","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985661,"package_name":"es-set-tostringtag","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985662,"package_name":"escape-html","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985663,"package_name":"escodegen","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985664,"package_name":"eslint-linter-browserify","ecosystem":"npm","requirements":"8.57.0","direct":false,"kind":"development","optional":false},{"id":26098985665,"package_name":"esprima","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985666,"package_name":"estraverse","ecosystem":"npm","requirements":"5.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985667,"package_name":"estree-walker","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985668,"package_name":"esutils","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985669,"package_name":"etag","ecosystem":"npm","requirements":"1.8.1","direct":false,"kind":"runtime","optional":false},{"id":26098985670,"package_name":"event-target-shim","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985671,"package_name":"events","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"development","optional":false},{"id":26098985672,"package_name":"express","ecosystem":"npm","requirements":"4.22.2","direct":false,"kind":"runtime","optional":false},{"id":26098985673,"package_name":"express-session","ecosystem":"npm","requirements":"1.18.2","direct":false,"kind":"development","optional":false},{"id":26098985674,"package_name":"debug","ecosystem":"npm","requirements":"2.6.9","direct":false,"kind":"development","optional":false},{"id":26098985675,"package_name":"ms","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098985676,"package_name":"fast-deep-equal","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"development","optional":false},{"id":26098985677,"package_name":"fast-safe-stringify","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":26098985678,"package_name":"fast-unique-numbers","ecosystem":"npm","requirements":"9.0.27","direct":false,"kind":"development","optional":false},{"id":26098985679,"package_name":"fast-uri","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"development","optional":false},{"id":26098985680,"package_name":"finalhandler","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26098985681,"package_name":"follow-redirects","ecosystem":"npm","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":26098985682,"package_name":"form-data","ecosystem":"npm","requirements":"4.0.6","direct":false,"kind":"runtime","optional":false},{"id":26098985683,"package_name":"form-data-encoder","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":26098985684,"package_name":"formidable","ecosystem":"npm","requirements":"3.5.4","direct":false,"kind":"development","optional":false},{"id":26098985685,"package_name":"forwarded","ecosystem":"npm","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985686,"package_name":"fresh","ecosystem":"npm","requirements":"0.5.2","direct":false,"kind":"runtime","optional":false},{"id":26098985687,"package_name":"fs-extra","ecosystem":"npm","requirements":"11.3.0","direct":false,"kind":"development","optional":false},{"id":26098985688,"package_name":"function-bind","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985689,"package_name":"get-intrinsic","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985690,"package_name":"get-proto","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985691,"package_name":"get-stream","ecosystem":"npm","requirements":"9.0.1","direct":false,"kind":"development","optional":false},{"id":26098985692,"package_name":"gopd","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985693,"package_name":"got","ecosystem":"npm","requirements":"14.6.6","direct":false,"kind":"development","optional":false},{"id":26098985694,"package_name":"graceful-fs","ecosystem":"npm","requirements":"4.2.11","direct":false,"kind":"development","optional":false},{"id":26098985695,"package_name":"gridstack","ecosystem":"npm","requirements":"0.6.4","direct":false,"kind":"runtime","optional":false},{"id":26098985696,"package_name":"has-flag","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985697,"package_name":"has-symbols","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985698,"package_name":"has-tostringtag","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985699,"package_name":"hash-sum","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098985700,"package_name":"hasown","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985701,"package_name":"help-me","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098985702,"package_name":"hpagent","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":26098985703,"package_name":"htmlparser2","ecosystem":"npm","requirements":"6.1.0","direct":false,"kind":"development","optional":false},{"id":26098985704,"package_name":"http-cache-semantics","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"development","optional":false},{"id":26098985705,"package_name":"http-errors","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985706,"package_name":"http2-wrapper","ecosystem":"npm","requirements":"2.2.1","direct":false,"kind":"development","optional":false},{"id":26098985707,"package_name":"https-proxy-agent","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985708,"package_name":"i18next","ecosystem":"npm","requirements":"25.8.14","direct":false,"kind":"development","optional":false},{"id":26098985709,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":26098985710,"package_name":"ieee754","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":26098985711,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098985712,"package_name":"internmap","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985713,"package_name":"ip-address","ecosystem":"npm","requirements":"10.3.1","direct":false,"kind":"development","optional":false},{"id":26098985714,"package_name":"ipaddr.js","ecosystem":"npm","requirements":"1.9.1","direct":false,"kind":"runtime","optional":false},{"id":26098985715,"package_name":"is-fullwidth-code-point","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098985716,"package_name":"is-stream","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":26098985717,"package_name":"is-utf8","ecosystem":"npm","requirements":"0.2.1","direct":false,"kind":"development","optional":false},{"id":26098985718,"package_name":"jquery","ecosystem":"npm","requirements":"3.7.1","direct":false,"kind":"runtime","optional":false},{"id":26098985719,"package_name":"js-sdsl","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":26098985720,"package_name":"js-yaml","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":26098985721,"package_name":"json-schema-traverse","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26098985722,"package_name":"json-stringify-safe","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985723,"package_name":"jsonata","ecosystem":"npm","requirements":"2.0.6","direct":false,"kind":"development","optional":false},{"id":26098985724,"package_name":"jsonfile","ecosystem":"npm","requirements":"6.2.1","direct":false,"kind":"development","optional":false},{"id":26098985725,"package_name":"just-extend","ecosystem":"npm","requirements":"6.2.0","direct":false,"kind":"development","optional":false},{"id":26098985726,"package_name":"keyv","ecosystem":"npm","requirements":"5.6.0","direct":false,"kind":"development","optional":false},{"id":26098985727,"package_name":"lodash.clonedeep","ecosystem":"npm","requirements":"4.5.0","direct":false,"kind":"development","optional":false},{"id":26098985728,"package_name":"lodash.get","ecosystem":"npm","requirements":"4.4.2","direct":false,"kind":"development","optional":false},{"id":26098985729,"package_name":"lodash.merge","ecosystem":"npm","requirements":"4.6.2","direct":false,"kind":"runtime","optional":false},{"id":26098985730,"package_name":"lodash.truncate","ecosystem":"npm","requirements":"4.4.2","direct":false,"kind":"development","optional":false},{"id":26098985731,"package_name":"lowercase-keys","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098985732,"package_name":"lru-cache","ecosystem":"npm","requirements":"4.1.5","direct":false,"kind":"development","optional":false},{"id":26098985733,"package_name":"magic-string","ecosystem":"npm","requirements":"0.30.21","direct":false,"kind":"runtime","optional":false},{"id":26098985734,"package_name":"math-intrinsics","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985735,"package_name":"media-typer","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":26098985736,"package_name":"memorystore","ecosystem":"npm","requirements":"1.6.7","direct":false,"kind":"development","optional":false},{"id":26098985737,"package_name":"merge-descriptors","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098985738,"package_name":"methods","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985739,"package_name":"mime","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098985740,"package_name":"mime-db","ecosystem":"npm","requirements":"1.52.0","direct":false,"kind":"runtime","optional":false},{"id":26098985741,"package_name":"mime-types","ecosystem":"npm","requirements":"2.1.35","direct":false,"kind":"runtime","optional":false},{"id":26098985742,"package_name":"mimic-response","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985743,"package_name":"minimist","ecosystem":"npm","requirements":"1.2.8","direct":false,"kind":"development","optional":false},{"id":26098985744,"package_name":"minipass","ecosystem":"npm","requirements":"7.1.3","direct":false,"kind":"development","optional":false},{"id":26098985745,"package_name":"minizlib","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":26098985746,"package_name":"moment","ecosystem":"npm","requirements":"2.30.1","direct":false,"kind":"development","optional":false},{"id":26098985747,"package_name":"moment-timezone","ecosystem":"npm","requirements":"0.5.48","direct":false,"kind":"development","optional":false},{"id":26098985748,"package_name":"mqtt","ecosystem":"npm","requirements":"5.15.1","direct":false,"kind":"development","optional":false},{"id":26098985749,"package_name":"mqtt-packet","ecosystem":"npm","requirements":"9.0.2","direct":false,"kind":"development","optional":false},{"id":26098985750,"package_name":"lru-cache","ecosystem":"npm","requirements":"10.4.3","direct":false,"kind":"development","optional":false},{"id":26098985751,"package_name":"ws","ecosystem":"npm","requirements":"8.21.1","direct":false,"kind":"development","optional":false},{"id":26098985752,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"runtime","optional":false},{"id":26098985753,"package_name":"multer","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"development","optional":false},{"id":26098985754,"package_name":"mustache","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"development","optional":false},{"id":26098985755,"package_name":"mute-stream","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26098985756,"package_name":"nanoid","ecosystem":"npm","requirements":"3.3.16","direct":false,"kind":"runtime","optional":false},{"id":26098985757,"package_name":"negotiator","ecosystem":"npm","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":26098985758,"package_name":"nise","ecosystem":"npm","requirements":"5.1.9","direct":false,"kind":"development","optional":false},{"id":26098985759,"package_name":"@sinonjs/commons","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":26098985760,"package_name":"@sinonjs/fake-timers","ecosystem":"npm","requirements":"11.3.1","direct":false,"kind":"development","optional":false},{"id":26098985761,"package_name":"path-to-regexp","ecosystem":"npm","requirements":"6.3.0","direct":false,"kind":"development","optional":false},{"id":26098985762,"package_name":"node-red","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985763,"package_name":"node-red-admin","ecosystem":"npm","requirements":"4.1.6","direct":false,"kind":"development","optional":false},{"id":26098985764,"package_name":"node-red-dashboard","ecosystem":"npm","requirements":"3.6.6","direct":false,"kind":"runtime","optional":false},{"id":26098985765,"package_name":"node-red-node-test-helper","ecosystem":"npm","requirements":"0.3.6","direct":false,"kind":"development","optional":false},{"id":26098985766,"package_name":"node-red-node-ui-list","ecosystem":"npm","requirements":"0.3.6","direct":false,"kind":"runtime","optional":false},{"id":26098985767,"package_name":"node-watch","ecosystem":"npm","requirements":"0.7.4","direct":false,"kind":"development","optional":false},{"id":26098985768,"package_name":"nopt","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098985769,"package_name":"normalize-url","ecosystem":"npm","requirements":"8.1.1","direct":false,"kind":"development","optional":false},{"id":26098985770,"package_name":"npm","ecosystem":"npm","requirements":"11.18.0","direct":false,"kind":"development","optional":false},{"id":26098985771,"package_name":"@gar/promise-retry","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":26098985772,"package_name":"@isaacs/string-locale-compare","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":26098985773,"package_name":"@npmcli/agent","ecosystem":"npm","requirements":"4.0.2","direct":false,"kind":"development","optional":false},{"id":26098985774,"package_name":"@npmcli/arborist","ecosystem":"npm","requirements":"9.9.0","direct":false,"kind":"development","optional":false},{"id":26098985775,"package_name":"@npmcli/config","ecosystem":"npm","requirements":"10.12.0","direct":false,"kind":"development","optional":false},{"id":26098985776,"package_name":"@npmcli/fs","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098985777,"package_name":"@npmcli/git","ecosystem":"npm","requirements":"7.0.2","direct":false,"kind":"development","optional":false},{"id":26098985778,"package_name":"@npmcli/installed-package-contents","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985779,"package_name":"@npmcli/map-workspaces","ecosystem":"npm","requirements":"5.0.3","direct":false,"kind":"development","optional":false},{"id":26098985780,"package_name":"@npmcli/metavuln-calculator","ecosystem":"npm","requirements":"9.0.3","direct":false,"kind":"development","optional":false},{"id":26098985781,"package_name":"@npmcli/name-from-folder","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985782,"package_name":"@npmcli/node-gyp","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098985783,"package_name":"@npmcli/package-json","ecosystem":"npm","requirements":"7.0.5","direct":false,"kind":"development","optional":false},{"id":26098985784,"package_name":"@npmcli/promise-spawn","ecosystem":"npm","requirements":"9.0.1","direct":false,"kind":"development","optional":false},{"id":26098985785,"package_name":"@npmcli/query","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098985786,"package_name":"@npmcli/redact","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985787,"package_name":"@npmcli/run-script","ecosystem":"npm","requirements":"10.0.4","direct":false,"kind":"development","optional":false},{"id":26098985788,"package_name":"@sigstore/bundle","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985789,"package_name":"@sigstore/core","ecosystem":"npm","requirements":"3.2.1","direct":false,"kind":"development","optional":false},{"id":26098985790,"package_name":"@sigstore/protobuf-specs","ecosystem":"npm","requirements":"0.5.1","direct":false,"kind":"development","optional":false},{"id":26098985791,"package_name":"@sigstore/sign","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":26098985792,"package_name":"@sigstore/tuf","ecosystem":"npm","requirements":"4.0.2","direct":false,"kind":"development","optional":false},{"id":26098985793,"package_name":"@sigstore/verify","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"development","optional":false},{"id":26098985794,"package_name":"@tufjs/canonical-json","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098985795,"package_name":"@tufjs/models","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":26098985796,"package_name":"abbrev","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985797,"package_name":"agent-base","ecosystem":"npm","requirements":"7.1.4","direct":false,"kind":"development","optional":false},{"id":26098985798,"package_name":"aproba","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":26098985799,"package_name":"archy","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26098985800,"package_name":"balanced-match","ecosystem":"npm","requirements":"4.0.4","direct":false,"kind":"development","optional":false},{"id":26098985801,"package_name":"bin-links","ecosystem":"npm","requirements":"6.0.2","direct":false,"kind":"development","optional":false},{"id":26098985802,"package_name":"binary-extensions","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":26098985803,"package_name":"brace-expansion","ecosystem":"npm","requirements":"5.0.7","direct":false,"kind":"development","optional":false},{"id":26098985804,"package_name":"cacache","ecosystem":"npm","requirements":"20.0.4","direct":false,"kind":"development","optional":false},{"id":26098985805,"package_name":"chalk","ecosystem":"npm","requirements":"5.6.2","direct":false,"kind":"development","optional":false},{"id":26098985806,"package_name":"ci-info","ecosystem":"npm","requirements":"4.4.0","direct":false,"kind":"development","optional":false},{"id":26098985807,"package_name":"cidr-regex","ecosystem":"npm","requirements":"5.0.5","direct":false,"kind":"development","optional":false},{"id":26098985808,"package_name":"cmd-shim","ecosystem":"npm","requirements":"8.0.0","direct":false,"kind":"development","optional":false},{"id":26098985809,"package_name":"common-ancestor-path","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098985810,"package_name":"cssesc","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098985811,"package_name":"debug","ecosystem":"npm","requirements":"4.4.3","direct":false,"kind":"development","optional":false},{"id":26098985812,"package_name":"diff","ecosystem":"npm","requirements":"8.0.4","direct":false,"kind":"development","optional":false},{"id":26098985813,"package_name":"env-paths","ecosystem":"npm","requirements":"2.2.1","direct":false,"kind":"development","optional":false},{"id":26098985814,"package_name":"exponential-backoff","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"development","optional":false},{"id":26098985815,"package_name":"fastest-levenshtein","ecosystem":"npm","requirements":"1.0.16","direct":false,"kind":"development","optional":false},{"id":26098985816,"package_name":"fs-minipass","ecosystem":"npm","requirements":"3.0.3","direct":false,"kind":"development","optional":false},{"id":26098985817,"package_name":"glob","ecosystem":"npm","requirements":"13.0.6","direct":false,"kind":"development","optional":false},{"id":26098985818,"package_name":"hosted-git-info","ecosystem":"npm","requirements":"9.0.3","direct":false,"kind":"development","optional":false},{"id":26098985819,"package_name":"http-proxy-agent","ecosystem":"npm","requirements":"7.0.2","direct":false,"kind":"development","optional":false},{"id":26098985820,"package_name":"https-proxy-agent","ecosystem":"npm","requirements":"7.0.6","direct":false,"kind":"development","optional":false},{"id":26098985821,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.7.2","direct":false,"kind":"development","optional":false},{"id":26098985822,"package_name":"ignore-walk","ecosystem":"npm","requirements":"8.0.0","direct":false,"kind":"development","optional":false},{"id":26098985823,"package_name":"ini","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":26098985824,"package_name":"init-package-json","ecosystem":"npm","requirements":"8.2.5","direct":false,"kind":"development","optional":false},{"id":26098985825,"package_name":"ip-address","ecosystem":"npm","requirements":"10.2.0","direct":false,"kind":"development","optional":false},{"id":26098985826,"package_name":"is-cidr","ecosystem":"npm","requirements":"6.0.4","direct":false,"kind":"development","optional":false},{"id":26098985827,"package_name":"isexe","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985828,"package_name":"json-parse-even-better-errors","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098985829,"package_name":"json-stringify-nice","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"development","optional":false},{"id":26098985830,"package_name":"jsonparse","ecosystem":"npm","requirements":"1.3.1","direct":false,"kind":"development","optional":false},{"id":26098985831,"package_name":"just-diff","ecosystem":"npm","requirements":"6.0.2","direct":false,"kind":"development","optional":false},{"id":26098985832,"package_name":"just-diff-apply","ecosystem":"npm","requirements":"5.5.0","direct":false,"kind":"development","optional":false},{"id":26098985833,"package_name":"libnpmaccess","ecosystem":"npm","requirements":"10.0.3","direct":false,"kind":"development","optional":false},{"id":26098985834,"package_name":"libnpmdiff","ecosystem":"npm","requirements":"8.1.11","direct":false,"kind":"development","optional":false},{"id":26098985835,"package_name":"libnpmexec","ecosystem":"npm","requirements":"10.3.1","direct":false,"kind":"development","optional":false},{"id":26098985836,"package_name":"libnpmfund","ecosystem":"npm","requirements":"7.0.25","direct":false,"kind":"development","optional":false},{"id":26098985837,"package_name":"libnpmorg","ecosystem":"npm","requirements":"8.0.1","direct":false,"kind":"development","optional":false},{"id":26098985838,"package_name":"libnpmpack","ecosystem":"npm","requirements":"9.1.11","direct":false,"kind":"development","optional":false},{"id":26098985839,"package_name":"libnpmpublish","ecosystem":"npm","requirements":"11.2.0","direct":false,"kind":"development","optional":false},{"id":26098985840,"package_name":"libnpmsearch","ecosystem":"npm","requirements":"9.0.1","direct":false,"kind":"development","optional":false},{"id":26098985841,"package_name":"libnpmteam","ecosystem":"npm","requirements":"8.0.2","direct":false,"kind":"development","optional":false},{"id":26098985842,"package_name":"libnpmversion","ecosystem":"npm","requirements":"8.0.4","direct":false,"kind":"development","optional":false},{"id":26098985843,"package_name":"lru-cache","ecosystem":"npm","requirements":"11.5.1","direct":false,"kind":"development","optional":false},{"id":26098985844,"package_name":"make-fetch-happen","ecosystem":"npm","requirements":"15.0.6","direct":false,"kind":"development","optional":false},{"id":26098985845,"package_name":"minimatch","ecosystem":"npm","requirements":"10.2.5","direct":false,"kind":"development","optional":false},{"id":26098985846,"package_name":"minipass-collect","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":26098985847,"package_name":"minipass-fetch","ecosystem":"npm","requirements":"5.0.2","direct":false,"kind":"development","optional":false},{"id":26098985848,"package_name":"minipass-flush","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"development","optional":false},{"id":26098985849,"package_name":"minipass-pipeline","ecosystem":"npm","requirements":"1.2.4","direct":false,"kind":"development","optional":false},{"id":26098985850,"package_name":"minipass","ecosystem":"npm","requirements":"3.3.6","direct":false,"kind":"development","optional":false},{"id":26098985851,"package_name":"yallist","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985852,"package_name":"minipass-sized","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098985853,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"development","optional":false},{"id":26098985854,"package_name":"mute-stream","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098985855,"package_name":"negotiator","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26098985856,"package_name":"node-gyp","ecosystem":"npm","requirements":"12.4.0","direct":false,"kind":"development","optional":false},{"id":26098985857,"package_name":"nopt","ecosystem":"npm","requirements":"9.0.0","direct":false,"kind":"development","optional":false},{"id":26098985858,"package_name":"npm-audit-report","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"development","optional":false},{"id":26098985859,"package_name":"npm-bundled","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098985860,"package_name":"npm-install-checks","ecosystem":"npm","requirements":"8.0.0","direct":false,"kind":"development","optional":false},{"id":26098985861,"package_name":"npm-normalize-package-bin","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098985862,"package_name":"npm-package-arg","ecosystem":"npm","requirements":"13.0.2","direct":false,"kind":"development","optional":false},{"id":26098985863,"package_name":"npm-packlist","ecosystem":"npm","requirements":"10.0.4","direct":false,"kind":"development","optional":false},{"id":26098985864,"package_name":"npm-pick-manifest","ecosystem":"npm","requirements":"11.0.3","direct":false,"kind":"development","optional":false},{"id":26098985865,"package_name":"npm-profile","ecosystem":"npm","requirements":"12.0.2","direct":false,"kind":"development","optional":false},{"id":26098985866,"package_name":"npm-registry-fetch","ecosystem":"npm","requirements":"19.1.1","direct":false,"kind":"development","optional":false},{"id":26098985867,"package_name":"npm-user-validate","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985868,"package_name":"p-map","ecosystem":"npm","requirements":"7.0.4","direct":false,"kind":"development","optional":false},{"id":26098985869,"package_name":"pacote","ecosystem":"npm","requirements":"21.5.1","direct":false,"kind":"development","optional":false},{"id":26098985870,"package_name":"parse-conflict-json","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985871,"package_name":"path-scurry","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"development","optional":false},{"id":26098985872,"package_name":"postcss-selector-parser","ecosystem":"npm","requirements":"7.1.4","direct":false,"kind":"development","optional":false},{"id":26098985873,"package_name":"proc-log","ecosystem":"npm","requirements":"6.1.0","direct":false,"kind":"development","optional":false},{"id":26098985874,"package_name":"proggy","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985875,"package_name":"promise-all-reject-late","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":26098985876,"package_name":"promise-call-limit","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"development","optional":false},{"id":26098985877,"package_name":"promzard","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":26098985878,"package_name":"qrcode-terminal","ecosystem":"npm","requirements":"0.12.0","direct":false,"kind":"development","optional":false},{"id":26098985879,"package_name":"read","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26098985880,"package_name":"read-cmd-shim","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":26098985881,"package_name":"safer-buffer","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":26098985882,"package_name":"semver","ecosystem":"npm","requirements":"7.8.5","direct":false,"kind":"development","optional":false},{"id":26098985883,"package_name":"signal-exit","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":26098985884,"package_name":"sigstore","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":26098985885,"package_name":"smart-buffer","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"development","optional":false},{"id":26098985886,"package_name":"socks","ecosystem":"npm","requirements":"2.8.9","direct":false,"kind":"development","optional":false},{"id":26098985887,"package_name":"socks-proxy-agent","ecosystem":"npm","requirements":"8.0.5","direct":false,"kind":"development","optional":false},{"id":26098985888,"package_name":"spdx-exceptions","ecosystem":"npm","requirements":"2.5.0","direct":false,"kind":"development","optional":false},{"id":26098985889,"package_name":"spdx-expression-parse","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985890,"package_name":"spdx-license-ids","ecosystem":"npm","requirements":"3.0.23","direct":false,"kind":"development","optional":false},{"id":26098985891,"package_name":"ssri","ecosystem":"npm","requirements":"13.0.1","direct":false,"kind":"development","optional":false},{"id":26098985892,"package_name":"supports-color","ecosystem":"npm","requirements":"10.2.2","direct":false,"kind":"development","optional":false},{"id":26098985893,"package_name":"tar","ecosystem":"npm","requirements":"7.5.19","direct":false,"kind":"development","optional":false},{"id":26098985894,"package_name":"text-table","ecosystem":"npm","requirements":"0.2.0","direct":false,"kind":"development","optional":false},{"id":26098985895,"package_name":"tiny-relative-date","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"development","optional":false},{"id":26098985896,"package_name":"tinyglobby","ecosystem":"npm","requirements":"0.2.17","direct":false,"kind":"development","optional":false},{"id":26098985897,"package_name":"fdir","ecosystem":"npm","requirements":"6.5.0","direct":false,"kind":"development","optional":false},{"id":26098985898,"package_name":"picomatch","ecosystem":"npm","requirements":"4.0.4","direct":false,"kind":"development","optional":false},{"id":26098985899,"package_name":"treeverse","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26098985900,"package_name":"tuf-js","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":26098985901,"package_name":"undici","ecosystem":"npm","requirements":"6.27.0","direct":false,"kind":"development","optional":false},{"id":26098985902,"package_name":"util-deprecate","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":26098985903,"package_name":"validate-npm-package-name","ecosystem":"npm","requirements":"7.0.2","direct":false,"kind":"development","optional":false},{"id":26098985904,"package_name":"walk-up-path","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985905,"package_name":"which","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":26098985906,"package_name":"write-file-atomic","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":26098985907,"package_name":"yallist","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":26098985908,"package_name":"nrlint","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":26098985909,"package_name":"nopt","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":26098985910,"package_name":"nth-check","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":26098985911,"package_name":"number-allocator","ecosystem":"npm","requirements":"1.0.14","direct":false,"kind":"development","optional":false},{"id":26098985912,"package_name":"oauth2orize","ecosystem":"npm","requirements":"1.12.0","direct":false,"kind":"development","optional":false},{"id":26098985913,"package_name":"object-assign","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985914,"package_name":"object-inspect","ecosystem":"npm","requirements":"1.13.4","direct":false,"kind":"runtime","optional":false},{"id":26098985915,"package_name":"on-finished","ecosystem":"npm","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":26098985916,"package_name":"on-headers","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985917,"package_name":"once","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":26098985918,"package_name":"p-cancelable","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":26098985919,"package_name":"parse5","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":26098985920,"package_name":"parse5-htmlparser2-tree-adapter","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":26098985921,"package_name":"parseurl","ecosystem":"npm","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":26098985922,"package_name":"passport","ecosystem":"npm","requirements":"0.7.0","direct":false,"kind":"development","optional":false},{"id":26098985923,"package_name":"passport-http-bearer","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":26098985924,"package_name":"passport-oauth2-client-password","ecosystem":"npm","requirements":"0.1.2","direct":false,"kind":"development","optional":false},{"id":26098985925,"package_name":"passport-strategy","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26098985926,"package_name":"path-to-regexp","ecosystem":"npm","requirements":"0.1.12","direct":false,"kind":"runtime","optional":false},{"id":26098985927,"package_name":"pause","ecosystem":"npm","requirements":"0.0.1","direct":false,"kind":"development","optional":false},{"id":26098985928,"package_name":"picocolors","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26098985929,"package_name":"postcss","ecosystem":"npm","requirements":"8.5.24","direct":false,"kind":"runtime","optional":false},{"id":26098985930,"package_name":"process","ecosystem":"npm","requirements":"0.11.10","direct":false,"kind":"development","optional":false},{"id":26098985931,"package_name":"process-nextick-args","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":26098985932,"package_name":"proxy-addr","ecosystem":"npm","requirements":"2.0.7","direct":false,"kind":"runtime","optional":false},{"id":26098985933,"package_name":"proxy-from-env","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985934,"package_name":"pseudomap","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":26098985935,"package_name":"qs","ecosystem":"npm","requirements":"6.15.2","direct":false,"kind":"runtime","optional":false},{"id":26098985936,"package_name":"quick-lru","ecosystem":"npm","requirements":"5.1.1","direct":false,"kind":"development","optional":false},{"id":26098985937,"package_name":"random-bytes","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26098985938,"package_name":"range-parser","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985939,"package_name":"raw-body","ecosystem":"npm","requirements":"2.5.3","direct":false,"kind":"runtime","optional":false},{"id":26098985940,"package_name":"read","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":26098985941,"package_name":"readable-stream","ecosystem":"npm","requirements":"4.7.0","direct":false,"kind":"development","optional":false},{"id":26098985942,"package_name":"require-from-string","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"development","optional":false},{"id":26098985943,"package_name":"resolve-alpn","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":26098985944,"package_name":"responselike","ecosystem":"npm","requirements":"4.0.2","direct":false,"kind":"development","optional":false},{"id":26098985945,"package_name":"rfdc","ecosystem":"npm","requirements":"1.4.1","direct":false,"kind":"development","optional":false},{"id":26098985946,"package_name":"robust-predicates","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985947,"package_name":"rw","ecosystem":"npm","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":26098985948,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985949,"package_name":"safer-buffer","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098985950,"package_name":"sax","ecosystem":"npm","requirements":"1.6.1","direct":false,"kind":"development","optional":false},{"id":26098985951,"package_name":"semver","ecosystem":"npm","requirements":"7.7.4","direct":false,"kind":"development","optional":false},{"id":26098985952,"package_name":"send","ecosystem":"npm","requirements":"0.19.2","direct":false,"kind":"runtime","optional":false},{"id":26098985953,"package_name":"mime","ecosystem":"npm","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":26098985954,"package_name":"serve-static","ecosystem":"npm","requirements":"1.16.3","direct":false,"kind":"runtime","optional":false},{"id":26098985955,"package_name":"setprototypeof","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26098985956,"package_name":"should","ecosystem":"npm","requirements":"13.2.3","direct":false,"kind":"development","optional":false},{"id":26098985957,"package_name":"should-equal","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":26098985958,"package_name":"should-format","ecosystem":"npm","requirements":"3.0.3","direct":false,"kind":"development","optional":false},{"id":26098985959,"package_name":"should-sinon","ecosystem":"npm","requirements":"0.0.6","direct":false,"kind":"development","optional":false},{"id":26098985960,"package_name":"should-type","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":26098985961,"package_name":"should-type-adaptors","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":26098985962,"package_name":"should-util","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":26098985963,"package_name":"side-channel","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098985964,"package_name":"side-channel-list","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098985965,"package_name":"side-channel-map","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985966,"package_name":"side-channel-weakmap","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985967,"package_name":"sinon","ecosystem":"npm","requirements":"11.1.2","direct":false,"kind":"development","optional":false},{"id":26098985968,"package_name":"slice-ansi","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":26098985969,"package_name":"socket.io","ecosystem":"npm","requirements":"4.8.3","direct":false,"kind":"runtime","optional":false},{"id":26098985970,"package_name":"socket.io-adapter","ecosystem":"npm","requirements":"2.5.6","direct":false,"kind":"runtime","optional":false},{"id":26098985971,"package_name":"ws","ecosystem":"npm","requirements":"8.18.3","direct":false,"kind":"runtime","optional":false},{"id":26098985972,"package_name":"socket.io-parser","ecosystem":"npm","requirements":"4.2.7","direct":false,"kind":"runtime","optional":false},{"id":26098985973,"package_name":"source-map","ecosystem":"npm","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":26098985974,"package_name":"source-map-js","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098985975,"package_name":"split2","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"development","optional":false},{"id":26098985976,"package_name":"statuses","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":26098985977,"package_name":"stoppable","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":26098985978,"package_name":"streamsearch","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":26098985979,"package_name":"string_decoder","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"development","optional":false},{"id":26098985980,"package_name":"string-width","ecosystem":"npm","requirements":"4.2.3","direct":false,"kind":"development","optional":false},{"id":26098985981,"package_name":"strip-ansi","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":26098985982,"package_name":"superagent","ecosystem":"npm","requirements":"10.3.0","direct":false,"kind":"development","optional":false},{"id":26098985983,"package_name":"mime","ecosystem":"npm","requirements":"2.6.0","direct":false,"kind":"development","optional":false},{"id":26098985984,"package_name":"supertest","ecosystem":"npm","requirements":"7.2.2","direct":false,"kind":"development","optional":false},{"id":26098985985,"package_name":"cookie-signature","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"development","optional":false},{"id":26098985986,"package_name":"supports-color","ecosystem":"npm","requirements":"7.2.0","direct":false,"kind":"development","optional":false},{"id":26098985987,"package_name":"table","ecosystem":"npm","requirements":"6.9.0","direct":false,"kind":"development","optional":false},{"id":26098985988,"package_name":"tldts","ecosystem":"npm","requirements":"6.1.86","direct":false,"kind":"development","optional":false},{"id":26098985989,"package_name":"tldts-core","ecosystem":"npm","requirements":"6.1.86","direct":false,"kind":"development","optional":false},{"id":26098985990,"package_name":"toidentifier","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098985991,"package_name":"tough-cookie","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":26098985992,"package_name":"tslib","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985993,"package_name":"type-detect","ecosystem":"npm","requirements":"4.0.8","direct":false,"kind":"development","optional":false},{"id":26098985994,"package_name":"type-fest","ecosystem":"npm","requirements":"4.41.0","direct":false,"kind":"development","optional":false},{"id":26098985995,"package_name":"type-is","ecosystem":"npm","requirements":"1.6.18","direct":false,"kind":"runtime","optional":false},{"id":26098985996,"package_name":"media-typer","ecosystem":"npm","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":26098985997,"package_name":"typedarray","ecosystem":"npm","requirements":"0.0.6","direct":false,"kind":"development","optional":false},{"id":26098985998,"package_name":"uglify-js","ecosystem":"npm","requirements":"3.19.3","direct":false,"kind":"development","optional":false},{"id":26098985999,"package_name":"uid-safe","ecosystem":"npm","requirements":"2.1.5","direct":false,"kind":"development","optional":false},{"id":26098986000,"package_name":"uid2","ecosystem":"npm","requirements":"0.0.4","direct":false,"kind":"development","optional":false},{"id":26098986001,"package_name":"undici-types","ecosystem":"npm","requirements":"7.16.0","direct":false,"kind":"runtime","optional":false},{"id":26098986002,"package_name":"universalify","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":26098986003,"package_name":"unpipe","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098986004,"package_name":"utils-merge","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098986005,"package_name":"vary","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":26098986006,"package_name":"vue","ecosystem":"npm","requirements":"3.5.26","direct":false,"kind":"runtime","optional":false},{"id":26098986007,"package_name":"vuex","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986008,"package_name":"worker-factory","ecosystem":"npm","requirements":"7.0.50","direct":false,"kind":"development","optional":false},{"id":26098986009,"package_name":"worker-timers","ecosystem":"npm","requirements":"8.0.34","direct":false,"kind":"development","optional":false},{"id":26098986010,"package_name":"worker-timers-broker","ecosystem":"npm","requirements":"8.0.18","direct":false,"kind":"development","optional":false},{"id":26098986011,"package_name":"worker-timers-worker","ecosystem":"npm","requirements":"9.0.15","direct":false,"kind":"development","optional":false},{"id":26098986012,"package_name":"wrappy","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":26098986013,"package_name":"ws","ecosystem":"npm","requirements":"7.5.11","direct":false,"kind":"development","optional":false},{"id":26098986014,"package_name":"xml2js","ecosystem":"npm","requirements":"0.6.2","direct":false,"kind":"development","optional":false},{"id":26098986015,"package_name":"xmlbuilder","ecosystem":"npm","requirements":"11.0.1","direct":false,"kind":"development","optional":false},{"id":26098986016,"package_name":"yallist","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":26098986017,"package_name":"zrender","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release-channel-software-beta.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:52.340Z","updated_at":"2026-08-13T19:32:52.340Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/release-channel-software-beta.yml","dependencies":[{"id":26098984969,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984970,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"v1.0.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"npm","filepath":"node-red/nodes/package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:53.518Z","updated_at":"2026-08-13T19:32:53.518Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/node-red/nodes/package-lock.json","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/release-channel-documentation-beta.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:52.177Z","updated_at":"2026-08-13T19:32:52.177Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/release-channel-documentation-beta.yml","dependencies":[{"id":26098984965,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984966,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"v1.0.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release-channel-stable.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:52.497Z","updated_at":"2026-08-13T19:32:52.497Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/release-channel-stable.yml","dependencies":[{"id":26098984973,"package_name":"lewagon/wait-on-check-action","ecosystem":"actions","requirements":"v1.4.1","direct":true,"kind":"composite","optional":false},{"id":26098984974,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984975,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"v1.0.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"npm","filepath":"os/image/package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:55.165Z","updated_at":"2026-08-13T19:32:55.165Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/os/image/package-lock.json","dependencies":[{"id":26098986024,"package_name":"dedent","ecosystem":"npm","requirements":"1.7.2","direct":false,"kind":"runtime","optional":false},{"id":26098986025,"package_name":"ini","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098986026,"package_name":"signal-exit","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986027,"package_name":"write-file-atomic","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"os/pkos/package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:55.322Z","updated_at":"2026-08-13T19:32:55.322Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/os/pkos/package-lock.json","dependencies":[{"id":26098986031,"package_name":"ini","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"segmenter/pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:56.910Z","updated_at":"2026-08-13T19:32:56.910Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/segmenter/pyproject.toml","dependencies":[{"id":26098986282,"package_name":"paho-mqtt","ecosystem":"pypi","requirements":"\u003e=2.1.0,\u003c3","direct":true,"kind":"runtime","optional":false},{"id":26098986283,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=2.3.3,\u003c3","direct":true,"kind":"runtime","optional":false},{"id":26098986284,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=2.3.3,\u003c3","direct":true,"kind":"runtime","optional":false},{"id":26098986285,"package_name":"loguru","ecosystem":"pypi","requirements":"\u003e=0.7.3,\u003c0.8","direct":true,"kind":"runtime","optional":false},{"id":26098986286,"package_name":"opencv-python-headless","ecosystem":"pypi","requirements":"\u003e=4.6.0.66,\u003c5","direct":true,"kind":"runtime","optional":false},{"id":26098986287,"package_name":"scikit-image","ecosystem":"pypi","requirements":"\u003e=0.25.2,\u003c0.26","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"node-red/package.json","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:55.076Z","updated_at":"2026-08-13T19:32:55.076Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/node-red/package.json","dependencies":[{"id":26098986018,"package_name":"@flowfuse/node-red-dashboard","ecosystem":"npm","requirements":"~1.30.2","direct":true,"kind":"runtime","optional":false},{"id":26098986019,"package_name":"@flowfuse/node-red-dashboard-2-ui-flowviewer","ecosystem":"npm","requirements":"~1.0.2","direct":true,"kind":"runtime","optional":false},{"id":26098986020,"package_name":"node-red-node-ui-list","ecosystem":"npm","requirements":"~0.3.6","direct":true,"kind":"runtime","optional":false},{"id":26098986021,"package_name":"nrlint","ecosystem":"npm","requirements":"^1.2.0","direct":true,"kind":"development","optional":false},{"id":26098986022,"package_name":"node-red","ecosystem":"npm","requirements":"^5.0.1","direct":true,"kind":"development","optional":false},{"id":26098986023,"package_name":"node-red-node-test-helper","ecosystem":"npm","requirements":"^0.3.6","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"controller/uv.lock","sha":null,"kind":"lockfile","created_at":"2026-08-13T19:32:56.503Z","updated_at":"2026-08-13T19:32:56.503Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/controller/uv.lock","dependencies":[{"id":26098986159,"package_name":"adafruit-blinka","ecosystem":"pypi","requirements":"8.66.2","direct":false,"kind":"runtime","optional":false},{"id":26098986160,"package_name":"adafruit-circuitpython-busdevice","ecosystem":"pypi","requirements":"5.2.14","direct":false,"kind":"runtime","optional":false},{"id":26098986161,"package_name":"adafruit-circuitpython-connectionmanager","ecosystem":"pypi","requirements":"3.1.6","direct":false,"kind":"runtime","optional":false},{"id":26098986162,"package_name":"adafruit-circuitpython-mcp4725","ecosystem":"pypi","requirements":"1.4.19","direct":false,"kind":"runtime","optional":false},{"id":26098986163,"package_name":"adafruit-circuitpython-motor","ecosystem":"pypi","requirements":"3.4.18","direct":false,"kind":"runtime","optional":false},{"id":26098986164,"package_name":"adafruit-circuitpython-motorkit","ecosystem":"pypi","requirements":"1.6.19","direct":false,"kind":"runtime","optional":false},{"id":26098986165,"package_name":"adafruit-circuitpython-pca9685","ecosystem":"pypi","requirements":"3.4.20","direct":false,"kind":"runtime","optional":false},{"id":26098986166,"package_name":"adafruit-circuitpython-register","ecosystem":"pypi","requirements":"1.11.1","direct":false,"kind":"runtime","optional":false},{"id":26098986167,"package_name":"adafruit-circuitpython-requests","ecosystem":"pypi","requirements":"4.1.14","direct":false,"kind":"runtime","optional":false},{"id":26098986168,"package_name":"adafruit-circuitpython-typing","ecosystem":"pypi","requirements":"1.12.3","direct":false,"kind":"runtime","optional":false},{"id":26098986169,"package_name":"adafruit-gpio","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098986170,"package_name":"adafruit-platformdetect","ecosystem":"pypi","requirements":"3.84.1","direct":false,"kind":"runtime","optional":false},{"id":26098986171,"package_name":"adafruit-pureio","ecosystem":"pypi","requirements":"1.1.11","direct":false,"kind":"runtime","optional":false},{"id":26098986172,"package_name":"adafruit-ssd1306","ecosystem":"pypi","requirements":"1.6.2","direct":false,"kind":"runtime","optional":false},{"id":26098986173,"package_name":"aiofiles","ecosystem":"pypi","requirements":"25.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986174,"package_name":"aiomqtt","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":26098986175,"package_name":"attrs","ecosystem":"pypi","requirements":"25.4.0","direct":false,"kind":"runtime","optional":false},{"id":26098986176,"package_name":"av","ecosystem":"pypi","requirements":"16.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098986177,"package_name":"binho-host-adapter","ecosystem":"pypi","requirements":"0.1.6","direct":false,"kind":"runtime","optional":false},{"id":26098986178,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":26098986179,"package_name":"colorzero","ecosystem":"pypi","requirements":"2.0","direct":false,"kind":"runtime","optional":false},{"id":26098986180,"package_name":"gpiozero","ecosystem":"pypi","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098986181,"package_name":"jsonschema","ecosystem":"pypi","requirements":"4.25.1","direct":false,"kind":"runtime","optional":false},{"id":26098986182,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"2025.9.1","direct":false,"kind":"runtime","optional":false},{"id":26098986183,"package_name":"libarchive-c","ecosystem":"pypi","requirements":"5.3","direct":false,"kind":"runtime","optional":false},{"id":26098986184,"package_name":"loguru","ecosystem":"pypi","requirements":"0.7.3","direct":false,"kind":"runtime","optional":false},{"id":26098986185,"package_name":"mypy","ecosystem":"pypi","requirements":"1.18.2","direct":false,"kind":"runtime","optional":false},{"id":26098986186,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986187,"package_name":"numpy","ecosystem":"pypi","requirements":"2.3.4","direct":false,"kind":"runtime","optional":false},{"id":26098986188,"package_name":"openexr","ecosystem":"pypi","requirements":"3.4.4","direct":false,"kind":"runtime","optional":false},{"id":26098986189,"package_name":"paho-mqtt","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986190,"package_name":"pastel","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":26098986191,"package_name":"pathspec","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":26098986192,"package_name":"picamera2","ecosystem":"pypi","requirements":"0.3.34","direct":false,"kind":"runtime","optional":false},{"id":26098986193,"package_name":"pidng","ecosystem":"pypi","requirements":"4.0.9","direct":false,"kind":"runtime","optional":false},{"id":26098986194,"package_name":"piexif","ecosystem":"pypi","requirements":"1.1.3","direct":false,"kind":"runtime","optional":false},{"id":26098986195,"package_name":"pillow","ecosystem":"pypi","requirements":"12.0.0","direct":false,"kind":"runtime","optional":false},{"id":26098986196,"package_name":"planktoscope-controller","ecosystem":"pypi","requirements":"0.0.1","direct":false,"kind":"runtime","optional":false},{"id":26098986197,"package_name":"poethepoet","ecosystem":"pypi","requirements":"0.37.0","direct":false,"kind":"runtime","optional":false},{"id":26098986198,"package_name":"pyftdi","ecosystem":"pypi","requirements":"0.57.1","direct":false,"kind":"runtime","optional":false},{"id":26098986199,"package_name":"pyserial","ecosystem":"pypi","requirements":"3.5","direct":false,"kind":"runtime","optional":false},{"id":26098986200,"package_name":"python-prctl","ecosystem":"pypi","requirements":"1.8.1","direct":false,"kind":"runtime","optional":false},{"id":26098986201,"package_name":"pyusb","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":26098986202,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":26098986203,"package_name":"readerwriterlock","ecosystem":"pypi","requirements":"1.0.9","direct":false,"kind":"runtime","optional":false},{"id":26098986204,"package_name":"referencing","ecosystem":"pypi","requirements":"0.37.0","direct":false,"kind":"runtime","optional":false},{"id":26098986205,"package_name":"rpds-py","ecosystem":"pypi","requirements":"0.28.0","direct":false,"kind":"runtime","optional":false},{"id":26098986206,"package_name":"rpi-gpio","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":26098986207,"package_name":"ruff","ecosystem":"pypi","requirements":"0.13.3","direct":false,"kind":"runtime","optional":false},{"id":26098986208,"package_name":"setuptools","ecosystem":"pypi","requirements":"80.9.0","direct":false,"kind":"runtime","optional":false},{"id":26098986209,"package_name":"simplejpeg","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":26098986210,"package_name":"smbus2","ecosystem":"pypi","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":26098986211,"package_name":"spidev","ecosystem":"pypi","requirements":"3.8","direct":false,"kind":"runtime","optional":false},{"id":26098986212,"package_name":"sysv-ipc","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26098986213,"package_name":"tqdm","ecosystem":"pypi","requirements":"4.67.1","direct":false,"kind":"runtime","optional":false},{"id":26098986214,"package_name":"types-aiofiles","ecosystem":"pypi","requirements":"25.1.0.20251011","direct":false,"kind":"runtime","optional":false},{"id":26098986215,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.15.0","direct":false,"kind":"runtime","optional":false},{"id":26098986216,"package_name":"videodev2","ecosystem":"pypi","requirements":"0.0.4","direct":false,"kind":"runtime","optional":false},{"id":26098986217,"package_name":"win32-setctime","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"os/image/package.json","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:55.243Z","updated_at":"2026-08-13T19:32:55.243Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/os/image/package.json","dependencies":[{"id":26098986028,"package_name":"dedent","ecosystem":"npm","requirements":"^1.7.2","direct":true,"kind":"runtime","optional":false},{"id":26098986029,"package_name":"ini","ecosystem":"npm","requirements":"^6.0.0","direct":true,"kind":"runtime","optional":false},{"id":26098986030,"package_name":"write-file-atomic","ecosystem":"npm","requirements":"^7.0.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"npm","filepath":"os/pkos/package.json","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:55.407Z","updated_at":"2026-08-13T19:32:55.407Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/os/pkos/package.json","dependencies":[{"id":26098986032,"package_name":"ini","ecosystem":"npm","requirements":"^7.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build-os-bookworm.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:51.421Z","updated_at":"2026-08-13T19:32:51.421Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/build-os-bookworm.yml","dependencies":[]},{"ecosystem":"npm","filepath":"lib/package.json","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:53.431Z","updated_at":"2026-08-13T19:32:53.431Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/lib/package.json","dependencies":[{"id":26098985453,"package_name":"csv-parse","ecosystem":"npm","requirements":"^7.0.0","direct":true,"kind":"runtime","optional":false},{"id":26098985454,"package_name":"dbus.js","ecosystem":"npm","requirements":"^0.1.0","direct":true,"kind":"runtime","optional":false},{"id":26098985455,"package_name":"execa","ecosystem":"npm","requirements":"^9.6.1","direct":true,"kind":"runtime","optional":false},{"id":26098985456,"package_name":"i2c-bus","ecosystem":"npm","requirements":"^5.2.3","direct":true,"kind":"runtime","optional":false},{"id":26098985457,"package_name":"ini","ecosystem":"npm","requirements":"^7.0.0","direct":true,"kind":"runtime","optional":false},{"id":26098985458,"package_name":"isomorphic-git","ecosystem":"npm","requirements":"^1.38.5","direct":true,"kind":"runtime","optional":false},{"id":26098985459,"package_name":"js-yaml","ecosystem":"npm","requirements":"^4.3.0","direct":true,"kind":"runtime","optional":false},{"id":26098985460,"package_name":"mime","ecosystem":"npm","requirements":"^4.1.0","direct":true,"kind":"runtime","optional":false},{"id":26098985461,"package_name":"mqtt","ecosystem":"npm","requirements":"^5.15.1","direct":true,"kind":"runtime","optional":false},{"id":26098985462,"package_name":"observable-polyfill","ecosystem":"npm","requirements":"^0.0.29","direct":true,"kind":"runtime","optional":false},{"id":26098985463,"package_name":"p-event","ecosystem":"npm","requirements":"^7.1.0","direct":true,"kind":"runtime","optional":false},{"id":26098985464,"package_name":"systemctl.js","ecosystem":"npm","requirements":"^0.1.0","direct":true,"kind":"runtime","optional":false},{"id":26098985465,"package_name":"wait-port","ecosystem":"npm","requirements":"^1.1.0","direct":true,"kind":"runtime","optional":false},{"id":26098985466,"package_name":"zod","ecosystem":"npm","requirements":"^4.4.3","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build-segmenter.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:51.595Z","updated_at":"2026-08-13T19:32:51.595Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/build-segmenter.yml","dependencies":[{"id":26098984953,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984954,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build-controller.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:51.342Z","updated_at":"2026-08-13T19:32:51.342Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/build-controller.yml","dependencies":[{"id":26098984945,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984946,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release-channel-software-stable.yml","sha":null,"kind":"manifest","created_at":"2026-08-13T19:32:52.420Z","updated_at":"2026-08-13T19:32:52.420Z","repository_link":"https://github.com/fairscope/PlanktoScope/blob/main/.github/workflows/release-channel-software-stable.yml","dependencies":[{"id":26098984971,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26098984972,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"v1.0.0","direct":true,"kind":"composite","optional":false}]}],"score":8.337109129562474,"created_at":"2026-03-10T00:15:13.294Z","updated_at":"2026-08-30T03:36:07.085Z","avatar_url":"https://github.com/fairscope.png","language":"Python","category":"Biosphere","sub_category":"Marine Life and Fishery","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# PlanktoScope: Open and Affordable Quantitative Imaging Platform\n\n![planktoscope_hero](documentation/docs/images/project_description/planktoscope_hero.png)\n\n## What are Plankton?\n\n_\"Drifting endlessly, midway between the sea of air above and the depths of the abyss below, these strange creatures and the marine inflorescence that sustains them are called 'plankton' — the wanderers\"_ - **[Rachel Carson](https://en.wikipedia.org/wiki/Rachel_Carson)**\n\nPlankton are tiny organisms that drift in the oceans and play a crucial role in the global ecosystem. They are responsible for fixing 30-50% of the world's carbon dioxide and form the foundation of the global food chain. Despite their importance, studying plankton can be challenging due to the vast area of the oceans and the limited resources of research fleets and specialized equipment. The PlanktoScope is an open-source hardware and software platform that aims to make it easier to study plankton by providing high-throughput quantitative imaging capabilities at a low cost.\n\n## What is a PlanktoScope?\n\n![The PlanktoScope at tfom23 Expo](documentation/docs/images/planktoscope-buildworkshops-tfom23-expo.jpg)\n\nThe PlanktoScope is a modular, open-source platform for high-throughput quantitative imaging of plankton samples. Its small size, ease of use, and low cost make it suitable for a variety of applications, including the monitoring of laboratory cultures or natural micro-plankton communities. It can be controlled from any WiFi-enabled device and can be easily reconfigured to meet the changing needs of the user.\n\n[Learn more about how it works](https://www.planktoscope.org/how-it-works)\n\n## Read the Paper\n\nThe PlanktoScope has been described in the article [\"PlanktoScope: Affordable Modular Quantitative Imaging Platform for Citizen Oceanography\"](https://www.frontiersin.org/articles/10.3389/fmars.2022.949428/full), published in Frontiers in Marine Science in July 2022.\n\nDOI: [https://doi.org/10.3389/fmars.2022.949428](https://doi.org/10.3389/fmars.2022.949428)\n\n## Key Features\n\n![planktoscope_hero](documentation/docs/images/project_description/planktoscope_architecture.png)\n\nHere are some key features of the PlanktoScope:\n\n1. **Low cost**: The PlanktoScope is designed to be affordable, with parts costing under $1000.\n2. **Modular**: The PlanktoScope is modular, meaning it can be easily reconfigured to meet the changing needs of users.\n3. **Open-source**: The PlanktoScope is based on open-source hardware and software, making it accessible to a wide community of engineers, researchers, and citizens.\n4. **Versatility**: The PlanktoScope is versatile, and can be used to study a variety of plankton types, including laboratory cultures and natural micro-plankton communities.\n5. **High-throughput**: The PlanktoScope is capable of high-throughput quantitative imaging, allowing users to analyze large numbers of samples quickly and efficiently.\n6. **WiFi-enabled**: The PlanktoScope can be controlled from any WiFi-enabled device, making it easy to use and deploy in a variety of settings.\n7. **Portable**: The PlanktoScope is small and portable, making it easy to transport and use in the field.\n8. **Ease of use**: The PlanktoScope is designed to be easy to use, with instructions for assembly and use available on the PlanktoScope website.\n\n## How do I get one?\n\nYou can access the complete documentation here: [https://planktoscope.github.io/PlanktoScope/](https://docs.planktoscope.community/)\n|Get the kit|Assemble your kit|Start your machine|\n|--|--|--|\n|![Get the kit](documentation/docs/images/readme/get_kit.png)|![Assemble your kit](documentation/docs/images/readme/assemble_kit.png)|![Start your machine](documentation/docs/images/readme/start_pscope.png)|\n\n## Getting Involved\n\nThere are several ways you can join the development effort and contribute to this project.\n\n### Communication Platform\n\nWe use Slack as a communication platform for interested parties. You can request to join by filling out [this form](https://www.fairscope.com/slack).\n\n### Reporting Issues\n\nIf you have identified a bug in the software or hardware, please open an issue in this repository to report it.\n\n### Contributing to Development\n\nYou can also contribute to the development effort by working on open issues. Check out the [issues labeled as good first issues](https://github.com/fairscope/PlanktoScope/labels/good%20first%20issue) and let us know in the comments if you are interested in working on one. We may be able to provide guidance as you get started with the code.\n\n## License Information\n\nThis repository contains various types of materials that are covered by different licenses. Please read the following information carefully to determine which license applies to the materials you wish to use.\n\n### Hardware Files\n\nAll hardware files and documentation located in the `hardware` directory are released under the [CERN-OHL-S-2.0](https://ohwr.org/cern_ohl_s_v2.txt) license.\n\n### Software Source Code\n\nThe source code is released under the [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) license.\n\n### Other Materials\n\nAll other materials, including documentation and pictures, are released under the [Creative Commons CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) license.\n\nIf you wish to use any of the materials in this repository for a project that cannot be open-sourced, please contact us using Slack so we can discuss potential solutions.\n\nWe encourage you to fork this repository and publish any improvements you make. Doing so helps others and allows us to potentially integrate your changes into this repository.\n\n## Citing PlanktoScope\n\nIf you use PlanktoScope in your research, please use the following BibTeX entry.\n\n```\n@article{Pollina2022PlanktoScope,\n  author={Pollina, Thibaut and Larson, Adam G. and Lombard, Fabien and Li, Hongquan and Le Guen, David and Colin, Sébastien and de Vargas, Colomban and Prakash, Manu},\n  title={PlanktoScope: Affordable Modular Quantitative Imaging Platform for Citizen Oceanography},\n  journal={Frontiers in Marine Science},\n  year={2022},\n  doi={10.3389/fmars.2022.949428}\n}\n```\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.3389/fmars.2022.949428"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["frugal","raspberry"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/347832","html_url":"https://ost.ecosyste.ms/projects/347832"}