{"id":147684,"name":"BattINFO","description":"Consists of a list of entities representing concepts used in batteries and electrochemistry.","url":"https://github.com/big-map/battinfo","last_synced_at":"2026-09-04T00:31:04.000Z","repository":{"id":38196088,"uuid":"305931222","full_name":"BIG-MAP/BattINFO","owner":"BIG-MAP","description":"A Battery Interface Ontology based on EMMO","archived":false,"fork":false,"pushed_at":"2026-09-02T14:07:45.000Z","size":23650,"stargazers_count":59,"open_issues_count":19,"forks_count":16,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-09-03T00:08:53.620Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://big-map.github.io/BattINFO/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BIG-MAP.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2020-10-21T06:39:03.000Z","updated_at":"2026-09-02T14:28:54.000Z","dependencies_parsed_at":"2026-08-26T20:40:58.512Z","dependency_job_id":null,"html_url":"https://github.com/BIG-MAP/BattINFO","commit_stats":{"total_commits":449,"total_committers":18,"mean_commits":"24.944444444444443","dds":0.643652561247216,"last_synced_commit":"a098746e243e1a022bcdc7cc8ca50408578e666f"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/BIG-MAP/BattINFO","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BIG-MAP","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":37019795,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-03T02:00:05.968Z","response_time":58,"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":"BIG-MAP","name":"BIG-MAP","uuid":"75324577","kind":"organization","description":"Battery Interface Genome - Materials Acceleration Platform.  Promoting accelerated discovery of novel battery materials.","email":null,"website":"https://www.big-map.eu/","location":"Europe","twitter":"BIGMAP_EU","company":null,"icon_url":"https://avatars.githubusercontent.com/u/75324577?v=4","repositories_count":16,"last_synced_at":"2023-03-05T23:35:45.738Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/BIG-MAP","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T00:48:49.865Z","updated_at":"2023-03-05T23:35:45.754Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BIG-MAP","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BIG-MAP/repositories"},"packages":[{"id":11677218,"name":"github.com/BIG-MAP/BattINFO","ecosystem":"go","description":null,"homepage":null,"licenses":"apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/BIG-MAP/BattINFO","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2025-05-23T10:08:40.463Z","latest_release_published_at":"2023-08-18T08:10:17.000Z","latest_release_number":"v0.6.0","last_synced_at":"2026-09-03T00:04:11.732Z","created_at":"2025-05-23T10:08:39.774Z","updated_at":"2026-09-03T00:04:11.732Z","registry_url":"https://pkg.go.dev/github.com/BIG-MAP/BattINFO","install_command":"go get github.com/BIG-MAP/BattINFO","documentation_url":"https://pkg.go.dev/github.com/BIG-MAP/BattINFO#section-documentation","metadata":{},"repo_metadata":{"id":38196088,"uuid":"305931222","full_name":"BIG-MAP/BattINFO","owner":"BIG-MAP","description":"A Battery Interface Ontology based on EMMO","archived":false,"fork":false,"pushed_at":"2026-08-26T04:16:07.000Z","size":22410,"stargazers_count":58,"open_issues_count":24,"forks_count":16,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-08-26T20:34:39.554Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://big-map.github.io/BattINFO/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BIG-MAP.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2020-10-21T06:39:03.000Z","updated_at":"2026-08-26T00:19:25.000Z","dependencies_parsed_at":"2026-08-26T20:40:58.512Z","dependency_job_id":null,"html_url":"https://github.com/BIG-MAP/BattINFO","commit_stats":{"total_commits":449,"total_committers":18,"mean_commits":"24.944444444444443","dds":0.643652561247216,"last_synced_commit":"a098746e243e1a022bcdc7cc8ca50408578e666f"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/BIG-MAP/BattINFO","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BIG-MAP","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36929786,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-26T02:00:06.703Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"BIG-MAP","name":"BIG-MAP","uuid":"75324577","kind":"organization","description":"Battery Interface Genome - Materials Acceleration Platform.  Promoting accelerated discovery of novel battery materials.","email":null,"website":"https://www.big-map.eu/","location":"Europe","twitter":"BIGMAP_EU","company":null,"icon_url":"https://avatars.githubusercontent.com/u/75324577?v=4","repositories_count":16,"last_synced_at":"2023-03-05T23:35:45.738Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/BIG-MAP","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T00:48:49.865Z","updated_at":"2023-03-05T23:35:45.754Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BIG-MAP","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BIG-MAP/repositories"},"tags":[{"name":"v0.6.0","sha":"39530a81a6292d32f7abff6b99c21d150e0a90e6","kind":"commit","published_at":"2023-08-18T08:10:17.000Z","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/v0.6.0","html_url":"https://github.com/BIG-MAP/BattINFO/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/BIG-MAP/BattINFO@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/v0.6.0/manifests"},{"name":"0.5.0","sha":"2ab6a91d4e7a7fbc113aa32fcb9b4fb90e487e38","kind":"commit","published_at":"2023-04-16T22:28:13.000Z","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/0.5.0","html_url":"https://github.com/BIG-MAP/BattINFO/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/BIG-MAP/BattINFO@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/0.5.0/manifests"},{"name":"v0.2.0","sha":"0b47ae661b4c947825ac48887dce167913af9e44","kind":"commit","published_at":"2022-01-12T23:33:05.000Z","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/v0.2.0","html_url":"https://github.com/BIG-MAP/BattINFO/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/BIG-MAP/BattINFO@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/v0.2.0/manifests"},{"name":"test","sha":"858500a02ca0a660845e0f3b9b205bf53788606d","kind":"commit","published_at":"2021-06-16T12:53:51.000Z","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/test","html_url":"https://github.com/BIG-MAP/BattINFO/releases/tag/test","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/BIG-MAP/BattINFO@test","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/test","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/test/manifests"}]},"repo_metadata_updated_at":"2026-08-26T22:59:09.047Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.825186304275193,"dependent_packages_count":5.4589533387888975,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.642069821532045},"purl":"pkg:golang/github.com/%21b%21i%21g-%21m%21a%21p/%21batt%21i%21n%21f%21o","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/BIG-MAP/BattINFO","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/BIG-MAP/BattINFO","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/BIG-MAP/BattINFO/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-26T20:30:47.358Z","issues_count":65,"pull_requests_count":320,"avg_time_to_close_issue":14630256.02173913,"avg_time_to_close_pull_request":2681707.6989966556,"issues_closed_count":46,"pull_requests_closed_count":299,"pull_request_authors_count":11,"issue_authors_count":18,"avg_comments_per_issue":0.9846153846153847,"avg_comments_per_pull_request":0.925,"merged_pull_requests_count":201,"bot_issues_count":1,"bot_pull_requests_count":164,"past_year_issues_count":14,"past_year_pull_requests_count":113,"past_year_avg_time_to_close_issue":652462.8333333334,"past_year_avg_time_to_close_pull_request":128576.9633027523,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":109,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.9292035398230089,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":31,"past_year_merged_pull_requests_count":97,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/big-map%2Fbattinfo/issues","maintainers":[{"login":"jsimonclark","count":108,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jsimonclark"},{"login":"CasperWA","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CasperWA"},{"login":"jesper-friis","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jesper-friis"},{"login":"francescalb","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/francescalb"},{"login":"eibar-flores","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eibar-flores"}],"active_maintainers":[{"login":"jsimonclark","count":90,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jsimonclark"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FBIG-MAP%2FBattINFO/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FBIG-MAP%2FBattINFO/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FBIG-MAP%2FBattINFO/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FBIG-MAP%2FBattINFO/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FBIG-MAP%2FBattINFO/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FBIG-MAP%2FBattINFO/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2282225,"maintainers_count":0,"namespaces_count":839591,"keywords_count":126448,"github":"golang","metadata":{"funded_packages_count":72260,"sync_missing_packages_cursor":{"timestamp":"2026-08-17T00:00:58.969562Z","path":"github.com/Tektoncd/operator","version":"v0.78.0"},"rate_limit":1},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-09-03T05:01:28.847Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":11677236,"name":"github.com/big-map/battinfo","ecosystem":"go","description":null,"homepage":null,"licenses":"apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/big-map/battinfo","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2022-01-12T23:33:05.000Z","latest_release_published_at":"2023-08-18T08:10:17.000Z","latest_release_number":"v0.6.0","last_synced_at":"2026-09-02T02:16:06.601Z","created_at":"2025-05-23T10:08:41.090Z","updated_at":"2026-09-02T02:16:06.601Z","registry_url":"https://pkg.go.dev/github.com/big-map/battinfo","install_command":"go get github.com/big-map/battinfo","documentation_url":"https://pkg.go.dev/github.com/big-map/battinfo#section-documentation","metadata":{},"repo_metadata":{"id":38196088,"uuid":"305931222","full_name":"BIG-MAP/BattINFO","owner":"BIG-MAP","description":"A Battery Interface Ontology based on EMMO","archived":false,"fork":false,"pushed_at":"2026-08-26T04:16:07.000Z","size":22410,"stargazers_count":58,"open_issues_count":24,"forks_count":16,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-08-26T20:34:39.554Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://big-map.github.io/BattINFO/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BIG-MAP.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2020-10-21T06:39:03.000Z","updated_at":"2026-08-26T00:19:25.000Z","dependencies_parsed_at":"2026-08-26T20:40:58.512Z","dependency_job_id":null,"html_url":"https://github.com/BIG-MAP/BattINFO","commit_stats":{"total_commits":449,"total_committers":18,"mean_commits":"24.944444444444443","dds":0.643652561247216,"last_synced_commit":"a098746e243e1a022bcdc7cc8ca50408578e666f"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/BIG-MAP/BattINFO","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BIG-MAP","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36929786,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-26T02:00:06.703Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"BIG-MAP","name":"BIG-MAP","uuid":"75324577","kind":"organization","description":"Battery Interface Genome - Materials Acceleration Platform.  Promoting accelerated discovery of novel battery materials.","email":null,"website":"https://www.big-map.eu/","location":"Europe","twitter":"BIGMAP_EU","company":null,"icon_url":"https://avatars.githubusercontent.com/u/75324577?v=4","repositories_count":16,"last_synced_at":"2023-03-05T23:35:45.738Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/BIG-MAP","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T00:48:49.865Z","updated_at":"2023-03-05T23:35:45.754Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BIG-MAP","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BIG-MAP/repositories"},"tags":[{"name":"v0.6.0","sha":"39530a81a6292d32f7abff6b99c21d150e0a90e6","kind":"commit","published_at":"2023-08-18T08:10:17.000Z","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/v0.6.0","html_url":"https://github.com/BIG-MAP/BattINFO/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/BIG-MAP/BattINFO@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/v0.6.0/manifests"},{"name":"0.5.0","sha":"2ab6a91d4e7a7fbc113aa32fcb9b4fb90e487e38","kind":"commit","published_at":"2023-04-16T22:28:13.000Z","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/0.5.0","html_url":"https://github.com/BIG-MAP/BattINFO/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/BIG-MAP/BattINFO@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/0.5.0/manifests"},{"name":"v0.2.0","sha":"0b47ae661b4c947825ac48887dce167913af9e44","kind":"commit","published_at":"2022-01-12T23:33:05.000Z","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/v0.2.0","html_url":"https://github.com/BIG-MAP/BattINFO/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/BIG-MAP/BattINFO@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/v0.2.0/manifests"},{"name":"test","sha":"858500a02ca0a660845e0f3b9b205bf53788606d","kind":"commit","published_at":"2021-06-16T12:53:51.000Z","download_url":"https://codeload.github.com/BIG-MAP/BattINFO/tar.gz/test","html_url":"https://github.com/BIG-MAP/BattINFO/releases/tag/test","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/BIG-MAP/BattINFO@test","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/test","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIG-MAP%2FBattINFO/tags/test/manifests"}]},"repo_metadata_updated_at":"2026-08-26T22:59:09.050Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.825186304275193,"dependent_packages_count":5.4589533387888975,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.642069821532045},"purl":"pkg:golang/github.com/big-map/battinfo","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/big-map/battinfo","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/big-map/battinfo","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/big-map/battinfo/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-26T20:30:47.358Z","issues_count":65,"pull_requests_count":320,"avg_time_to_close_issue":14630256.02173913,"avg_time_to_close_pull_request":2681707.6989966556,"issues_closed_count":46,"pull_requests_closed_count":299,"pull_request_authors_count":11,"issue_authors_count":18,"avg_comments_per_issue":0.9846153846153847,"avg_comments_per_pull_request":0.925,"merged_pull_requests_count":201,"bot_issues_count":1,"bot_pull_requests_count":164,"past_year_issues_count":14,"past_year_pull_requests_count":113,"past_year_avg_time_to_close_issue":652462.8333333334,"past_year_avg_time_to_close_pull_request":128576.9633027523,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":109,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.9292035398230089,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":31,"past_year_merged_pull_requests_count":97,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/big-map%2Fbattinfo/issues","maintainers":[{"login":"jsimonclark","count":108,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jsimonclark"},{"login":"CasperWA","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CasperWA"},{"login":"jesper-friis","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jesper-friis"},{"login":"francescalb","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/francescalb"},{"login":"eibar-flores","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eibar-flores"}],"active_maintainers":[{"login":"jsimonclark","count":90,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jsimonclark"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbig-map%2Fbattinfo/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbig-map%2Fbattinfo/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbig-map%2Fbattinfo/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbig-map%2Fbattinfo/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbig-map%2Fbattinfo/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbig-map%2Fbattinfo/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2282225,"maintainers_count":0,"namespaces_count":839591,"keywords_count":126448,"github":"golang","metadata":{"funded_packages_count":72260,"sync_missing_packages_cursor":{"timestamp":"2026-08-17T00:00:58.969562Z","path":"github.com/Tektoncd/operator","version":"v0.78.0"},"rate_limit":1},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-09-03T05:01:28.847Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":1452993,"full_name":"big-map/battinfo","default_branch":"master","total_commits":766,"total_committers":11,"total_bot_commits":54,"total_bot_committers":1,"mean_commits":69.63636363636364,"dds":0.41383812010443866,"past_year_total_commits":316,"past_year_total_committers":3,"past_year_total_bot_commits":27,"past_year_total_bot_committers":1,"past_year_mean_commits":105.33333333333333,"past_year_dds":0.08860759493670889,"last_synced_at":"2026-09-03T12:14:06.437Z","last_synced_commit":"1833ad8474b7d7efd9b885a1e6a8d0f1ababcc8f","created_at":"2023-12-06T00:16:35.443Z","updated_at":"2026-09-03T11:20:28.288Z","committers":[{"name":"Simon Clark","email":"simon.clark@sintef.no","login":"jsimonclark","count":449},{"name":"francescalb","email":"francesca.l.bleken@sintef.no","login":"francescalb","count":89},{"name":"Jesper Friis","email":"jesper.friis@sintef.no","login":"jesper-friis","count":86},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":54},{"name":"Casper Welzel Andersen","email":"casper.w.andersen@sintef.no","login":"CasperWA","count":41},{"name":"eibar-flores","email":"111871848+eibar-flores","login":"eibar-flores","count":28},{"name":"Xavier Raynaud","email":"xav.raynaud@gmail.com","login":"xavierr","count":7},{"name":"hendelhendel","email":"snijderhendrik@gmail.com","login":"hendelhendel","count":6},{"name":"BattINFO Developers","email":"BattINFO@big-map.org","login":null,"count":3},{"name":"Simon Stier","email":"75166544+SimonStier","login":"SimonStier","count":2},{"name":"Tom Holland","email":"137503955+tomjholland","login":"tomjholland","count":1}],"past_year_committers":[{"name":"Simon Clark","email":"simon.clark@sintef.no","login":"jsimonclark","count":288},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":27},{"name":"Tom Holland","email":"137503955+tomjholland","login":"tomjholland","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/big-map%2Fbattinfo/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-09-04T00:00:08.108Z","repositories_count":7014096,"commits_count":1014873105,"contributors_count":43583665,"owners_count":1400135,"committers_count":3424563,"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":"big-map/battinfo","html_url":"https://github.com/big-map/battinfo","last_synced_at":"2026-09-03T00:03:07.474Z","status":null,"issues_count":65,"pull_requests_count":329,"avg_time_to_close_issue":13564594.98,"avg_time_to_close_pull_request":2602684.1391585763,"issues_closed_count":50,"pull_requests_closed_count":309,"pull_request_authors_count":11,"issue_authors_count":18,"avg_comments_per_issue":1.0,"avg_comments_per_pull_request":0.9483282674772037,"merged_pull_requests_count":210,"bot_issues_count":1,"bot_pull_requests_count":170,"past_year_issues_count":14,"past_year_pull_requests_count":122,"past_year_avg_time_to_close_issue":915274.9,"past_year_avg_time_to_close_pull_request":137930.1344537815,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":119,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":0.6428571428571429,"past_year_avg_comments_per_pull_request":0.9918032786885246,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":37,"past_year_merged_pull_requests_count":106,"created_at":"2023-12-06T00:16:49.250Z","updated_at":"2026-09-03T00:03:07.474Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/big-map%2Fbattinfo","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/big-map%2Fbattinfo/issues","issue_labels_count":{"bug":12,"enhancement":11,"documentation":8,"CI/CD":6,"question":3,"invalid":1},"pull_request_labels_count":{"CI/CD":135,"dependencies":37,"python:uv":19,"github_actions":14,"javascript":4,"enhancement":3,"documentation":2,"bug":1},"issue_author_associations_count":{"COLLABORATOR":49,"NONE":14,"CONTRIBUTOR":2},"pull_request_author_associations_count":{"CONTRIBUTOR":177,"COLLABORATOR":151,"NONE":1},"issue_authors":{"CasperWA":17,"jesper-friis":12,"jsimonclark":11,"eibar-flores":6,"CorsinBattaglia":3,"francescalb":3,"helgestein":2,"ruben-parra":1,"deepananbu":1,"augustjohansson":1,"delahousse":1,"SabinePaar":1,"johnmugisa":1,"fengel":1,"ml-evs":1,"dependabot[bot]":1,"NukP":1,"tomjholland":1},"pull_request_authors":{"dependabot[bot]":170,"jsimonclark":100,"francescalb":19,"jesper-friis":17,"CasperWA":13,"SimonStier":4,"eibar-flores":2,"tomjholland":1,"JeroenGommans":1,"djui":1,"hendelhendel":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-09-04T00:00:07.423Z","repositories_count":16743781,"issues_count":44284715,"pull_requests_count":140303753,"authors_count":11625053,"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":{"bug":3,"enhancement":1},"past_year_pull_request_labels_count":{"dependencies":37,"python:uv":19,"github_actions":14,"javascript":4},"past_year_issue_author_associations_count":{"COLLABORATOR":10,"NONE":3,"CONTRIBUTOR":1},"past_year_pull_request_author_associations_count":{"COLLABORATOR":83,"CONTRIBUTOR":38,"NONE":1},"past_year_issue_authors":{"jsimonclark":10,"CorsinBattaglia":1,"johnmugisa":1,"ml-evs":1,"tomjholland":1},"past_year_pull_request_authors":{"jsimonclark":83,"dependabot[bot]":37,"djui":1,"tomjholland":1},"maintainers":[{"login":"jsimonclark","count":111,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jsimonclark"},{"login":"CasperWA","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CasperWA"},{"login":"jesper-friis","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jesper-friis"},{"login":"francescalb","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/francescalb"},{"login":"eibar-flores","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eibar-flores"}],"active_maintainers":[{"login":"jsimonclark","count":93,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jsimonclark"}]},"events":{"total":{"CreateEvent":32,"DeleteEvent":24,"ForkEvent":2,"IssueCommentEvent":5,"IssuesEvent":4,"PullRequestEvent":4,"PushEvent":66,"WatchEvent":10},"last_year":{"CreateEvent":30,"DeleteEvent":22,"IssueCommentEvent":1,"IssuesEvent":1,"PushEvent":66,"WatchEvent":3}},"keywords":[],"dependencies":[{"ecosystem":"npm","filepath":"web/package.json","sha":null,"kind":"manifest","created_at":"2026-08-12T13:53:49.333Z","updated_at":"2026-08-12T13:53:49.333Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/web/package.json","dependencies":[{"id":26081794869,"package_name":"@vercel/analytics","ecosystem":"npm","requirements":"^1.3.1","direct":true,"kind":"runtime","optional":false},{"id":26081794870,"package_name":"ajv","ecosystem":"npm","requirements":"^8.20.0","direct":true,"kind":"runtime","optional":false},{"id":26081794871,"package_name":"ajv-formats","ecosystem":"npm","requirements":"^3.0.1","direct":true,"kind":"runtime","optional":false},{"id":26081794872,"package_name":"jsonld","ecosystem":"npm","requirements":"^9.0.0","direct":true,"kind":"runtime","optional":false},{"id":26081794873,"package_name":"next","ecosystem":"npm","requirements":"^16.2.11","direct":true,"kind":"runtime","optional":false},{"id":26081794874,"package_name":"react","ecosystem":"npm","requirements":"18.3.1","direct":true,"kind":"runtime","optional":false},{"id":26081794875,"package_name":"react-dom","ecosystem":"npm","requirements":"18.3.1","direct":true,"kind":"runtime","optional":false},{"id":26081794876,"package_name":"@types/jsonld","ecosystem":"npm","requirements":"^1.5.15","direct":true,"kind":"development","optional":false},{"id":26081794877,"package_name":"@types/node","ecosystem":"npm","requirements":"20.14.10","direct":true,"kind":"development","optional":false},{"id":26081794878,"package_name":"@types/react","ecosystem":"npm","requirements":"18.3.3","direct":true,"kind":"development","optional":false},{"id":26081794879,"package_name":"@types/react-dom","ecosystem":"npm","requirements":"18.3.0","direct":true,"kind":"development","optional":false},{"id":26081794880,"package_name":"autoprefixer","ecosystem":"npm","requirements":"10.4.19","direct":true,"kind":"development","optional":false},{"id":26081794881,"package_name":"postcss","ecosystem":"npm","requirements":"8.5.25","direct":true,"kind":"development","optional":false},{"id":26081794882,"package_name":"tailwindcss","ecosystem":"npm","requirements":"3.4.6","direct":true,"kind":"development","optional":false},{"id":26081794883,"package_name":"tsx","ecosystem":"npm","requirements":"^4.23.0","direct":true,"kind":"development","optional":false},{"id":26081794884,"package_name":"typescript","ecosystem":"npm","requirements":"5.5.3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/docs.yml","sha":null,"kind":"manifest","created_at":"2026-08-12T13:53:48.986Z","updated_at":"2026-08-12T13:53:48.986Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/.github/workflows/docs.yml","dependencies":[{"id":26081793828,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081793829,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081793831,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081793833,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v8","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/security.yml","sha":null,"kind":"manifest","created_at":"2026-08-12T13:53:49.192Z","updated_at":"2026-08-12T13:53:49.192Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/.github/workflows/security.yml","dependencies":[{"id":26081794410,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081794411,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081794412,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v4.37.3","direct":true,"kind":"composite","optional":false},{"id":26081794413,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v4.37.3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release.yml","sha":null,"kind":"manifest","created_at":"2026-08-12T13:53:49.131Z","updated_at":"2026-08-12T13:53:49.131Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/.github/workflows/release.yml","dependencies":[{"id":26081794289,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081794290,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081794291,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081794292,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v8","direct":true,"kind":"composite","optional":false},{"id":26081794293,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false},{"id":26081794294,"package_name":"softprops/action-gh-release","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"npm","filepath":"web/package-lock.json","sha":null,"kind":"lockfile","created_at":"2026-08-12T13:53:49.245Z","updated_at":"2026-08-12T13:53:49.245Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/web/package-lock.json","dependencies":[{"id":26081794471,"package_name":"@alloc/quick-lru","ecosystem":"npm","requirements":"5.2.0","direct":false,"kind":"development","optional":false},{"id":26081794472,"package_name":"@digitalbazaar/http-client","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"runtime","optional":false},{"id":26081794473,"package_name":"@emnapi/runtime","ecosystem":"npm","requirements":"1.11.3","direct":false,"kind":"runtime","optional":false},{"id":26081794474,"package_name":"@esbuild/aix-ppc64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794475,"package_name":"@esbuild/android-arm","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794476,"package_name":"@esbuild/android-arm64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794477,"package_name":"@esbuild/android-x64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794478,"package_name":"@esbuild/darwin-arm64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794479,"package_name":"@esbuild/darwin-x64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794480,"package_name":"@esbuild/freebsd-arm64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794481,"package_name":"@esbuild/freebsd-x64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794482,"package_name":"@esbuild/linux-arm","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794483,"package_name":"@esbuild/linux-arm64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794484,"package_name":"@esbuild/linux-ia32","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794485,"package_name":"@esbuild/linux-loong64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794486,"package_name":"@esbuild/linux-mips64el","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794487,"package_name":"@esbuild/linux-ppc64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794488,"package_name":"@esbuild/linux-riscv64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794489,"package_name":"@esbuild/linux-s390x","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794491,"package_name":"@esbuild/linux-x64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794492,"package_name":"@esbuild/netbsd-arm64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794493,"package_name":"@esbuild/netbsd-x64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794495,"package_name":"@esbuild/openbsd-arm64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794497,"package_name":"@esbuild/openbsd-x64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794499,"package_name":"@esbuild/openharmony-arm64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794501,"package_name":"@esbuild/sunos-x64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794503,"package_name":"@esbuild/win32-arm64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794505,"package_name":"@esbuild/win32-ia32","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794507,"package_name":"@esbuild/win32-x64","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794509,"package_name":"@img/colour","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081794510,"package_name":"@img/sharp-darwin-arm64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794512,"package_name":"@img/sharp-darwin-x64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794513,"package_name":"@img/sharp-freebsd-wasm32","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794515,"package_name":"@img/sharp-libvips-darwin-arm64","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794516,"package_name":"@img/sharp-libvips-darwin-x64","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794517,"package_name":"@img/sharp-libvips-linux-arm","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794518,"package_name":"@img/sharp-libvips-linux-arm64","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794519,"package_name":"@img/sharp-libvips-linux-ppc64","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794520,"package_name":"@img/sharp-libvips-linux-riscv64","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794521,"package_name":"@img/sharp-libvips-linux-s390x","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794522,"package_name":"@img/sharp-libvips-linux-x64","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794523,"package_name":"@img/sharp-libvips-linuxmusl-arm64","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794524,"package_name":"@img/sharp-libvips-linuxmusl-x64","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081794525,"package_name":"@img/sharp-linux-arm","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794526,"package_name":"@img/sharp-linux-arm64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794527,"package_name":"@img/sharp-linux-ppc64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794528,"package_name":"@img/sharp-linux-riscv64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794529,"package_name":"@img/sharp-linux-s390x","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794530,"package_name":"@img/sharp-linux-x64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794531,"package_name":"@img/sharp-linuxmusl-arm64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794532,"package_name":"@img/sharp-linuxmusl-x64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794533,"package_name":"@img/sharp-wasm32","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794534,"package_name":"@img/sharp-webcontainers-wasm32","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794536,"package_name":"@img/sharp-win32-arm64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794537,"package_name":"@img/sharp-win32-ia32","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794539,"package_name":"@img/sharp-win32-x64","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794540,"package_name":"@jridgewell/gen-mapping","ecosystem":"npm","requirements":"0.3.13","direct":false,"kind":"development","optional":false},{"id":26081794541,"package_name":"@jridgewell/resolve-uri","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"development","optional":false},{"id":26081794542,"package_name":"@jridgewell/sourcemap-codec","ecosystem":"npm","requirements":"1.5.5","direct":false,"kind":"development","optional":false},{"id":26081794543,"package_name":"@jridgewell/trace-mapping","ecosystem":"npm","requirements":"0.3.31","direct":false,"kind":"development","optional":false},{"id":26081794544,"package_name":"@next/env","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794545,"package_name":"@next/swc-darwin-arm64","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794546,"package_name":"@next/swc-darwin-x64","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794547,"package_name":"@next/swc-linux-arm64-gnu","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794548,"package_name":"@next/swc-linux-arm64-musl","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794549,"package_name":"@next/swc-linux-x64-gnu","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794550,"package_name":"@next/swc-linux-x64-musl","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794551,"package_name":"@next/swc-win32-arm64-msvc","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794552,"package_name":"@next/swc-win32-x64-msvc","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794553,"package_name":"@nodelib/fs.scandir","ecosystem":"npm","requirements":"2.1.5","direct":false,"kind":"development","optional":false},{"id":26081794554,"package_name":"@nodelib/fs.stat","ecosystem":"npm","requirements":"2.0.5","direct":false,"kind":"development","optional":false},{"id":26081794555,"package_name":"@nodelib/fs.walk","ecosystem":"npm","requirements":"1.2.8","direct":false,"kind":"development","optional":false},{"id":26081794556,"package_name":"@swc/helpers","ecosystem":"npm","requirements":"0.5.15","direct":false,"kind":"runtime","optional":false},{"id":26081794557,"package_name":"@types/jsonld","ecosystem":"npm","requirements":"1.5.15","direct":false,"kind":"development","optional":false},{"id":26081794558,"package_name":"@types/node","ecosystem":"npm","requirements":"20.14.10","direct":false,"kind":"development","optional":false},{"id":26081794559,"package_name":"@types/prop-types","ecosystem":"npm","requirements":"15.7.15","direct":false,"kind":"development","optional":false},{"id":26081794560,"package_name":"@types/react","ecosystem":"npm","requirements":"18.3.3","direct":false,"kind":"development","optional":false},{"id":26081794561,"package_name":"@types/react-dom","ecosystem":"npm","requirements":"18.3.0","direct":false,"kind":"development","optional":false},{"id":26081794562,"package_name":"@vercel/analytics","ecosystem":"npm","requirements":"1.6.1","direct":false,"kind":"runtime","optional":false},{"id":26081794563,"package_name":"ajv","ecosystem":"npm","requirements":"8.20.0","direct":false,"kind":"runtime","optional":false},{"id":26081794564,"package_name":"ajv-formats","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26081794565,"package_name":"any-promise","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"development","optional":false},{"id":26081794566,"package_name":"anymatch","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"development","optional":false},{"id":26081794567,"package_name":"arg","ecosystem":"npm","requirements":"5.0.2","direct":false,"kind":"development","optional":false},{"id":26081794568,"package_name":"autoprefixer","ecosystem":"npm","requirements":"10.4.19","direct":false,"kind":"development","optional":false},{"id":26081794569,"package_name":"baseline-browser-mapping","ecosystem":"npm","requirements":"2.10.37","direct":false,"kind":"runtime","optional":false},{"id":26081794570,"package_name":"binary-extensions","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"development","optional":false},{"id":26081794571,"package_name":"braces","ecosystem":"npm","requirements":"3.0.3","direct":false,"kind":"development","optional":false},{"id":26081794572,"package_name":"browserslist","ecosystem":"npm","requirements":"4.28.2","direct":false,"kind":"development","optional":false},{"id":26081794573,"package_name":"camelcase-css","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":26081794574,"package_name":"caniuse-lite","ecosystem":"npm","requirements":"1.0.30001799","direct":false,"kind":"runtime","optional":false},{"id":26081794575,"package_name":"canonicalize","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081794576,"package_name":"chokidar","ecosystem":"npm","requirements":"3.6.0","direct":false,"kind":"development","optional":false},{"id":26081794577,"package_name":"glob-parent","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":26081794578,"package_name":"client-only","ecosystem":"npm","requirements":"0.0.1","direct":false,"kind":"runtime","optional":false},{"id":26081794579,"package_name":"commander","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":26081794580,"package_name":"cssesc","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26081794581,"package_name":"csstype","ecosystem":"npm","requirements":"3.2.3","direct":false,"kind":"development","optional":false},{"id":26081794582,"package_name":"detect-libc","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":26081794583,"package_name":"didyoumean","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"development","optional":false},{"id":26081794584,"package_name":"dlv","ecosystem":"npm","requirements":"1.1.3","direct":false,"kind":"development","optional":false},{"id":26081794585,"package_name":"electron-to-chromium","ecosystem":"npm","requirements":"1.5.372","direct":false,"kind":"development","optional":false},{"id":26081794586,"package_name":"es-errors","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"development","optional":false},{"id":26081794587,"package_name":"esbuild","ecosystem":"npm","requirements":"0.28.1","direct":false,"kind":"development","optional":false},{"id":26081794588,"package_name":"escalade","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"development","optional":false},{"id":26081794589,"package_name":"fast-deep-equal","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"runtime","optional":false},{"id":26081794590,"package_name":"fast-glob","ecosystem":"npm","requirements":"3.3.3","direct":false,"kind":"development","optional":false},{"id":26081794591,"package_name":"fast-uri","ecosystem":"npm","requirements":"3.1.5","direct":false,"kind":"runtime","optional":false},{"id":26081794592,"package_name":"fastq","ecosystem":"npm","requirements":"1.20.1","direct":false,"kind":"development","optional":false},{"id":26081794593,"package_name":"fill-range","ecosystem":"npm","requirements":"7.1.1","direct":false,"kind":"development","optional":false},{"id":26081794594,"package_name":"fraction.js","ecosystem":"npm","requirements":"4.3.7","direct":false,"kind":"development","optional":false},{"id":26081794595,"package_name":"fsevents","ecosystem":"npm","requirements":"2.3.3","direct":false,"kind":"development","optional":false},{"id":26081794596,"package_name":"function-bind","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"development","optional":false},{"id":26081794597,"package_name":"glob-parent","ecosystem":"npm","requirements":"6.0.2","direct":false,"kind":"development","optional":false},{"id":26081794598,"package_name":"hasown","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"development","optional":false},{"id":26081794600,"package_name":"is-binary-path","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":26081794601,"package_name":"is-core-module","ecosystem":"npm","requirements":"2.16.2","direct":false,"kind":"development","optional":false},{"id":26081794602,"package_name":"is-extglob","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":26081794604,"package_name":"is-glob","ecosystem":"npm","requirements":"4.0.3","direct":false,"kind":"development","optional":false},{"id":26081794605,"package_name":"is-number","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"development","optional":false},{"id":26081794607,"package_name":"jiti","ecosystem":"npm","requirements":"1.21.7","direct":false,"kind":"development","optional":false},{"id":26081794609,"package_name":"js-tokens","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081794610,"package_name":"json-schema-traverse","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081794612,"package_name":"jsonld","ecosystem":"npm","requirements":"9.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081794614,"package_name":"ky","ecosystem":"npm","requirements":"1.14.3","direct":false,"kind":"runtime","optional":false},{"id":26081794615,"package_name":"lilconfig","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":26081794617,"package_name":"lines-and-columns","ecosystem":"npm","requirements":"1.2.4","direct":false,"kind":"development","optional":false},{"id":26081794619,"package_name":"loose-envify","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":26081794621,"package_name":"lru-cache","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081794623,"package_name":"merge2","ecosystem":"npm","requirements":"1.4.1","direct":false,"kind":"development","optional":false},{"id":26081794625,"package_name":"micromatch","ecosystem":"npm","requirements":"4.0.8","direct":false,"kind":"development","optional":false},{"id":26081794627,"package_name":"mz","ecosystem":"npm","requirements":"2.7.0","direct":false,"kind":"development","optional":false},{"id":26081794629,"package_name":"nanoid","ecosystem":"npm","requirements":"3.3.17","direct":false,"kind":"runtime","optional":false},{"id":26081794631,"package_name":"next","ecosystem":"npm","requirements":"16.2.11","direct":false,"kind":"runtime","optional":false},{"id":26081794633,"package_name":"node-releases","ecosystem":"npm","requirements":"2.0.47","direct":false,"kind":"development","optional":false},{"id":26081794635,"package_name":"normalize-path","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26081794636,"package_name":"normalize-range","ecosystem":"npm","requirements":"0.1.2","direct":false,"kind":"development","optional":false},{"id":26081794637,"package_name":"object-assign","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":26081794638,"package_name":"object-hash","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":26081794639,"package_name":"path-parse","ecosystem":"npm","requirements":"1.0.7","direct":false,"kind":"development","optional":false},{"id":26081794640,"package_name":"picocolors","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26081794641,"package_name":"picomatch","ecosystem":"npm","requirements":"2.3.2","direct":false,"kind":"development","optional":false},{"id":26081794642,"package_name":"pify","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"development","optional":false},{"id":26081794643,"package_name":"pirates","ecosystem":"npm","requirements":"4.0.7","direct":false,"kind":"development","optional":false},{"id":26081794644,"package_name":"postcss","ecosystem":"npm","requirements":"8.5.25","direct":false,"kind":"runtime","optional":false},{"id":26081794645,"package_name":"postcss-import","ecosystem":"npm","requirements":"15.1.0","direct":false,"kind":"development","optional":false},{"id":26081794646,"package_name":"postcss-js","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":26081794647,"package_name":"postcss-nested","ecosystem":"npm","requirements":"6.2.0","direct":false,"kind":"development","optional":false},{"id":26081794648,"package_name":"postcss-selector-parser","ecosystem":"npm","requirements":"6.1.4","direct":false,"kind":"development","optional":false},{"id":26081794649,"package_name":"postcss-value-parser","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"development","optional":false},{"id":26081794650,"package_name":"queue-microtask","ecosystem":"npm","requirements":"1.2.3","direct":false,"kind":"development","optional":false},{"id":26081794651,"package_name":"rdf-canonize","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081794652,"package_name":"react","ecosystem":"npm","requirements":"18.3.1","direct":false,"kind":"runtime","optional":false},{"id":26081794653,"package_name":"react-dom","ecosystem":"npm","requirements":"18.3.1","direct":false,"kind":"runtime","optional":false},{"id":26081794654,"package_name":"read-cache","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26081794655,"package_name":"readdirp","ecosystem":"npm","requirements":"3.6.0","direct":false,"kind":"development","optional":false},{"id":26081794656,"package_name":"require-from-string","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":26081794657,"package_name":"resolve","ecosystem":"npm","requirements":"1.22.12","direct":false,"kind":"development","optional":false},{"id":26081794658,"package_name":"reusify","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":26081794659,"package_name":"run-parallel","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":26081794660,"package_name":"scheduler","ecosystem":"npm","requirements":"0.23.2","direct":false,"kind":"runtime","optional":false},{"id":26081794661,"package_name":"semver","ecosystem":"npm","requirements":"7.8.5","direct":false,"kind":"runtime","optional":false},{"id":26081794662,"package_name":"setimmediate","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":26081794663,"package_name":"sharp","ecosystem":"npm","requirements":"0.35.3","direct":false,"kind":"runtime","optional":false},{"id":26081794664,"package_name":"source-map-js","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":26081794665,"package_name":"styled-jsx","ecosystem":"npm","requirements":"5.1.6","direct":false,"kind":"runtime","optional":false},{"id":26081794666,"package_name":"sucrase","ecosystem":"npm","requirements":"3.35.1","direct":false,"kind":"development","optional":false},{"id":26081794667,"package_name":"supports-preserve-symlinks-flag","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":26081794668,"package_name":"tailwindcss","ecosystem":"npm","requirements":"3.4.6","direct":false,"kind":"development","optional":false},{"id":26081794669,"package_name":"postcss-load-config","ecosystem":"npm","requirements":"4.0.2","direct":false,"kind":"development","optional":false},{"id":26081794670,"package_name":"lilconfig","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"development","optional":false},{"id":26081794671,"package_name":"thenify","ecosystem":"npm","requirements":"3.3.1","direct":false,"kind":"development","optional":false},{"id":26081794672,"package_name":"thenify-all","ecosystem":"npm","requirements":"1.6.0","direct":false,"kind":"development","optional":false},{"id":26081794673,"package_name":"tinyglobby","ecosystem":"npm","requirements":"0.2.17","direct":false,"kind":"development","optional":false},{"id":26081794674,"package_name":"fdir","ecosystem":"npm","requirements":"6.5.0","direct":false,"kind":"development","optional":false},{"id":26081794675,"package_name":"picomatch","ecosystem":"npm","requirements":"4.0.4","direct":false,"kind":"development","optional":false},{"id":26081794676,"package_name":"to-regex-range","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":26081794677,"package_name":"ts-interface-checker","ecosystem":"npm","requirements":"0.1.13","direct":false,"kind":"development","optional":false},{"id":26081794678,"package_name":"tslib","ecosystem":"npm","requirements":"2.8.1","direct":false,"kind":"runtime","optional":false},{"id":26081794679,"package_name":"tsx","ecosystem":"npm","requirements":"4.23.0","direct":false,"kind":"development","optional":false},{"id":26081794680,"package_name":"typescript","ecosystem":"npm","requirements":"5.5.3","direct":false,"kind":"development","optional":false},{"id":26081794681,"package_name":"undici","ecosystem":"npm","requirements":"6.28.0","direct":false,"kind":"runtime","optional":false},{"id":26081794682,"package_name":"undici-types","ecosystem":"npm","requirements":"5.26.5","direct":false,"kind":"development","optional":false},{"id":26081794683,"package_name":"update-browserslist-db","ecosystem":"npm","requirements":"1.2.3","direct":false,"kind":"development","optional":false},{"id":26081794684,"package_name":"util-deprecate","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":26081794685,"package_name":"yallist","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081794686,"package_name":"yaml","ecosystem":"npm","requirements":"2.9.0","direct":false,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"uv.lock","sha":null,"kind":"lockfile","created_at":"2026-08-12T13:53:49.516Z","updated_at":"2026-08-12T13:53:49.516Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/uv.lock","dependencies":[{"id":26081797131,"package_name":"openpyxl","ecosystem":"pypi","requirements":"3.1.5","direct":false,"kind":"runtime","optional":false},{"id":26081795796,"package_name":"accessible-pygments","ecosystem":"pypi","requirements":"0.0.5","direct":false,"kind":"runtime","optional":false},{"id":26081795797,"package_name":"alabaster","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081795799,"package_name":"annotated-doc","ecosystem":"pypi","requirements":"0.0.4","direct":false,"kind":"runtime","optional":false},{"id":26081795800,"package_name":"annotated-types","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":26081795801,"package_name":"antlr4-python3-runtime","ecosystem":"pypi","requirements":"4.9.3","direct":false,"kind":"runtime","optional":false},{"id":26081795802,"package_name":"appnope","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":26081795803,"package_name":"arcp","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":26081796871,"package_name":"argcomplete","ecosystem":"pypi","requirements":"3.6.3","direct":false,"kind":"runtime","optional":false},{"id":26081796872,"package_name":"arrow","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":26081796873,"package_name":"ast-serialize","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":26081796874,"package_name":"asttokens","ecosystem":"pypi","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26081796875,"package_name":"attrs","ecosystem":"pypi","requirements":"26.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081796876,"package_name":"autodoc-pydantic","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":"runtime","optional":false},{"id":26081796877,"package_name":"babel","ecosystem":"pypi","requirements":"2.18.0","direct":false,"kind":"runtime","optional":false},{"id":26081796878,"package_name":"backports-tarfile","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26081796879,"package_name":"backports-zstd","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":26081796880,"package_name":"batterydf","ecosystem":"pypi","requirements":"0.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081796881,"package_name":"battinfo","ecosystem":"pypi","requirements":"9.0.4","direct":false,"kind":"runtime","optional":false},{"id":26081796882,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"4.15.0","direct":false,"kind":"runtime","optional":false},{"id":26081796883,"package_name":"black","ecosystem":"pypi","requirements":"26.5.1","direct":false,"kind":"runtime","optional":false},{"id":26081796884,"package_name":"bleach","ecosystem":"pypi","requirements":"6.4.0","direct":false,"kind":"runtime","optional":false},{"id":26081796885,"package_name":"boto3","ecosystem":"pypi","requirements":"1.43.57","direct":false,"kind":"runtime","optional":false},{"id":26081796886,"package_name":"botocore","ecosystem":"pypi","requirements":"1.43.57","direct":false,"kind":"runtime","optional":false},{"id":26081796887,"package_name":"build","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":26081796888,"package_name":"cachetools","ecosystem":"pypi","requirements":"7.1.4","direct":false,"kind":"runtime","optional":false},{"id":26081796889,"package_name":"certifi","ecosystem":"pypi","requirements":"2026.6.17","direct":false,"kind":"runtime","optional":false},{"id":26081796890,"package_name":"cffi","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081796891,"package_name":"cfgraph","ecosystem":"pypi","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":26081796892,"package_name":"chardet","ecosystem":"pypi","requirements":"7.4.3","direct":false,"kind":"runtime","optional":false},{"id":26081796893,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.7","direct":false,"kind":"runtime","optional":false},{"id":26081796894,"package_name":"click","ecosystem":"pypi","requirements":"8.4.1","direct":false,"kind":"runtime","optional":false},{"id":26081796895,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":26081796896,"package_name":"comm","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":26081796897,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":26081796898,"package_name":"coverage","ecosystem":"pypi","requirements":"7.14.1","direct":false,"kind":"runtime","optional":false},{"id":26081796899,"package_name":"cryptography","ecosystem":"pypi","requirements":"50.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081796900,"package_name":"curies","ecosystem":"pypi","requirements":"0.13.13","direct":false,"kind":"runtime","optional":false},{"id":26081796901,"package_name":"cycler","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":26081796902,"package_name":"datamodel-code-generator","ecosystem":"pypi","requirements":"0.71.0","direct":false,"kind":"runtime","optional":false},{"id":26081796903,"package_name":"debugpy","ecosystem":"pypi","requirements":"1.8.21","direct":false,"kind":"runtime","optional":false},{"id":26081796904,"package_name":"decorator","ecosystem":"pypi","requirements":"5.3.1","direct":false,"kind":"runtime","optional":false},{"id":26081796905,"package_name":"defusedxml","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":26081796906,"package_name":"deprecated","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":26081796907,"package_name":"docutils","ecosystem":"pypi","requirements":"0.22.4","direct":false,"kind":"runtime","optional":false},{"id":26081796908,"package_name":"et-xmlfile","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081796910,"package_name":"executing","ecosystem":"pypi","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":26081796911,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"2.21.2","direct":false,"kind":"runtime","optional":false},{"id":26081796912,"package_name":"flexcache","ecosystem":"pypi","requirements":"0.3","direct":false,"kind":"runtime","optional":false},{"id":26081796913,"package_name":"flexparser","ecosystem":"pypi","requirements":"0.4","direct":false,"kind":"runtime","optional":false},{"id":26081796914,"package_name":"fonttools","ecosystem":"pypi","requirements":"4.63.0","direct":false,"kind":"runtime","optional":false},{"id":26081796915,"package_name":"fqdn","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":26081796916,"package_name":"frozendict","ecosystem":"pypi","requirements":"2.4.7","direct":false,"kind":"runtime","optional":false},{"id":26081796917,"package_name":"genson","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26081796918,"package_name":"graphviz","ecosystem":"pypi","requirements":"0.21","direct":false,"kind":"runtime","optional":false},{"id":26081796919,"package_name":"greenlet","ecosystem":"pypi","requirements":"3.5.2","direct":false,"kind":"runtime","optional":false},{"id":26081796920,"package_name":"hbreader","ecosystem":"pypi","requirements":"0.9.1","direct":false,"kind":"runtime","optional":false},{"id":26081796921,"package_name":"html5rdf","ecosystem":"pypi","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":26081796922,"package_name":"id","ecosystem":"pypi","requirements":"1.6.1","direct":false,"kind":"runtime","optional":false},{"id":26081796923,"package_name":"idna","ecosystem":"pypi","requirements":"3.18","direct":false,"kind":"runtime","optional":false},{"id":26081796924,"package_name":"imagesize","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081796925,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"9.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081796927,"package_name":"inflect","ecosystem":"pypi","requirements":"7.5.0","direct":false,"kind":"runtime","optional":false},{"id":26081796928,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26081796929,"package_name":"ipykernel","ecosystem":"pypi","requirements":"7.3.0","direct":false,"kind":"runtime","optional":false},{"id":26081796930,"package_name":"ipython","ecosystem":"pypi","requirements":"9.15.0","direct":false,"kind":"runtime","optional":false},{"id":26081796931,"package_name":"ipython-pygments-lexers","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26081796932,"package_name":"isodate","ecosystem":"pypi","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":26081796933,"package_name":"isoduration","ecosystem":"pypi","requirements":"20.11.0","direct":false,"kind":"runtime","optional":false},{"id":26081796934,"package_name":"isort","ecosystem":"pypi","requirements":"8.0.1","direct":false,"kind":"runtime","optional":false},{"id":26081796935,"package_name":"jaraco-classes","ecosystem":"pypi","requirements":"3.4.0","direct":false,"kind":"runtime","optional":false},{"id":26081796936,"package_name":"jaraco-context","ecosystem":"pypi","requirements":"6.1.2","direct":false,"kind":"runtime","optional":false},{"id":26081796937,"package_name":"jaraco-functools","ecosystem":"pypi","requirements":"4.5.0","direct":false,"kind":"runtime","optional":false},{"id":26081796938,"package_name":"jedi","ecosystem":"pypi","requirements":"0.20.0","direct":false,"kind":"runtime","optional":false},{"id":26081796939,"package_name":"jeepney","ecosystem":"pypi","requirements":"0.9.0","direct":false,"kind":"runtime","optional":false},{"id":26081796940,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.6","direct":false,"kind":"runtime","optional":false},{"id":26081796941,"package_name":"jmespath","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081796942,"package_name":"json-flattener","ecosystem":"pypi","requirements":"0.1.9","direct":false,"kind":"runtime","optional":false},{"id":26081796943,"package_name":"jsonasobj","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":26081796944,"package_name":"jsonasobj2","ecosystem":"pypi","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":26081796945,"package_name":"jsonpointer","ecosystem":"pypi","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":26081796946,"package_name":"jsonschema","ecosystem":"pypi","requirements":"4.26.0","direct":false,"kind":"runtime","optional":false},{"id":26081796947,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"2025.9.1","direct":false,"kind":"runtime","optional":false},{"id":26081796948,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"8.9.1","direct":false,"kind":"runtime","optional":false},{"id":26081796949,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"5.9.1","direct":false,"kind":"runtime","optional":false},{"id":26081796950,"package_name":"jupyterlab-pygments","ecosystem":"pypi","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":26081796951,"package_name":"keyring","ecosystem":"pypi","requirements":"25.7.0","direct":false,"kind":"runtime","optional":false},{"id":26081796952,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":26081796953,"package_name":"librt","ecosystem":"pypi","requirements":"0.13.0","direct":false,"kind":"runtime","optional":false},{"id":26081796954,"package_name":"linkml","ecosystem":"pypi","requirements":"1.11.1","direct":false,"kind":"runtime","optional":false},{"id":26081796955,"package_name":"linkml-runtime","ecosystem":"pypi","requirements":"1.11.1","direct":false,"kind":"runtime","optional":false},{"id":26081796956,"package_name":"lxml","ecosystem":"pypi","requirements":"6.1.1","direct":false,"kind":"runtime","optional":false},{"id":26081796957,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":26081796958,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":26081796959,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.11.1","direct":false,"kind":"runtime","optional":false},{"id":26081796960,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"0.2.2","direct":false,"kind":"runtime","optional":false},{"id":26081796961,"package_name":"mdit-py-plugins","ecosystem":"pypi","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":26081796962,"package_name":"mdurl","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":26081796963,"package_name":"mistune","ecosystem":"pypi","requirements":"3.3.3","direct":false,"kind":"runtime","optional":false},{"id":26081796964,"package_name":"more-itertools","ecosystem":"pypi","requirements":"11.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081796965,"package_name":"mypy","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26081796966,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081796967,"package_name":"myst-parser","ecosystem":"pypi","requirements":"5.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081796968,"package_name":"narwhals","ecosystem":"pypi","requirements":"2.22.1","direct":false,"kind":"runtime","optional":false},{"id":26081796969,"package_name":"nbclient","ecosystem":"pypi","requirements":"0.11.0","direct":false,"kind":"runtime","optional":false},{"id":26081796970,"package_name":"nbconvert","ecosystem":"pypi","requirements":"7.17.1","direct":false,"kind":"runtime","optional":false},{"id":26081796971,"package_name":"nbformat","ecosystem":"pypi","requirements":"5.10.4","direct":false,"kind":"runtime","optional":false},{"id":26081796972,"package_name":"nbmake","ecosystem":"pypi","requirements":"1.5.5","direct":false,"kind":"runtime","optional":false},{"id":26081796973,"package_name":"nbsphinx","ecosystem":"pypi","requirements":"0.9.8","direct":false,"kind":"runtime","optional":false},{"id":26081796974,"package_name":"nest-asyncio2","ecosystem":"pypi","requirements":"1.7.2","direct":false,"kind":"runtime","optional":false},{"id":26081796975,"package_name":"newarenda","ecosystem":"pypi","requirements":"2026.6.11","direct":false,"kind":"runtime","optional":false},{"id":26081797125,"package_name":"nh3","ecosystem":"pypi","requirements":"0.3.5","direct":false,"kind":"runtime","optional":false},{"id":26081797129,"package_name":"numpy","ecosystem":"pypi","requirements":"2.4.6","direct":false,"kind":"runtime","optional":false},{"id":26081797133,"package_name":"owlrl","ecosystem":"pypi","requirements":"7.6.2","direct":false,"kind":"runtime","optional":false},{"id":26081797137,"package_name":"packaging","ecosystem":"pypi","requirements":"26.2","direct":false,"kind":"runtime","optional":false},{"id":26081797139,"package_name":"pandas","ecosystem":"pypi","requirements":"3.0.5","direct":false,"kind":"runtime","optional":false},{"id":26081797141,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":26081797143,"package_name":"parse","ecosystem":"pypi","requirements":"1.22.1","direct":false,"kind":"runtime","optional":false},{"id":26081797145,"package_name":"parso","ecosystem":"pypi","requirements":"0.8.7","direct":false,"kind":"runtime","optional":false},{"id":26081797147,"package_name":"pathspec","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26081797148,"package_name":"pexpect","ecosystem":"pypi","requirements":"4.9.0","direct":false,"kind":"runtime","optional":false},{"id":26081797150,"package_name":"pillow","ecosystem":"pypi","requirements":"12.3.0","direct":false,"kind":"runtime","optional":false},{"id":26081797152,"package_name":"pint","ecosystem":"pypi","requirements":"0.25.3","direct":false,"kind":"runtime","optional":false},{"id":26081797153,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.10.0","direct":false,"kind":"runtime","optional":false},{"id":26081797155,"package_name":"plotly","ecosystem":"pypi","requirements":"6.9.0","direct":false,"kind":"runtime","optional":false},{"id":26081797157,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":26081797158,"package_name":"polars","ecosystem":"pypi","requirements":"1.42.1","direct":false,"kind":"runtime","optional":false},{"id":26081797160,"package_name":"polars-runtime-32","ecosystem":"pypi","requirements":"1.42.1","direct":false,"kind":"runtime","optional":false},{"id":26081797162,"package_name":"prefixcommons","ecosystem":"pypi","requirements":"0.1.12","direct":false,"kind":"runtime","optional":false},{"id":26081797164,"package_name":"prefixmaps","ecosystem":"pypi","requirements":"0.2.6","direct":false,"kind":"runtime","optional":false},{"id":26081797166,"package_name":"prettytable","ecosystem":"pypi","requirements":"3.17.0","direct":false,"kind":"runtime","optional":false},{"id":26081797168,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"3.0.52","direct":false,"kind":"runtime","optional":false},{"id":26081797169,"package_name":"psutil","ecosystem":"pypi","requirements":"7.2.2","direct":false,"kind":"runtime","optional":false},{"id":26081797171,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":26081797173,"package_name":"pure-eval","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":26081797175,"package_name":"pyarrow","ecosystem":"pypi","requirements":"25.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797177,"package_name":"pycparser","ecosystem":"pypi","requirements":"3.0","direct":false,"kind":"runtime","optional":false},{"id":26081797179,"package_name":"pydantic","ecosystem":"pypi","requirements":"2.13.4","direct":false,"kind":"runtime","optional":false},{"id":26081797181,"package_name":"pydantic-core","ecosystem":"pypi","requirements":"2.46.4","direct":false,"kind":"runtime","optional":false},{"id":26081797183,"package_name":"pydantic-settings","ecosystem":"pypi","requirements":"2.14.2","direct":false,"kind":"runtime","optional":false},{"id":26081797185,"package_name":"pydata-sphinx-theme","ecosystem":"pypi","requirements":"0.20.0","direct":false,"kind":"runtime","optional":false},{"id":26081797187,"package_name":"pygments","ecosystem":"pypi","requirements":"2.20.0","direct":false,"kind":"runtime","optional":false},{"id":26081797188,"package_name":"pyjsg","ecosystem":"pypi","requirements":"0.12.4","direct":false,"kind":"runtime","optional":false},{"id":26081797190,"package_name":"pyld","ecosystem":"pypi","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081797192,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.3.2","direct":false,"kind":"runtime","optional":false},{"id":26081797194,"package_name":"pyproject-hooks","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26081797196,"package_name":"pyshacl","ecosystem":"pypi","requirements":"0.40.1","direct":false,"kind":"runtime","optional":false},{"id":26081797198,"package_name":"pyshex","ecosystem":"pypi","requirements":"0.9.0","direct":false,"kind":"runtime","optional":false},{"id":26081797200,"package_name":"pyshexc","ecosystem":"pypi","requirements":"0.10.3.post1","direct":false,"kind":"runtime","optional":false},{"id":26081797202,"package_name":"pystow","ecosystem":"pypi","requirements":"0.8.18","direct":false,"kind":"runtime","optional":false},{"id":26081797204,"package_name":"pytest","ecosystem":"pypi","requirements":"9.1.1","direct":false,"kind":"runtime","optional":false},{"id":26081797205,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"7.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081797207,"package_name":"pytest-logging","ecosystem":"pypi","requirements":"2015.11.4","direct":false,"kind":"runtime","optional":false},{"id":26081797210,"package_name":"pytest-socket","ecosystem":"pypi","requirements":"0.8.0","direct":false,"kind":"runtime","optional":false},{"id":26081797212,"package_name":"pytest-timeout","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":26081797214,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":26081797216,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":26081797218,"package_name":"pytokens","ecosystem":"pypi","requirements":"0.4.1","direct":false,"kind":"runtime","optional":false},{"id":26081797220,"package_name":"pywin32-ctypes","ecosystem":"pypi","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":26081797222,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":26081797224,"package_name":"pyzmq","ecosystem":"pypi","requirements":"27.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081797227,"package_name":"rdflib","ecosystem":"pypi","requirements":"7.6.0","direct":false,"kind":"runtime","optional":false},{"id":26081797228,"package_name":"rdflib-jsonld","ecosystem":"pypi","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":26081797230,"package_name":"rdflib-shim","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":26081797232,"package_name":"readme-renderer","ecosystem":"pypi","requirements":"45.0","direct":false,"kind":"runtime","optional":false},{"id":26081797235,"package_name":"referencing","ecosystem":"pypi","requirements":"0.37.0","direct":false,"kind":"runtime","optional":false},{"id":26081797237,"package_name":"requests","ecosystem":"pypi","requirements":"2.34.2","direct":false,"kind":"runtime","optional":false},{"id":26081797239,"package_name":"requests-toolbelt","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797241,"package_name":"rfc3339-validator","ecosystem":"pypi","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":26081797243,"package_name":"rfc3986","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797245,"package_name":"rfc3987","ecosystem":"pypi","requirements":"1.3.8","direct":false,"kind":"runtime","optional":false},{"id":26081797247,"package_name":"rich","ecosystem":"pypi","requirements":"15.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797249,"package_name":"rocrate","ecosystem":"pypi","requirements":"0.15.1","direct":false,"kind":"runtime","optional":false},{"id":26081797421,"package_name":"roman-numerals","ecosystem":"pypi","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081797422,"package_name":"rpds-py","ecosystem":"pypi","requirements":"2026.5.1","direct":false,"kind":"runtime","optional":false},{"id":26081797423,"package_name":"ruff","ecosystem":"pypi","requirements":"0.16.0","direct":false,"kind":"runtime","optional":false},{"id":26081797424,"package_name":"s3transfer","ecosystem":"pypi","requirements":"0.19.0","direct":false,"kind":"runtime","optional":false},{"id":26081797425,"package_name":"secretstorage","ecosystem":"pypi","requirements":"3.5.0","direct":false,"kind":"runtime","optional":false},{"id":26081797426,"package_name":"setuptools","ecosystem":"pypi","requirements":"83.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797427,"package_name":"shellingham","ecosystem":"pypi","requirements":"1.5.4","direct":false,"kind":"runtime","optional":false},{"id":26081797428,"package_name":"shexjsg","ecosystem":"pypi","requirements":"0.9.0","direct":false,"kind":"runtime","optional":false},{"id":26081797429,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":26081797430,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":26081797431,"package_name":"soupsieve","ecosystem":"pypi","requirements":"2.8.4","direct":false,"kind":"runtime","optional":false},{"id":26081797432,"package_name":"sparqlslurper","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":26081797433,"package_name":"sparqlwrapper","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797434,"package_name":"sphinx","ecosystem":"pypi","requirements":"9.0.4","direct":false,"kind":"runtime","optional":false},{"id":26081797435,"package_name":"sphinx","ecosystem":"pypi","requirements":"9.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081797436,"package_name":"sphinx-click","ecosystem":"pypi","requirements":"6.2.0","direct":false,"kind":"runtime","optional":false},{"id":26081797437,"package_name":"sphinx-design","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":26081797438,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797439,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797440,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26081797441,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26081797442,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797443,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797444,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"2.0.51","direct":false,"kind":"runtime","optional":false},{"id":26081797445,"package_name":"stack-data","ecosystem":"pypi","requirements":"0.6.3","direct":false,"kind":"runtime","optional":false},{"id":26081797446,"package_name":"tinycss2","ecosystem":"pypi","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":26081797447,"package_name":"tomli","ecosystem":"pypi","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":26081797448,"package_name":"tornado","ecosystem":"pypi","requirements":"6.5.7","direct":false,"kind":"runtime","optional":false},{"id":26081797449,"package_name":"tqdm","ecosystem":"pypi","requirements":"4.68.3","direct":false,"kind":"runtime","optional":false},{"id":26081797450,"package_name":"traitlets","ecosystem":"pypi","requirements":"5.15.1","direct":false,"kind":"runtime","optional":false},{"id":26081797451,"package_name":"twine","ecosystem":"pypi","requirements":"7.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797452,"package_name":"typeguard","ecosystem":"pypi","requirements":"4.5.2","direct":false,"kind":"runtime","optional":false},{"id":26081797453,"package_name":"typer","ecosystem":"pypi","requirements":"0.27.0","direct":false,"kind":"runtime","optional":false},{"id":26081797454,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.15.0","direct":false,"kind":"runtime","optional":false},{"id":26081797455,"package_name":"typing-inspection","ecosystem":"pypi","requirements":"0.4.2","direct":false,"kind":"runtime","optional":false},{"id":26081797456,"package_name":"tzdata","ecosystem":"pypi","requirements":"2026.2","direct":false,"kind":"runtime","optional":false},{"id":26081797457,"package_name":"uri-template","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":26081797458,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.7.0","direct":false,"kind":"runtime","optional":false},{"id":26081797459,"package_name":"watchdog","ecosystem":"pypi","requirements":"6.0.0","direct":false,"kind":"runtime","optional":false},{"id":26081797460,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.8.1","direct":false,"kind":"runtime","optional":false},{"id":26081797461,"package_name":"webcolors","ecosystem":"pypi","requirements":"25.10.0","direct":false,"kind":"runtime","optional":false},{"id":26081797462,"package_name":"webencodings","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":26081797463,"package_name":"wheel","ecosystem":"pypi","requirements":"0.47.0","direct":false,"kind":"runtime","optional":false},{"id":26081797464,"package_name":"wrapt","ecosystem":"pypi","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":26081797465,"package_name":"xmltodict","ecosystem":"pypi","requirements":"1.0.4","direct":false,"kind":"runtime","optional":false},{"id":26081797466,"package_name":"zipp","ecosystem":"pypi","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-08-12T13:53:49.451Z","updated_at":"2026-08-12T13:53:49.451Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/pyproject.toml","dependencies":[{"id":26081795227,"package_name":"pydantic","ecosystem":"pypi","requirements":"\u003e=2.7","direct":true,"kind":"runtime","optional":false},{"id":26081795230,"package_name":"typer","ecosystem":"pypi","requirements":"\u003e=0.27.0","direct":true,"kind":"runtime","optional":false},{"id":26081795232,"package_name":"rich","ecosystem":"pypi","requirements":"\u003e=13.7","direct":true,"kind":"runtime","optional":false},{"id":26081795236,"package_name":"jsonschema","ecosystem":"pypi","requirements":"\u003e=4.21","direct":true,"kind":"runtime","optional":false},{"id":26081795239,"package_name":"rdflib","ecosystem":"pypi","requirements":"\u003e=7.0","direct":true,"kind":"runtime","optional":false},{"id":26081795241,"package_name":"pyld","ecosystem":"pypi","requirements":"\u003e=3.1.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2026-08-12T13:53:48.924Z","updated_at":"2026-08-12T13:53:48.924Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/.github/workflows/ci.yml","dependencies":[{"id":26081793806,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081793807,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081793808,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081793809,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/install-smoke.yml","sha":null,"kind":"manifest","created_at":"2026-08-12T13:53:49.065Z","updated_at":"2026-08-12T13:53:49.065Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/.github/workflows/install-smoke.yml","dependencies":[{"id":26081794098,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":26081794099,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2026-08-12T13:53:49.390Z","updated_at":"2026-08-12T13:53:49.390Z","repository_link":"https://github.com/BIG-MAP/BattINFO/blob/main/docs/requirements.txt","dependencies":[{"id":26081794945,"package_name":"sphinx","ecosystem":"pypi","requirements":"\u003e=7.3","direct":true,"kind":"runtime","optional":false},{"id":26081794946,"package_name":"pydata-sphinx-theme","ecosystem":"pypi","requirements":"\u003e=0.20.0","direct":true,"kind":"runtime","optional":false},{"id":26081794947,"package_name":"myst-parser","ecosystem":"pypi","requirements":"\u003e=3.0","direct":true,"kind":"runtime","optional":false},{"id":26081794948,"package_name":"nbsphinx","ecosystem":"pypi","requirements":"\u003e=0.9","direct":true,"kind":"runtime","optional":false},{"id":26081794949,"package_name":"sphinx-design","ecosystem":"pypi","requirements":"\u003e=0.6","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2023-12-06T00:10:53.056Z","updated_at":"2026-09-04T00:31:04.000Z","avatar_url":"https://github.com/BIG-MAP.png","language":"Python","category":"Sustainable Development","sub_category":"Taxonomy and Ontology","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"brand/assets/logo/logo-horizontal-on-dark.svg\"\u003e\n  \u003cimg alt=\"BattINFO\" src=\"brand/assets/logo/logo-horizontal.svg\" width=\"420\"\u003e\n\u003c/picture\u003e\n\n### The semantic data layer for battery technology\n\nCreate, validate, and publish battery metadata as machine-readable Linked Data —\ntyped against [EMMO domain-battery](https://github.com/emmo-repo/domain-battery)\nand resolvable through persistent `https://w3id.org/battinfo/` identifiers.\n\n\u003c!-- Badges · status --\u003e\n[![CI](https://github.com/BIG-MAP/BattINFO/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/BIG-MAP/BattINFO/actions/workflows/ci.yml)\n[![Python](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2FBIG-MAP%2FBattINFO%2Fmain%2Fpyproject.toml\u0026logo=python\u0026logoColor=white)](https://github.com/BIG-MAP/BattINFO/blob/main/pyproject.toml)\n[![Version](https://img.shields.io/badge/version-0.7.0-blue)](https://github.com/BIG-MAP/BattINFO/releases)\n[![License: Apache 2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)\n\u003cbr/\u003e\n\u003c!-- Badges · activity \u0026 quality --\u003e\n[![Contributors](https://img.shields.io/github/contributors/BIG-MAP/BattINFO?color=informational)](https://github.com/BIG-MAP/BattINFO/graphs/contributors)\n[![Last commit](https://img.shields.io/github/last-commit/BIG-MAP/BattINFO/main)](https://github.com/BIG-MAP/BattINFO/commits/main)\n[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-261230.svg)](https://github.com/astral-sh/ruff)\n[![Typed](https://img.shields.io/badge/typing-mypy-2A6DB2.svg)](http://mypy-lang.org/)\n\u003cbr/\u003e\n\u003c!-- Badges · domain alignment --\u003e\n[![Ontology: EMMO domain-battery](https://img.shields.io/badge/ontology-EMMO%20domain--battery-6E4C9F.svg)](https://github.com/emmo-repo/domain-battery)\n[![Battery Pass](https://img.shields.io/badge/Battery%20Pass-v1.2.0-1B998B.svg)](https://thebatterypass.eu/)\n\u003cbr/\u003e\n\u003c!-- Badges · learn \u0026 cite --\u003e\n[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/BIG-MAP/BattINFO/blob/main/docs/guides/01-concepts.ipynb)\n[![nbviewer](https://img.shields.io/badge/render-nbviewer-F37726?logo=jupyter\u0026logoColor=white)](https://nbviewer.org/github/BIG-MAP/BattINFO/tree/main/docs/guides/)\n\u003c!-- DOI: replace the placeholder with the concept DOI minted on the first Zenodo release --\u003e\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.XXXXXXX.svg)](https://doi.org/10.5281/zenodo.XXXXXXX)\n\n[**Quickstart**](QUICKSTART.md) ·\n[**Documentation**](docs/index.md) ·\n[**How-to guides**](docs/pages/howto.md) ·\n[**Tutorials**](#tutorials) ·\n[**Contributing**](#contributing) ·\n[**Cite**](#citation)\n\nNew words? The [plain-language glossary](docs/pages/glossary.md) decodes\n*Linked Data*, *EMMO*, *IRI*, and friends in two sentences each.\n\n\u003c/div\u003e\n\n---\n\nBattINFO provides a Python library, a CLI, and a canonical asset suite — JSON\nSchemas, ontology mappings, profiles, and examples — that make it straightforward\nto describe batteries as **valid, machine-readable Linked Data**.\n\nEvery record published through BattINFO is a valid RDF document, typed against\nEMMO domain-battery and resolvable through persistent `https://w3id.org/battinfo/`\nIRIs. The result is battery metadata that is interoperable by construction,\nqueryable with SPARQL, and Battery Pass-compatible out of the box.\n\n## Table of contents\n\n- [Why BattINFO](#why-battinfo)\n- [Installation](#installation)\n- [Quickstart](#quickstart)\n- [Tutorials](#tutorials)\n- [What BattINFO does](#what-battinfo-does)\n- [Semantic foundation](#semantic-foundation)\n- [Project status](#project-status)\n- [Repository layout](#repository-layout)\n- [Core principles](#core-principles)\n- [Contributing](#contributing)\n- [Citation](#citation)\n- [License](#license)\n\n## Why BattINFO\n\nBattery data is fragmented across spreadsheets, vendor datasheets, and ad-hoc\nJSON. BattINFO turns that into a single, semantically-grounded record model:\n\n- **Write plain JSON or Python** — get validated, EMMO-aligned JSON-LD.\n- **Interoperable by construction** — records share one ontology, one context, and one identifier scheme.\n- **Provenance built in** — a `CellSpec → Cell → Test → Dataset` chain links every measurement back to the cell that produced it.\n- **Standards-ready** — Battery Pass-compatible output, pinned per release.\n\n## Installation\n\nRequires **Python 3.11+**.\n\nBattINFO is not on PyPI until the 0.8 release. Until then, install from source\ninto a virtual environment:\n\n```bash\npython -m venv .venv\nsource .venv/bin/activate            # Windows: .venv\\Scripts\\activate\npip install \"git+https://github.com/BIG-MAP/BattINFO.git\"\n```\n\n\u003c!-- 0.8 release: replace the block above with  pip install battinfo --\u003e\n\nOptional extras: `battinfo[processing]` (cycler-file conversion via `ws.convert()`\n+ plotting), `battinfo[tabular]` (CSV/Parquet/XLSX readers), `battinfo[publish]`\n(RO-Crate validation), `battinfo[storage]` (S3), `battinfo[docs]` (Sphinx), and\n`battinfo[dev]` (full test/lint/build toolchain). The `processing` extra also needs\n`batterydf`, which is not yet on PyPI. Until it ships, `pip install \"battinfo[processing]\"`\ncannot resolve; install the processing dependencies directly instead:\n\n```bash\npip install \"git+https://github.com/battery-data-alliance/battery-data-format.git\" matplotlib plotly\n```\n\n**Developing on BattINFO?** This repo uses [uv](https://docs.astral.sh/uv/):\n\n```powershell\nuv sync --all-extras   # creates .venv and installs from uv.lock\n```\n\n## Quickstart\n\n```python\nfrom battinfo import CellSpec, publish\n\nresult = publish(\n    CellSpec(\n        manufacturer=\"Panasonic\",\n        model=\"NCR18650B\",\n        format=\"cylindrical\",\n        chemistry=\"Li-ion\",\n        nominal_capacity={\"value\": 3.4, \"unit\": \"Ah\"},\n    ),\n    destination=\"local\",\n    root=\".battinfo/my-library\",\n)\nprint(result.canonical_iri)\n# https://w3id.org/battinfo/spec/xxxx-xxxx-xxxx-xxxx\n```\n\nThat IRI is **permanent, but not yet resolvable on the web** — opening it in a\nbrowser returns 404 for a record published locally. A local publish mints the\nidentity; it becomes dereferenceable once you publish the record to the\nregistry (`ws.publish()`, see [Tutorial 6](docs/guides/06-publish-your-data.ipynb)).\n\n`destination=\"local\"` writes to a `.battinfo/` directory (a dot-directory —\n`ls -a` to see it):\n\n```text\n.battinfo/my-library/\n├── index.json\n└── examples/cell-spec/cell-spec-\u003cid\u003e.json   # the canonical record JSON\n```\n\nOr from the command line:\n\n```powershell\nbattinfo --help\n```\n\nFor interactive, multi-record work — cells, tests, datasets, equipment — the\nauthoring workspace is the blessed surface:\n\n```python\nimport battinfo\nws = battinfo.workspace(\".\")\nws.quickstart()   # prints a copy-pasteable end-to-end example\n```\n\n**Lab work?** Start at the [how-to guides](docs/pages/howto.md) — twelve bench\ntasks (register materials, build a cell from components, label cells, convert\ncycler exports, publish) each mapped to a runnable recipe. The\n[capability table](docs/workspace-authoring.md#what-each-surface-can-author-today)\nshows which surface (workspace, `battinfo.api`, CLI) authors which record types today.\n\n**→ Read the [full quickstart](QUICKSTART.md) and the [documentation index](docs/index.md).**\n\n## Tutorials\n\nSix tutorial notebooks in [`docs/guides/`](docs/guides/) — one story, from the\nrecord model to a published dataset. Each runs from its own folder and writes\nonly to a throwaway `_scratch/` directory next to it.\n\n| Tutorial | What you'll learn |\n|---|---|\n| [1 — Concepts](docs/guides/01-concepts.ipynb) | The record model, IRIs, and the semantic layer |\n| [2 — Describing a cell](docs/guides/02-first-cell-type.ipynb) | Author and publish a cell spec, with a taste of material-level depth |\n| [3 — Linked records](docs/guides/03-linked-records.ipynb) | Cells, test specs, tests, and datasets with the workspace |\n| [4 — Semantic layer](docs/guides/04-semantic-layer.ipynb) | JSON-LD anatomy, EMMO type stacking, RDF and SPARQL |\n| [5 — Cell descriptors](docs/guides/05-descriptors.ipynb) | Research-grade composition: materials, BOMs, electrodes, electrolyte |\n| [6 — Publish your first dataset](docs/guides/06-publish-your-data.ipynb) | End to end: raw cycler CSV → validated records → DOI + registry |\n\n## What BattINFO does\n\n- Validates battery metadata as plain JSON (JSON Schema / Pydantic) **and** as semantic RDF (JSON-LD + URDNA2015 normalisation).\n- Maps JSON inputs into domain-battery-aligned JSON-LD using authoritative curated property and unit mappings.\n- Produces **Battery Pass-compatible JSON-LD** (pinned to v1.2.0).\n- Provides profiles, examples, and mapping rules for all common battery record types.\n- Supports a reusable cell-spec library, curated once as BattINFO descriptors and published as generated RDF/JSON-LD.\n- Publishes dataset metadata with a core `CellSpec → Cell → Test → Dataset` provenance chain.\n\n## Semantic foundation\n\n| Layer | What it provides |\n|-------|-----------------|\n| `battinfo.ttl` | OWL application ontology; imports EMMO domain-battery 0.20.2 and domain-electrochemistry 0.37.2 with pinned versioned IRIs |\n| [`assets/mappings/domain-battery/`](assets/mappings/domain-battery/) | 77 curated property→EMMO-IRI mappings and 35 unit→EMMO-IRI mappings; drives JSON→JSON-LD transformation |\n| `assets/schemas/` | 23 JSON Schema (draft 2020-12) files covering cell specs, cell instances, electrodes, electrolytes, separators, tests, datasets, and organisations |\n| [`src/battinfo/transform/json_to_jsonld.py`](src/battinfo/transform/json_to_jsonld.py) | Deterministic, mapping-table-driven transformation to EMMO-aligned JSON-LD using the canonical domain-battery context |\n| [`src/battinfo/validate/`](src/battinfo/validate/) | Multi-layer validation: JSON Schema, Pydantic, JSON-LD (URDNA2015), semantic rules, referential integrity, publication |\n\nPublished records use:\n\n- `hasProperty` → `[ClassName, ConventionalProperty]` → `hasNumericalPart` → `hasNumericalValue` (canonical EMMO quantity pattern)\n- `hasMeasurementUnit` → full EMMO or QUDT IRI (never a bare string)\n- `@type` stacking: a cylindrical LFP cell is simultaneously `BatteryCell`, `CylindricalBattery`, `LithiumIonBattery`, `LithiumIronPhosphateBattery`, and `LithiumIonGraphiteBattery`\n\n## Project status\n\n\u003e **Beta.** **1,175 tests** pass across Python 3.11 and 3.12 on Linux\n\u003e and Windows. Ontology dependency versions are pinned and verified.\n\u003e See [`docs/scope.md`](docs/scope.md) for the full capability map.\n\n**Supported**\n- Cell-descriptor validation and mapping, canonical record query/save/publish/index flows, JSON-LD-first publication, and validation policies.\n- CLI and Python API covering `cell-spec`, `cell-instance`, `test`, `dataset`, and `test-protocol` records.\n\n**Preview (may still change)**\n- Reusable cell-spec library flows beyond the walkthrough fixtures.\n\n**In development (no stability promise)**\n- Registry sync/query (`battinfo push`, `battinfo registry`).\n- Large-scale reference validation.\n\nRun the verification gate locally:\n\n```powershell\n.venv\\Scripts\\python .tools/quality/run_verification.py\n```\n\n## Repository layout\n\n| Path | Contents |\n|------|----------|\n| `battinfo.ttl` | OWL application ontology |\n| [`assets/`](assets/) | Canonical schemas and mapping assets |\n| [`examples/`](examples/) | Canonical example records and guide notebooks |\n| [`src/battinfo/`](src/battinfo/) | Python package and CLI |\n| [`docs/`](docs/) | Adoption and usage documentation |\n| `.tools/` | Maintainer tooling: `build/`, `datasheets/`, `library/`, `quality/`, `semantic/` |\n| [`tests/`](tests/) | Regression and contract tests |\n\n## Core principles\n\n- **Domain-battery is the normative ontology** (semantics and terms). BattINFO is non-normative and operational (schemas, mappings, tooling).\n- **The canonical contract is JSON Schema**; Pydantic models are generated for the CLI and Python API.\n- **JSON-LD-first publication**: every record rendered for the resolver or registry is valid RDF aligned to domain-battery.\n- **Stable, opaque identifiers**: all published entities carry a `https://w3id.org/battinfo/{type}/{uid}` IRI, governed by [`IDENTIFIER_POLICY.md`](IDENTIFIER_POLICY.md).\n- Battery Pass JSON-LD outputs are supported and pinned per release.\n- BattINFO does not host or modify the domain-battery ontology.\n\n## Contributing\n\nContributions are welcome. Please open an issue to discuss substantial changes\nbefore submitting a pull request, and make sure the full quality gate passes:\n\n```powershell\nuv sync --all-extras\nuv run ruff check src tests\nuv run mypy\nuv run pytest -q tests\n```\n\nCI runs the same checks across Python 3.11/3.12 on Linux and Windows via the\n[CI](.github/workflows/ci.yml) workflow, alongside\n[Security](.github/workflows/security.yml) (pip-audit + CodeQL) and\n[Docs](.github/workflows/docs.yml) builds.\n\n## Citation\n\nIf you use BattINFO in your research, please cite it. The concept DOI arrives\nwith the 0.8 release (the first Zenodo-archived release); the badge above will\nthen resolve to a citable record:\n\n```bibtex\n@software{battinfo,\n  title        = {BattINFO: The semantic data layer for battery technology},\n  author       = {Clark, Simon and Friis, Jesper and L{\\o}nstad Bleken, Francesca and Flores, Eibar and Stier, Simon and Battaglia, Corsin},\n  year         = {2026},\n  publisher    = {Zenodo},\n  doi          = {10.5281/zenodo.XXXXXXX},\n  url          = {https://github.com/BIG-MAP/BattINFO}\n}\n```\n\n\u003e **Maintainers:** mint a Zenodo concept DOI on the first tagged release and\n\u003e replace `zenodo.XXXXXXX` (in the badge and the citation above) with the real\n\u003e identifier.\n\n## License\n\nDistributed under the **Apache License 2.0**. See [`LICENSE`](LICENSE).\n\n## Acknowledgements\n\nBuilt on the [EMMO](https://github.com/emmo-repo) ontology suite — in particular\n[domain-battery](https://github.com/emmo-repo/domain-battery) and\ndomain-electrochemistry — and aligned with the\n[Battery Pass](https://thebatterypass.eu/) data content guidance.\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.XXXXXXX"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["code-generation","interoperability","semantic-interoperability"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/147684","html_url":"https://ost.ecosyste.ms/projects/147684"}