{"id":1092,"name":"openfoodfacts-server","description":"Open Food Facts is a collaborative, free and open database of food products from around the world.","url":"https://github.com/openfoodfacts/openfoodfacts-server","last_synced_at":"2026-06-29T20:02:07.150Z","repository":{"id":37412561,"uuid":"14111770","full_name":"openfoodfacts/openfoodfacts-server","owner":"openfoodfacts","description":"Open Food Facts database, API server and web interface - 🐪🦋 Perl, CSS and JS coders welcome 😊 For helping in Python, see Robotoff or taxonomy-editor","archived":false,"fork":false,"pushed_at":"2026-06-23T16:29:07.000Z","size":2844508,"stargazers_count":1061,"open_issues_count":1749,"forks_count":617,"subscribers_count":30,"default_branch":"main","last_synced_at":"2026-06-23T16:30:09.546Z","etag":null,"topics":["allergens","allergies","crowdsourcing","database","environment","food","food-products","nutrition","perl","recycling"],"latest_commit_sha":null,"homepage":"https://openfoodfacts.github.io/documentation/docs/Product-Opener/api/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openfoodfacts.png","metadata":{"funding":{"patreon":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"open_collective":"openfoodfacts-server","github":"openfoodfacts","custom":"https://donate.openfoodfacts.org"},"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":"COPYRIGHT","agents":null,"dco":null,"cla":null}},"created_at":"2013-11-04T14:23:24.000Z","updated_at":"2026-06-23T16:13:33.000Z","dependencies_parsed_at":"2023-10-15T16:42:57.353Z","dependency_job_id":"021a3732-0442-48fd-9ba9-0d1792408c56","html_url":"https://github.com/openfoodfacts/openfoodfacts-server","commit_stats":{"total_commits":30923,"total_committers":235,"mean_commits":"131.58723404255318","dds":"0.39055072276299196","last_synced_commit":"c507f2d6d3f77a45ba7630e9a507308fab87ca5a"},"previous_names":[],"tags_count":133,"template":false,"template_full_name":null,"purl":"pkg:github/openfoodfacts/openfoodfacts-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfoodfacts%2Fopenfoodfacts-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfoodfacts%2Fopenfoodfacts-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfoodfacts%2Fopenfoodfacts-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfoodfacts%2Fopenfoodfacts-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openfoodfacts","download_url":"https://codeload.github.com/openfoodfacts/openfoodfacts-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfoodfacts%2Fopenfoodfacts-server/sbom","scorecard":{"id":709413,"data":{"date":"2025-08-11","repo":{"name":"github.com/openfoodfacts/openfoodfacts-server","commit":"e0a2c23b5f53dc046558cfad76233c1133e921d7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 17 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/label.yml:21","Warn: no topLevel permission defined: .github/workflows/api-linting.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/container-build.yml:1","Warn: no topLevel permission defined: .github/workflows/container-deploy.yml:1","Warn: no topLevel permission defined: .github/workflows/crowdin-per-language.yml:1","Warn: no topLevel permission defined: .github/workflows/crowdin.yml:1","Warn: no topLevel permission defined: .github/workflows/generate-doc.yml:1","Warn: no topLevel permission defined: .github/workflows/github-projects-ventilation.yml:1","Warn: no topLevel permission defined: .github/workflows/label.yml:1","Warn: no topLevel permission defined: .github/workflows/merge-conflict-autolabel.yml:1","Warn: no topLevel permission defined: .github/workflows/pr_actions.yml:1","Warn: no topLevel permission defined: .github/workflows/pull_request.yml:1","Warn: no topLevel permission defined: .github/workflows/release-please.yml:1","Warn: no topLevel permission defined: .github/workflows/semantic-pr.yml:1","Warn: no topLevel permission defined: .github/workflows/top-issues.yml:1","Warn: no topLevel permission defined: .github/workflows/translation-check.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v2.75.0 not signed: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/239885562","Warn: release artifact v2.74.0 not signed: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/236185656","Warn: release artifact v2.73.1 not signed: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/234454139","Warn: release artifact v2.73.0 not signed: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/231079369","Warn: release artifact v2.72.0 not signed: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/229995779","Warn: release artifact v2.75.0 does not have provenance: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/239885562","Warn: release artifact v2.74.0 does not have provenance: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/236185656","Warn: release artifact v2.73.1 does not have provenance: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/234454139","Warn: release artifact v2.73.0 does not have provenance: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/231079369","Warn: release artifact v2.72.0 does not have provenance: https://api.github.com/repos/openfoodfacts/openfoodfacts-server/releases/229995779"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/container-build.yml:16"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"28 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-crh6-fp67-6883","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-p8pc-3f7w-jr5q","Warn: Project is vulnerable to: GHSA-rmxg-73gg-4p98","Warn: Project is vulnerable to: GHSA-6c3j-c64m-qhgq","Warn: Project is vulnerable to: GHSA-gxr4-xjj5-5px2","Warn: Project is vulnerable to: GHSA-jpcq-cgw6-v4j6","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: PYSEC-2017-83","Warn: Project is vulnerable to: PYSEC-2024-203","Warn: Project is vulnerable to: PYSEC-2024-25","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: Dockerfile.frontend:31","Info: Possibly incomplete results: error parsing shell code: \"foo(\" must be followed by ): scripts/obsolete/imports/fleary_michon/import_fleurymichon.sh:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/api-linting.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/api-linting.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/api-linting.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/api-linting.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/api-linting.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/api-linting.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/auto-assign-pr.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/auto-assign-pr.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/container-build.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-build.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-build.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-build.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-build.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:107: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:133: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:202: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:218: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:247: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:263: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:280: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:295: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container-deploy.yml:309: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/container-deploy.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/crowdin-per-language.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/crowdin-per-language.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/crowdin-per-language.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/crowdin-per-language.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/crowdin.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/crowdin.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/crowdin.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/crowdin.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/generate-doc.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/generate-doc.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/generate-doc.yml:84: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/generate-doc.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:82: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:106: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:118: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:124: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:130: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:142: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/github-projects-ventilation.yml:148: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/github-projects-ventilation.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/label.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/label.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr_actions.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pr_actions.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr_actions.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pr_actions.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr_actions.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pr_actions.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr_actions.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pr_actions.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull_request.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull_request.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:146: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull_request.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull_request.yml:170: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull_request.yml:177: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:189: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:192: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull_request.yml:200: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:224: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull_request.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-please.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/release-please.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-please.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/release-please.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-please.yml:82: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/release-please.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/semantic-pr.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/semantic-pr.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/top-issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/top-issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/translation-check.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/openfoodfacts/openfoodfacts-server/translation-check.yml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:11","Warn: containerImage not pinned by hash: Dockerfile:210","Warn: containerImage not pinned by hash: Dockerfile:235","Warn: containerImage not pinned by hash: Dockerfile:289","Warn: containerImage not pinned by hash: Dockerfile.frontend:6","Warn: containerImage not pinned by hash: Dockerfile.frontend:34: pin your Docker image by updating nginx:stable to nginx:stable@sha256:24ccf9a6192d2c6c5c4a6e9d2fdfa2a8e382b15f8dd7d0e05a1579f6a46f7776","Warn: npmCommand not pinned by hash: Dockerfile.frontend:22","Info:   0 out of  45 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of  36 third-party GitHubAction dependencies pinned","Info:   0 out of   6 containerImage dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-22T07:42:31.409Z","repository_id":37412561,"created_at":"2025-08-22T07:42:31.409Z","updated_at":"2025-08-22T07:42:31.409Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34698946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"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":"openfoodfacts","name":"Open Food Facts","uuid":"1937790","kind":"organization","description":"Open Food Facts is a collaborative, free and open database of food products from around the world.","email":"contact@openfoodfacts.org","website":"https://world.openfoodfacts.org/","location":"Paris, France","twitter":"openfoodfacts","company":null,"icon_url":"https://avatars.githubusercontent.com/u/1937790?v=4","repositories_count":109,"last_synced_at":"2024-10-29T21:14:08.514Z","metadata":{"has_sponsors_listing":true,"funding":{"patreon":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"open_collective":"openfoodfacts-server","github":"openfoodfacts","custom":"https://donate.openfoodfacts.org"}},"html_url":"https://github.com/openfoodfacts","funding_links":["https://opencollective.com/openfoodfacts-server","https://github.com/sponsors/openfoodfacts","https://donate.openfoodfacts.org"],"total_stars":4515,"followers":739,"following":0,"created_at":"2022-11-02T21:33:04.869Z","updated_at":"2024-10-29T21:14:08.514Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openfoodfacts","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openfoodfacts/repositories"},"packages":[],"commits":{"id":1254603,"full_name":"openfoodfacts/openfoodfacts-server","default_branch":"main","total_commits":32812,"total_committers":294,"total_bot_commits":937,"total_bot_committers":3,"mean_commits":111.60544217687075,"dds":0.41890162135803977,"past_year_total_commits":1149,"past_year_total_committers":71,"past_year_total_bot_commits":129,"past_year_total_bot_committers":1,"past_year_mean_commits":16.183098591549296,"past_year_dds":0.7789382071366405,"last_synced_at":"2026-06-25T07:30:08.261Z","last_synced_commit":"710872b84d2d773b13e1048044a3a897b6d6f7c6","created_at":"2023-03-27T11:50:02.024Z","updated_at":"2026-06-25T07:17:34.313Z","committers":[{"name":"Pierre Slamich","email":"pierre@openfoodfacts.org","login":"teolemon","count":19067},{"name":"Stéphane Gigandet","email":"stephane@openfoodfacts.org","login":"stephanegigandet","count":3933},{"name":"Arnaud Leene","email":"aleene@gmail.com","login":"aleene","count":2815},{"name":"hangy","email":"hangy@hangy.de","login":"hangy","count":825},{"name":"moon-rabbitOFF","email":"34795011+moon-rabbitOFF","login":"moon-rabbitOFF","count":720},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":645},{"name":"Alex Garel","email":"alex@openfoodfacts.org","login":"alexgarel","count":417},{"name":"Olivier Cervello","email":"ocervello@google.com","login":null,"count":392},{"name":"Sven","email":"svensven","login":"svensven","count":391},{"name":"Freso","email":"dev@freso.dk","login":"Freso","count":329},{"name":"benbenben2","email":"110821832+benbenben2","login":"benbenben2","count":218},{"name":"AcuarioCat","email":"nigel@ntpworld.co.uk","login":"AcuarioCat","count":188},{"name":"roshnaeem","email":"rosheennaeem4@gmail.com","login":"roshnaeem","count":166},{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":163},{"name":"Open Food Facts Bot","email":"119524357+openfoodfacts-bot","login":"openfoodfacts-bot","count":153},{"name":"Jussi Timperi","email":"jussi.timperi@iki.fi","login":"Ban3","count":130},{"name":"dependabot-preview[bot]","email":"27856297+dependabot-preview[bot]","login":"dependabot-preview[bot]","count":129},{"name":"VaiTon","email":"eyadlorenzo@gmail.com","login":"VaiTon","count":123},{"name":"dipietroR","email":"66142242+dipietroR","login":"dipietroR","count":122},{"name":"Charles Nepote","email":"charles@openfoodfacts.org","login":"CharlesNepote","count":115},{"name":"Raphaël Bournhonesque","email":"raphael@bournhonesque.eu","login":"raphael0202","count":112},{"name":"areeshatariq","email":"areeshatariq02@gmail.com","login":"areeshatariq","count":94},{"name":"john-gom","email":"116556069+john-gom","login":"john-gom","count":78},{"name":"root","email":"root@ns3135968.ip-51-77-65.eu","login":null,"count":74},{"name":"Jagjeevan Kashid","email":"jagjeevankashid97@gmail.com","login":"JagjeevanAK","count":59},{"name":"Roto15","email":"99144065+Roto15","login":"Roto15","count":53},{"name":"lan33","email":"rw2011cp@hotmail.fr","login":"lan33","count":52},{"name":"jolesh","email":"joraloe@gmail.com","login":"jolesh","count":51},{"name":"NerOcrO","email":"nerocro@gmail.com","login":"NerOcrO","count":43},{"name":"OpenChris","email":"chris@hurbin.com","login":"OpenChris","count":35},{"name":"Antoine B","email":"56827368+4nt0ineB","login":"4nt0ineB","count":34},{"name":"Alex","email":"alex@Alexs-MacBook-Pro.local","login":"bradfora","count":32},{"name":"James Addison","email":"55152140+jayaddison","login":"jayaddison","count":31},{"name":"mrmd8","email":"74515255+mrmd8","login":"mrmd8","count":31},{"name":"Ronan","email":"syronanm@gmail.com","login":"RonanMorgan","count":28},{"name":"Yukti","email":"73362292+yuktea","login":"yuktea","count":28},{"name":"Nicolas Leger","email":"nicolas.leger@nleger.com","login":null,"count":28},{"name":"Monalika Patnaik","email":"99353300+MonalikaPatnaik","login":"MonalikaPatnaik","count":26},{"name":"mahlzahn","email":"6549824+mahlzahn","login":"mahlzahn","count":24},{"name":"Teiron","email":"12804636+Teiron","login":"Teiron","count":24},{"name":"Pau Amma","email":"pauamma@gundo.com","login":"pauamma","count":24},{"name":"David Girón","email":"contacto@duhowpi.net","login":"duhow","count":24},{"name":"laralem","email":"80917261+laralem","login":"laralem","count":17},{"name":"Kout95","email":"65901733+Kout95","login":"Kout95","count":17},{"name":"Báthory Péter","email":"bathory86p@gmail.com","login":"BathoryPeter","count":17},{"name":"Success Ologunsua","email":"successologunsua@gmail.com","login":"TheSussex","count":16},{"name":"Funke Faith Olasupo","email":"55761629+Roxie-32","login":"Roxie-32","count":15},{"name":"Danil Garmanov","email":"danil.garmanov@protonmail.com","login":"blazern","count":15},{"name":"Danielius Ašmontas","email":"dan.asmontas@gmail.com","login":"DanieliusAsm","count":14},{"name":"Copilot","email":"198982749+Copilot","login":"Copilot","count":14},{"name":"Daniel O'Connor","email":"daniel.oconnor@gmail.com","login":"CloCkWeRX","count":14},{"name":"Artur H. Lange","email":"ArturLange","login":"ArturLange","count":14},{"name":"Sebastien Aperghis-Tramoni","email":"sebastien@aperghis.net","login":"maddingue","count":13},{"name":"Yaron Shahrabani","email":"sh.yaron@gmail.com","login":"yarons","count":12},{"name":"Manon Corneille","email":"104015489+manon-corneille","login":"manon-corneille","count":12},{"name":"Julien","email":"120013023+albatrousse","login":"albatrousse","count":12},{"name":"Dhiraj Rathod","email":"2102508740@svyasa-sas.edu.in","login":"dhiraj-143r","count":12},{"name":"syl10100","email":"45109552+syl10100","login":"syl10100","count":11},{"name":"Malte","email":"25488086+github-throwaway","login":"github-throwaway","count":11},{"name":"Naruyoko","email":"naru519372@gmail.com","login":"Naruyoko","count":10},{"name":"RayanGoubet","email":"156110537+RayanGoubet","login":"RayanGoubet","count":10},{"name":"Valimp","email":"112864841+Valimp","login":"Valimp","count":10},{"name":"Leonard","email":"leonard.michelet@gmail.com","login":"leonarf","count":10},{"name":"jnsereko","email":"58003327+jnsereko","login":"jnsereko","count":9},{"name":"Marco Ciotola","email":"848222@stud.unive.it","login":"McCio","count":9},{"name":"Shinjigi","email":"shinjigi@gmail.com","login":"shinjigi","count":9},{"name":"Crowdin Bot","email":"support+bot@crowdin.com","login":"crowdin-bot","count":8},{"name":"Areeb Ahmed","email":"135235925+areebahmeddd","login":"areebahmeddd","count":8},{"name":"Darío Hereñú","email":"magallania@gmail.com","login":"kant","count":7},{"name":"Péter Báthory","email":"peter.bathory@cartographia.hu","login":null,"count":7},{"name":"Edouard Marquez","email":"g123k","login":"g123k","count":7},{"name":"K13b3r","email":"klber.eu@gmail.com","login":"K13b3r","count":7},{"name":"himanshisrestha","email":"135853264+himanshisrestha","login":"himanshisrestha","count":7},{"name":"Bernard","email":"53179327+bernardlemoullec","login":"bernardlemoullec","count":6},{"name":"Deveshi Dwivedi","email":"120312681+deveshidwivedi","login":"deveshidwivedi","count":6},{"name":"Nothingspecial99","email":"122666701+Nothingspecial99","login":"Nothingspecial99","count":6},{"name":"Pratyaksh Khurana","email":"pratyakshkhuranaofficial@gmail.com","login":"pratyaksh1610","count":6},{"name":"Tacite","email":"TaciteOFF","login":"TaciteOFF","count":6},{"name":"Vic142","email":"144172903+Vic142","login":"Vic142","count":6},{"name":"mariali1","email":"63364401+mariali1","login":"mariali1","count":6},{"name":"sl956","email":"github@vince.eu.org","login":"offvince","count":6},{"name":"very-smartin","email":"martin.cesb@gmail.com","login":"very-smartin","count":6},{"name":"Jen","email":"lopzjcan@gmail.com","login":null,"count":5},{"name":"off","email":"off@openfoodfacts.org","login":null,"count":5},{"name":"Annieieieie","email":"112327071+Annieieieie","login":"Annieieieie","count":5},{"name":"Gennady Dogaev","email":"gendelflg@gmail.com","login":"GendelfLugansk","count":5},{"name":"KommX","email":"alexander.buchner@posteo.de","login":"KommX","count":5},{"name":"muskangarg21","email":"muskan@iitk.ac.in","login":"muskangarg21","count":5},{"name":"Pradumna","email":"65444978+pradumna-gautam","login":"pradumna-gautam","count":5},{"name":"Viorel-Catalin Rapiteanu","email":"rapiteanu.catalin@gmail.com","login":"Steinhagen","count":5},{"name":"Lunique","email":"lunasmoonlady@yahoo.de","login":"Lunique","count":4},{"name":"MaximeLaurenty","email":"MaximeLaurenty","login":"MaximeLaurenty","count":4},{"name":"Sam Tucker-Davis","email":"126325182+stuckvgn","login":"stuckvgn","count":4},{"name":"Kunal Gupta","email":"2007guptakunal@gmail.com","login":"Kunal241207","count":4},{"name":"Eric Nguyen","email":"ericnguyen.developper@gmail.com","login":"eric-nguyen-cs","count":4},{"name":"Dariusz Sułtanowski","email":"sultanowski.d@gmail.com","login":"sultanowski","count":4},{"name":"sandy9999","email":"luckysandy99@gmail.com","login":"sandy9999","count":4},{"name":"soheiyagi","email":"soheiyagi@gmail.com","login":"soheiyagi","count":4},{"name":"tur-ium","email":"tur-ium","login":"tur-ium","count":4},{"name":"zond","email":"zondolfin@gmail.com","login":"zond","count":4},{"name":"Jean Forget","email":"JFORGET@cpan.org","login":"jforget","count":4},{"name":"fuddl","email":"alxndr@mailbox.org","login":"fuddl","count":4},{"name":"Strubbl","email":"97055+Strubbl","login":"Strubbl","count":4},{"name":"Victor Prins","email":"32959052+VictorPrins","login":"VictorPrins","count":4},{"name":"Nico Zigouras","email":"nico@Nicos-MacBook-Pro.local","login":null,"count":4},{"name":"elbeho","email":"elbeho@mongueurs.net","login":null,"count":4},{"name":"fuddl","email":"Alex@Annas-MacBook-Pro.local","login":null,"count":4},{"name":"root","email":"root@ks3095298.kimsufi.com","login":null,"count":4},{"name":"Thomas Catinaud Taris","email":"5670642+TCatinaud","login":"TCatinaud","count":3},{"name":"Tuukka Hastrup","email":"Tuukka.Hastrup@iki.fi","login":"tuukka","count":3},{"name":"foodietim","email":"157665402+foodietim","login":"foodietim","count":3},{"name":"odtvince","email":"vince@data.gouv.fr","login":"odtvince","count":3},{"name":"sebeeek","email":"sebastien.abeille@gmail.com","login":"sebeeek","count":3},{"name":"Lhoutre","email":"lhoumeau.maxime@gmail.com","login":"Makitsu","count":3},{"name":"SAITEJA","email":"kommisaiteja677@gmail.com","login":"SaitejaKommi","count":3},{"name":"Pranjal J","email":"136667416+pranjal2004838","login":"pranjal2004838","count":3},{"name":"Nithya Vasireddi","email":"nithyavasireddi@gmail.com","login":"nithyaV-dev","count":3},{"name":"Nico Zigouras","email":"16895616+zigouras","login":"zigouras","count":3},{"name":"Krishita Jain","email":"66058206+krishita30j","login":"krishita30j","count":3},{"name":"Andrea Stagi","email":"stagi.andrea@gmail.com","login":"astagi","count":3},{"name":"Divyansh Singh","email":"divyanshanandsingh@gmail.com","login":"diivi","count":3},{"name":"Sneha6003","email":"147996970+Sneha6003","login":"Sneha6003","count":3},{"name":"Sumit Kashyap","email":"mr.sumitkrr@gmail.com","login":"sumit-158","count":3},{"name":"root","email":"root@openfoodfacts.org","login":null,"count":3},{"name":"Nico Zigouras","email":"nunya@biz.com","login":null,"count":3},{"name":"Abi","email":"llawlietbagsum@gmail.com","login":"LarytheLord","count":2},{"name":"Alex Adak","email":"127800544+aadak99","login":"aadak99","count":2},{"name":"Aman-Jamshed","email":"amanjamshed3@gmail.com","login":"Aman-Jamshed","count":2},{"name":"Ambonati Victor","email":"victorambonati@hotmail.fr","login":"Vicam","count":2},{"name":"Arybhatt","email":"bhattarya4533@gmail.com","login":"arybhatt4533","count":2},{"name":"Abderhman G. Zaki","email":"151753026+abderhman487","login":"abderhman487","count":2},{"name":"Aadarsh A","email":"aadarsh.ram@gmail.com","login":"aadarsh-ram","count":2},{"name":"Unpublished","email":"Unpublished","login":"Unpublished","count":2},{"name":"Trond Kjetil","email":"218276+tkbremnes","login":"tkbremnes","count":2},{"name":"BryanH01","email":"92093032+BryanH01","login":"BryanH01","count":2},{"name":"David","email":"david@macrofactorapp.com","login":"davidpryor","count":2},{"name":"Emmanuel Seyman","email":"emmanuel+github@seyman.fr","login":"eseyman","count":2},{"name":"Etatdesprit","email":"68120656+Etatdesprit","login":"Etatdesprit","count":2},{"name":"Jecrivaine","email":"67744981+Jecrivaine","login":"Jecrivaine","count":2},{"name":"Florentin Raud","email":"florentin.raud@gmail.com","login":null,"count":2},{"name":"Roto15","email":"rotomoto@duck.com","login":null,"count":2},{"name":"KommX","email":"","login":null,"count":2},{"name":"leonard","email":"leonard@lebasic.com","login":null,"count":2},{"name":"Piotr","email":"franiis16@gmail.com","login":"franiis","count":2},{"name":"Snyk bot","email":"github+bot@snyk.io","login":"snyk-bot","count":2},{"name":"Laurent Dami","email":"dami@cpan.org","login":"damil","count":2},{"name":"Alexandre Marty","email":"alexandre@marty.in","login":"alex-marty","count":2},{"name":"k2s","email":"martin.minka@gmail.com","login":"k2s","count":2},{"name":"mik1xcz","email":"160590887+mik1xcz","login":"mik1xcz","count":2},{"name":"niko bazylev","email":"42851684+bazylevnik0","login":"bazylevnik0","count":2},{"name":"sgtSeme4ki","email":"68777761+sgtSeme4ki","login":"sgtSeme4ki","count":2},{"name":"that1","email":"github@that.at","login":"that1","count":2},{"name":"vanshikaarora","email":"vanshikaa937@gmail.com","login":"vanshikaarora","count":2},{"name":"GARVIT  BHATT","email":"garvitbhattpc@gmail.com","login":"garvit-bhattt","count":2},{"name":"fmarghi","email":"dev@liame.xyz","login":"fmarghi","count":2},{"name":"cmap99","email":"101516688+cmap99","login":"cmap99","count":2},{"name":"borrokk","email":"64474095+borrokk","login":"borrokk","count":2},{"name":"Priyanka","email":"56197993+priyanka0906","login":"priyanka0906","count":2},{"name":"Pilou","email":"pierre-louis@libregerbil.fr","login":"pilou-","count":2},{"name":"Nicolò Paternoster","email":"paternoster.nicolo@gmail.com","login":"adv0r","count":2},{"name":"Nicolas Métifiot","email":"nmetifiot","login":"nmetifiot","count":2},{"name":"Marvin M","email":"39344769+M123-dev","login":"M123-dev","count":2},{"name":"Marco Rossini","email":"me@marcorossini.com","login":"bobcorn","count":2},{"name":"Levent Günay","email":"leventgny@gmail.com","login":"leventgunay","count":2},{"name":"bertrand-amaraggi","email":"63349837+bertrand-amaraggi","login":"bertrand-amaraggi","count":2},{"name":"alexouille123","email":"67234740+alexouille123","login":"alexouille123","count":2},{"name":"alemit","email":"aleksandarmitrev@gmail.com","login":"alemit","count":2},{"name":"Viorel-Catalin Rapiteanu","email":"catalin.rapiteanu@intel.com","login":"crapitea","count":2},{"name":"adam jones","email":"domdomegg+git@gmail.com","login":"domdomegg","count":2},{"name":"Jess","email":"jessachandler@gmail.com","login":"monkeywithacupcake","count":2},{"name":"Kirtan Manoj Chandak","email":"92196705+kirtanchandak","login":"kirtanchandak","count":2},{"name":"andrewhuanggg","email":"78528607+andrewhuanggg","login":"andrewhuanggg","count":1},{"name":"aleksejrs","email":"aleksejrs","login":"aleksejrs","count":1},{"name":"Vince","email":"vince@openfoodfacts.org","login":"teleboas","count":1},{"name":"Vikas","email":"vs4445277@gmail.com","login":"Vikas4245","count":1},{"name":"Victor-Hermes","email":"154025039+Victor-Hermes","login":"Victor-Hermes","count":1},{"name":"Tushar","email":"ditsuke@protonmail.com","login":"ditsuke","count":1},{"name":"Tomeshwari Sahu","email":"scketcha@gmail.com","login":"Tomeshwari-02","count":1},{"name":"TechShooter","email":"TechShooter","login":"TechShooter","count":1},{"name":"Tanuj Garg","email":"87695633+Tanujgarg37","login":"Tanujgarg37","count":1},{"name":"Sébastien Feugère","email":"smonff","login":"smonff","count":1},{"name":"Swastik Ranjan Panigrahi","email":"textswastik.alt@gmail.com","login":"swastikCommits","count":1},{"name":"anri","email":"anarita.dauane@gmail.com","login":"anaritadauane","count":1},{"name":"Suvam Patra","email":"Patrasuvam15@gmail.com","login":"suvammpatra","count":1},{"name":"Shamun Khatri","email":"shamunkhatri@gmail.com","login":"shamun-khatri","count":1},{"name":"Shivangi Chaurasia","email":"56307595+shivangi3001","login":"shivangi3001","count":1},{"name":"Silvério Santos","email":"ssantos@web.de","login":"SantosSi","count":1},{"name":"Simon Jenkins","email":"38865319+simonj2","login":"simonj2","count":1},{"name":"Stefan Wobbe","email":"wobfan@pm.me","login":"wobfan","count":1},{"name":"Stéphane Parunakian","email":"sparunakian","login":"sparunakian","count":1},{"name":"laulowen","email":"2105057+laulowen","login":"laulowen","count":1},{"name":"Sanjay H","email":"69153982+TheSanjBot","login":"TheSanjBot","count":1},{"name":"Sam Tucker-Davis","email":"126325182+samtuckerdavis","login":"samtuckerdavis","count":1},{"name":"Sam K Thampan","email":"64613068+devsk18","login":"devsk18","count":1},{"name":"Saksham Gupta","email":"84325475+Sakshamgupta90","login":"Sakshamgupta90","count":1},{"name":"SIDHANSU SINGH","email":"sidhanshusingh445@gmail.com","login":"sidhansu10","count":1},{"name":"Rory Powis","email":"rpowis","login":"rpowis","count":1},{"name":"Reno","email":"gillet.ren@gmail.com","login":"gilren","count":1},{"name":"Raphaël Odini","email":"raphodn","login":"raphodn","count":1},{"name":"PrajwalM2212","email":"prajwalmmath@gmail.com","login":"PrajwalM2212","count":1},{"name":"tchen0125","email":"76577829+tchen0125","login":"tchen0125","count":1},{"name":"subi9","email":"63897356+subi9","login":"subi9","count":1},{"name":"samir","email":"azzouz.sam@gmail.com","login":"azzsamir","count":1},{"name":"twindel","email":"uj_b@hotmail.com","login":"twindel","count":1},{"name":"paperplanes53","email":"paperplanes53","login":"paperplanes53","count":1},{"name":"oyenuga17","email":"64274826+oyenuga17","login":"oyenuga17","count":1},{"name":"omerfaruk-cakmak","email":"32402595+omerfaruk-cakmak","login":"omerfaruk-cakmak","count":1},{"name":"omahs","email":"73983677+omahs","login":"omahs","count":1},{"name":"odin-h","email":"150337574+odin-h","login":"odin-h","count":1},{"name":"noatime","email":"noatime","login":"noatime","count":1},{"name":"medape","email":"carlosferrimag@gmail.com","login":"medape","count":1},{"name":"leonid lednev","email":"46404279+leonidlednev","login":"leonidlednev","count":1},{"name":"PENN JR™","email":"85356158+Payne680","login":"Payne680","count":1},{"name":"k3lyan","email":"kelyan.morfouesse@gmail.com","login":"k3lyan","count":1},{"name":"jusfla","email":"133013209+jusfla","login":"jusfla","count":1},{"name":"jasmeet0817","email":"jasmeet0817@gmail.com","login":"jasmeet0817","count":1},{"name":"Adrien Chauve","email":"adrien.chauve@gmail.com","login":null,"count":1},{"name":"Filip Sauer","email":"st176721@stud.uni-stuttgart.de","login":null,"count":1},{"name":"Gilles","email":"ggozlan@teamreso.fr","login":null,"count":1},{"name":"Henrik Oelze","email":"hoelze@prosystem-nsf.com","login":null,"count":1},{"name":"Julien Kassar","email":"github@kassisol.com","login":null,"count":1},{"name":"Simon Gheeraert","email":"simon.gheeraert@illuin.tech","login":null,"count":1},{"name":"gnaweric","email":"gnaw.eric@gmail.com","login":null,"count":1},{"name":"hannsen","email":"jan@hro-home.de","login":null,"count":1},{"name":"pijey","email":"pjvilloud-bitbucket@yahoo.fr","login":null,"count":1},{"name":"jalanyash","email":"57186641+jalanyash","login":"jalanyash","count":1},{"name":"helloworldtest123","email":"36381315+helloworldtest123","login":"helloworldtest123","count":1},{"name":"gospodin55","email":"63956324+gospodin55","login":"gospodin55","count":1},{"name":"emmapeel2","email":"emmapeel@aktivix.org","login":"emmapeel2","count":1},{"name":"danwyk","email":"danwyk.wang@gmail.com","login":"danwyk","count":1},{"name":"code-a1","email":"68858676+code-a1","login":"code-a1","count":1},{"name":"beerhalt","email":"lbeerhal@andrew.cmu.edu","login":"beerhalt","count":1},{"name":"JBelcoco","email":"48061671+JBelcoco","login":"JBelcoco","count":1},{"name":"IWouldShiverTheWholeNightThrough","email":"95775047+IWouldShiverTheWholeNightThrough","login":"IWouldShiverTheWholeNightThrough","count":1},{"name":"HummingBrid","email":"hummingbrid@ymail.com","login":"HummingBrid","count":1},{"name":"Davide Crucitti","email":"davidoskky@yahoo.it","login":"davidoskky","count":1},{"name":"Helge Willum Thingvad","email":"1019305+tachylatus","login":"tachylatus","count":1},{"name":"Goverdhan Biradar","email":"66107302+goverdhan07","login":"goverdhan07","count":1},{"name":"Genadiy Ryabkin","email":"g.rjabkin@gmail.com","login":"GRyabkin","count":1},{"name":"GabrielBeFr","email":"112394931+GabrielBeFr","login":"GabrielBeFr","count":1},{"name":"Filip Sauer","email":"sauer.filip@gmail.com","login":"srflp","count":1},{"name":"Fernando Jaramillo","email":"71108160+JoseJaramillo04","login":"JoseJaramillo04","count":1},{"name":"FemmeNoire","email":"github@femmenoire.de","login":"FemmeNoire","count":1},{"name":"Evgeniy Vasilev","email":"aquilax@gmail.com","login":"aquilax","count":1},{"name":"Emmanuel Ferdman","email":"emmanuelferdman@gmail.com","login":"emmanuel-ferdman","count":1},{"name":"Eliška","email":"with.the.lemons@gmail.com","login":"withthelemons","count":1},{"name":"Dhruv Awasthi","email":"dhruvawasthicc@gmail.com","login":"DhruvAwasthi","count":1},{"name":"Dev-Ashank","email":"78907802+Dev-Ashank","login":"Dev-Ashank","count":1},{"name":"Dennis Ahlqvist","email":"dennisahlqvist@hotmail.com","login":"dennisahlqvist","count":1},{"name":"Kezxo","email":"Kezxo","login":"Kezxo","count":1},{"name":"Cutypareek","email":"75947841+Cutypareek","login":"Cutypareek","count":1},{"name":"Cody Njos","email":"69707332+CodyNjos","login":"CodyNjos","count":1},{"name":"Christian Schuhmann","email":"c-schuhmann@mailbox.org","login":"c-schuhmann","count":1},{"name":"Christian Quest","email":"cquest@openstreetmap.fr","login":"cquest","count":1},{"name":"Benjamin Loison","email":"12752145+Benjamin-Loison","login":"Benjamin-Loison","count":1},{"name":"Atos10","email":"100791038+Atos10","login":"Atos10","count":1},{"name":"Anh Quang Nguyen","email":"29374105+areporeporepo","login":"areporeporepo","count":1},{"name":"Anca Luca","email":"lucaa@xwiki.com","login":"lucaa","count":1},{"name":"Alper Mulayim","email":"alper.mulayim48@gmail.com","login":"AlperMulayim","count":1},{"name":"Alexandre Fauquette","email":"45398769+alexfauquette","login":"alexfauquette","count":1},{"name":"Albert Sund Aillet","email":"73786209+albertaillet","login":"albertaillet","count":1},{"name":"Advait Athreya","email":"89476471+advaitathreya","login":"advaitathreya","count":1},{"name":"Abby Hart","email":"94138365+abbyrhart","login":"abbyrhart","count":1},{"name":"Pierce Andjelkovic","email":"pierceandjelkovic@gmail.com","login":"archanox","count":1},{"name":"Peter van der Veeken","email":"peter@smarttrackers.nl","login":"petervdv","count":1},{"name":"Pawan Patidar","email":"pawanpatidar8538@gmail.com","login":"Pawan8538","count":1},{"name":"Parshv Dharmendra Runwal","email":"parshvrunwal567@gmail.com","login":"Parshv-sudo","count":1},{"name":"Paolo","email":"120209350+maxymus-1","login":"maxymus-1","count":1},{"name":"P.-H. Lin","email":"Cypresslin","login":"Cypresslin","count":1},{"name":"Olivier Wouters","email":"olivier5741@gmail.com","login":"olivier5741","count":1},{"name":"Olivier Mengué","email":"dolmen@cpan.org","login":"dolmen","count":1},{"name":"Nur Aiman Fadel","email":"2870632+nuraiman","login":"nuraiman","count":1},{"name":"Nachiketa Pahari","email":"nachiketapahari00@gmail.com","login":"Pahari47","count":1},{"name":"Mohit Sharma","email":"msvbs98@gmail.com","login":"ms10398","count":1},{"name":"Mohan Kumar","email":"121867882+ItshMoh","login":"ItshMoh","count":1},{"name":"Mike","email":"162586393+mike-lu1","login":"mike-lu1","count":1},{"name":"Mansi Sharma","email":"142149001+57200","login":"57200","count":1},{"name":"Majdi Saibi","email":"saibimajdi@outlook.com","login":"saibimajdi","count":1},{"name":"M Skanda Shyam Bhat","email":"4VP23CS044@vcetputtur.ac.in","login":"mskandashyambhat","count":1},{"name":"Lampone","email":"skechele@gmail.com","login":"Lampone","count":1},{"name":"L Bo","email":"elbeho","login":"elbeho","count":1},{"name":"Knut Ahlers","email":"knut@ahlers.me","login":"Luzifer","count":1},{"name":"Himaj333","email":"78681144+HimajPatil","login":"HimajPatil","count":1},{"name":"Kayla Edwards","email":"kaylae@andrew.cmu.edu","login":"kaylae605","count":1},{"name":"Karl Jones","email":"karljones@live.ie","login":"Karljoones","count":1},{"name":"Justin Hutchings","email":"jhutchings1","login":"jhutchings1","count":1},{"name":"Jurijs Ivanovs","email":"yura@ivanov.lv","login":"yuri-ivanov1972","count":1},{"name":"Julien Palard","email":"julien@palard.fr","login":"JulienPalard","count":1},{"name":"JulieMaricicDetweiler","email":"80288445+JulieMaricicDetweiler","login":"JulieMaricicDetweiler","count":1},{"name":"John Nilsson","email":"john@milsson.nu","login":"JohnNilsson","count":1},{"name":"John Lianoglou","email":"prometheas","login":"prometheas","count":1},{"name":"JieDiscovery","email":"36447962+JieDiscovery","login":"JieDiscovery","count":1},{"name":"Jeremy Arancio","email":"97704986+jeremyarancio","login":"jeremyarancio","count":1},{"name":"Jaen Saul","email":"jaen@saul.ee","login":"jaens","count":1}],"past_year_committers":[{"name":"Freso","email":"dev@freso.dk","login":"Freso","count":254},{"name":"moon-rabbitOFF","email":"34795011+moon-rabbitOFF","login":"moon-rabbitOFF","count":132},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":129},{"name":"Stéphane Gigandet","email":"stephane@openfoodfacts.org","login":"stephanegigandet","count":120},{"name":"Pierre Slamich","email":"pierre@openfoodfacts.org","login":"teolemon","count":81},{"name":"Alex Garel","email":"alex@openfoodfacts.org","login":"alexgarel","count":69},{"name":"Open Food Facts Bot","email":"119524357+openfoodfacts-bot","login":"openfoodfacts-bot","count":61},{"name":"john-gom","email":"116556069+john-gom","login":"john-gom","count":47},{"name":"hangy","email":"hangy@hangy.de","login":"hangy","count":25},{"name":"Arnaud Leene","email":"aleene@gmail.com","login":"aleene","count":23},{"name":"Jagjeevan Kashid","email":"jagjeevankashid97@gmail.com","login":"JagjeevanAK","count":20},{"name":"benbenben2","email":"110821832+benbenben2","login":"benbenben2","count":15},{"name":"Copilot","email":"198982749+Copilot","login":"Copilot","count":14},{"name":"Raphaël Bournhonesque","email":"raphael@bournhonesque.eu","login":"raphael0202","count":14},{"name":"Dhiraj Rathod","email":"2102508740@svyasa-sas.edu.in","login":"dhiraj-143r","count":12},{"name":"James Addison","email":"55152140+jayaddison","login":"jayaddison","count":12},{"name":"Leonard","email":"leonard.michelet@gmail.com","login":"leonarf","count":10},{"name":"VaiTon","email":"eyadlorenzo@gmail.com","login":"VaiTon","count":9},{"name":"Vic142","email":"144172903+Vic142","login":"Vic142","count":6},{"name":"Teiron","email":"12804636+Teiron","login":"Teiron","count":4},{"name":"Sam Tucker-Davis","email":"126325182+stuckvgn","login":"stuckvgn","count":4},{"name":"Victor Prins","email":"32959052+VictorPrins","login":"VictorPrins","count":4},{"name":"soheiyagi","email":"soheiyagi@gmail.com","login":"soheiyagi","count":4},{"name":"RayanGoubet","email":"156110537+RayanGoubet","login":"RayanGoubet","count":4},{"name":"Kunal Gupta","email":"2007guptakunal@gmail.com","login":"Kunal241207","count":4},{"name":"Charles Nepote","email":"charles@openfoodfacts.org","login":"CharlesNepote","count":4},{"name":"Pranjal J","email":"136667416+pranjal2004838","login":"pranjal2004838","count":3},{"name":"Nithya Vasireddi","email":"nithyavasireddi@gmail.com","login":"nithyaV-dev","count":3},{"name":"SAITEJA","email":"kommisaiteja677@gmail.com","login":"SaitejaKommi","count":3},{"name":"Tuukka Hastrup","email":"Tuukka.Hastrup@iki.fi","login":"tuukka","count":3},{"name":"Manon Corneille","email":"104015489+manon-corneille","login":"manon-corneille","count":3},{"name":"Areeb Ahmed","email":"135235925+areebahmeddd","login":"areebahmeddd","count":3},{"name":"Arybhatt","email":"bhattarya4533@gmail.com","login":"arybhatt4533","count":2},{"name":"Báthory Péter","email":"bathory86p@gmail.com","login":"BathoryPeter","count":2},{"name":"Abi","email":"llawlietbagsum@gmail.com","login":"LarytheLord","count":2},{"name":"leonard","email":"leonard@lebasic.com","login":null,"count":2},{"name":"Kirtan Manoj Chandak","email":"92196705+kirtanchandak","login":"kirtanchandak","count":2},{"name":"Marco Rossini","email":"me@marcorossini.com","login":"bobcorn","count":2},{"name":"Nicolò Paternoster","email":"paternoster.nicolo@gmail.com","login":"adv0r","count":2},{"name":"Unpublished","email":"Unpublished","login":"Unpublished","count":2},{"name":"adam jones","email":"domdomegg+git@gmail.com","login":"domdomegg","count":2},{"name":"cmap99","email":"101516688+cmap99","login":"cmap99","count":2},{"name":"mik1xcz","email":"160590887+mik1xcz","login":"mik1xcz","count":2},{"name":"twindel","email":"uj_b@hotmail.com","login":"twindel","count":1},{"name":"beerhalt","email":"lbeerhal@andrew.cmu.edu","login":"beerhalt","count":1},{"name":"Vikas","email":"vs4445277@gmail.com","login":"Vikas4245","count":1},{"name":"Tomeshwari Sahu","email":"scketcha@gmail.com","login":"Tomeshwari-02","count":1},{"name":"Swastik Ranjan Panigrahi","email":"textswastik.alt@gmail.com","login":"swastikCommits","count":1},{"name":"Suvam Patra","email":"Patrasuvam15@gmail.com","login":"suvammpatra","count":1},{"name":"Sanjay H","email":"69153982+TheSanjBot","login":"TheSanjBot","count":1},{"name":"Sam Tucker-Davis","email":"126325182+samtuckerdavis","login":"samtuckerdavis","count":1},{"name":"Sam K Thampan","email":"64613068+devsk18","login":"devsk18","count":1},{"name":"SIDHANSU SINGH","email":"sidhanshusingh445@gmail.com","login":"sidhansu10","count":1},{"name":"Roto15","email":"99144065+Roto15","login":"Roto15","count":1},{"name":"Reno","email":"gillet.ren@gmail.com","login":"gilren","count":1},{"name":"Raphaël Odini","email":"raphodn","login":"raphodn","count":1},{"name":"Parshv Dharmendra Runwal","email":"parshvrunwal567@gmail.com","login":"Parshv-sudo","count":1},{"name":"Anh Quang Nguyen","email":"29374105+areporeporepo","login":"areporeporepo","count":1},{"name":"Benjamin Loison","email":"12752145+Benjamin-Loison","login":"Benjamin-Loison","count":1},{"name":"Cody Njos","email":"69707332+CodyNjos","login":"CodyNjos","count":1},{"name":"David","email":"david@macrofactorapp.com","login":"davidpryor","count":1},{"name":"GARVIT  BHATT","email":"garvitbhattpc@gmail.com","login":"garvit-bhattt","count":1},{"name":"IWouldShiverTheWholeNightThrough","email":"95775047+IWouldShiverTheWholeNightThrough","login":"IWouldShiverTheWholeNightThrough","count":1},{"name":"Jean Forget","email":"JFORGET@cpan.org","login":"jforget","count":1},{"name":"Jurijs Ivanovs","email":"yura@ivanov.lv","login":"yuri-ivanov1972","count":1},{"name":"Kayla Edwards","email":"kaylae@andrew.cmu.edu","login":"kaylae605","count":1},{"name":"M Skanda Shyam Bhat","email":"4VP23CS044@vcetputtur.ac.in","login":"mskandashyambhat","count":1},{"name":"Mansi Sharma","email":"142149001+57200","login":"57200","count":1},{"name":"Nachiketa Pahari","email":"nachiketapahari00@gmail.com","login":"Pahari47","count":1},{"name":"Naruyoko","email":"naru519372@gmail.com","login":"Naruyoko","count":1},{"name":"Nur Aiman Fadel","email":"2870632+nuraiman","login":"nuraiman","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfoodfacts%2Fopenfoodfacts-server/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-29T00:00:08.593Z","repositories_count":6275347,"commits_count":873854634,"contributors_count":35187558,"owners_count":1175782,"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":"openfoodfacts/openfoodfacts-server","html_url":"https://github.com/openfoodfacts/openfoodfacts-server","last_synced_at":"2026-06-27T11:00:20.008Z","status":null,"issues_count":4063,"pull_requests_count":9966,"avg_time_to_close_issue":38163317.259535655,"avg_time_to_close_pull_request":1843327.2392015706,"issues_closed_count":2410,"pull_requests_closed_count":9168,"pull_request_authors_count":288,"issue_authors_count":263,"avg_comments_per_issue":2.124292394782181,"avg_comments_per_pull_request":2.6048565121412803,"merged_pull_requests_count":7816,"bot_issues_count":7,"bot_pull_requests_count":1583,"past_year_issues_count":113,"past_year_pull_requests_count":471,"past_year_avg_time_to_close_issue":1296873.4210526317,"past_year_avg_time_to_close_pull_request":439709.358649789,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":237,"past_year_pull_request_authors_count":45,"past_year_issue_authors_count":42,"past_year_avg_comments_per_issue":0.9026548672566371,"past_year_avg_comments_per_pull_request":3.5987261146496814,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":47,"past_year_merged_pull_requests_count":207,"created_at":"2023-05-09T10:34:51.045Z","updated_at":"2026-06-27T11:00:20.038Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfoodfacts%2Fopenfoodfacts-server","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfoodfacts%2Fopenfoodfacts-server/issues","issue_labels_count":{"bug":746,"⏰ Stale":557,"feature":416,"🐛 bug":327,"✨ Feature":242,"API":198,"Stale":181,"🎯 P1":150,"good first issue":139,"🧽 Data quality":138,"🏭 Producers Platform":129,"ingredients":113,"taxonomies":110,"data quality":107,"frontend":102,"Fixed ?":94,"i18n":93,"📖 Knowledge Panels":85,"ingredients analysis":82,"producers platform":78,"🧬 Taxonomies":74,"✔ task":74,"🥗🔍 Ingredients analysis":72,"P3":72,"P1":71,"Product Page":71,"P2":66,"✅ Task":65,"5 minute fix":63,"🧴 Open Beauty Facts":60,"Template::Toolkit":60,"labels":58,"ecoscore":58,"editing":56,"categories":55,"📚 Documentation":52,"fixed?":52,"🥗  Ingredients":51,"search":49,"📸 Open Products Facts":48,"Nutrition facts":44,"static content":44,"🌐 i18n":44,"API READ":43,":star: top issue":43,"🚦 Nutri-Score":42,"🤳🥫 blocking mobile apps":41,"✏️ Editing":41,"🔎  Search":40,"new design":40,"facets":40,"Nutrients":39,"nutrition facts":37,"barcodes":37,"additives":36,"packaging":35,"📍🏭 Packager codes":35,"🎯 P0":35,"nutrients":34,"help wanted":34,"⏲️ 5 minute fix":34,"images":33,"🚅 Performance":32,"product attributes":32,"🎨 Mockup available":32,"API Refactor":31,"OCR":30,"knowledge-panels":30,"📦 Packaging":29,"P1 candidate":29,"🐾 Open Pet Food Facts":29,"non tech":28,"👥 User management":28,"responsive ux":28,"🎨 New design":28,"CSS":28,"foundation":28,"API read":27,"multingual products":27,"css":26,"performance":26,"👩‍💻 DevOps":25,"mongodb":25,"🧪 additives":25,"refactor":25,"devops":25,"javascript":24,"P0":24,"Hacktoberfest":23,"Knowledge panels":23,"🏷️ Folksonomy Project":23,"🖼️ Images":22,"security":22,"needs deployment":22,"dev":22,"JavaScript":22,"quality-facet":22,"👮 Moderation":22,"blocking mobile apps":22,"🤳🥫 mobile apps":22,"packager codes":21,"accessibility ♿":21,"translations":21,"🎯 P1 candidate":21,"🖼️ Image upload":20,"units":20,"🎨 Design":20,"API WRITE":20,"📍 Origins":20,"Data export":19,"outreachy":19,"design":19,"nova":19,"documentation":19,"🤖 Robotoff":19,"scan statistics":19,"docker":19,"user-management":19,"brokenlinks":19,"ingredient-list-cutting":19,"🌍 Multilingual products":18,"✏️ Editing - Nutrition":18,"personal search":18,"brands":18,"P4":18,"data import":18,"admin tools":18,"API write":17,"Perl":17,":star: top bug":17,":star: :bug: top bug":17,"infrastructure":17,"status system":17,"data export":17,"✏️ Editing - Auto Suggest":17,"Nova - Ultra-processed foods":16,"product history":16,"🧪 tests":16,"palm oil":16,"SEO":16,"open beauty facts":16,"ci":16,"task":15,"🌱 Eco-Score":15,"MongoDB":15,"export":15,"footer":15,"image upload":15,"location":14,"averages by categories":14,"allergens":14,"data4good-environment":14,"🔐 API auth":14,"📨 Emails":14,"GS1":14,"gamification":13,"📝 story":13,"🔎 Advanced Search":13,"advanced search":13,"Attributes":13,"homepage":13,"CSV exports":13,"🛣️ Road to scores":13,"👍 Top 10 Issue!":13,"🥜 Allergens":13,"maintenance":13,"📊 Charts":13,"🕷️ SEO":13,"hunger games":13,"mockup-available":13,"⚖️ Quantity":13,"Translations":13,"🎁 donations":13,"🏭 Producers Platform - data imports":12,"📚 OpenAPI":12,"product addition":12,"no-issue-activity":12,"Signup Page":12,"Made Near Me":12,"🇺🇸 United States":12,"German":12,"GitHub Actions":12,"organic products":12,"📍 location":12,"robotoff":11,"Admin tools":11,"wikidata":11,"tests":11,"API v3":11,"🌱 Green-Score":11,"question":11,"nutriscore":11,"cropping":11,"onboarding":11,"List pages":10,"CIQUAL":10,"Road to app":10,"🕹️ Gamification":10,"🧽  Data quality - Nutrition":10,"Tags.pm":10,"multilingual products":10,"Russian":10,"🏭 Producers Platform - onboarding":10,"graphs":10,"WikiData":9,"installation":9,"🏭 Producers Platform - Odoo":9,"Data import":9,"Fixable via Userscript":9,"logos":9,"♞ Epic":9,"🚦Nutri-Score":9,"microformats":9,"autosuggest":9,"server":9,"special-diets":9,"linked data":9,"contribution journey":9,"vegan":9,"✂️ Editing - Images - Cropping":9,"🧽 Data quality - Prevention":9,"environment":9,"github_actions":9,"caching":8,"CI":8,"carbon footprint":8,"moving-images":8,"tag images":8,"needs investigation":8,"3rd party contributions":8,"product lists":8,"fruits vegetables nuts estimate":8,"🧽 Data quality - Measure - Quality facets":8,"📊 graphs":8,"🍷 wine":8,"🧽 Quality facet":8,"automation":7,"🗄 Obsolete products":7,"fixable-via-userscript":7,"traces":7,"portions":7,"Ingredients knowledge panel":7,"Sprint":7,"CORS":7,"dependencies":7,"HTML":7,"Emails":7,"♞ epic":7,"Data destroying issue":7,"blocking-smoothie":7,"🧬 Taxonomies - Translation":7,"📖 Knowledge Panels - For facets":7,"quantity":7,"👥 Users":7,"🗺️ Maps":7,"top navigation":7,"Outreachy":7,"wiki":7,"Recent changes":6,"donations":6,"404":6,"Epic":6,"nutrition editing":6,"🐋 Docker":6,"🇨🇭 Switzerland":6,"Spanish":6,"nginx":6,"dev journeys documentation":6,"🌐 Translations":6,"📖 Knowledge panels - Actions":6,"origins":6,"new fields":6,"category-specific support":6,"data-freshness":6,"osd'22":6,"Can be done by Robotoff":6,"pathway-to-contribution":6,"Big Bang for Your Time":6,"automatic-data-augmentation":6,"inline edit":6,"serving size":5,"login":5,"NGINX":5,"🏭 Producers Platform - acquisition":5,"gluten":5,"🎯 Big Bang for Your Time":5,"🏭 Producers Platform - admin tools":5,"Lists of products":5,"html":5,"China":5,"blocking off explorer":5,"product-specific issue":5,"road-to-scores":5,"spanish":5,"offline mode":5,"account deletion":5,"REDIS":5,"Products Recalls":5,"products without barcodes":5,"untranslatable strings":5,"vitamins":5,"nutrient-levels":5,"✏️ Editing - Ingredients":5,"variable-barcodes":5,"score explainability":5,"🐠 Fishing":5,"Power User Script":5,"🇫🇷 France":5,"🔔 Notifications":5,"🥗 Ingredients":5,"edit rules":5,"Users":5,"protected data":5,"needs reprocessing":5,"timeouts":5,"🔎 Search":5,"Cocoa":5,"monitoring":5,"old-products":4,"openfoodfacts-events":4,"👥 User support":4,"ciqual":4,"data-quality-nutrition":4,"🧽 Data quality - Prevention - Edit rules":4,"scores":4,"product-count page":4,"processing":4,"Belgium":4,"💸  Prices":4,"🇩🇪 Germany":4,"can-be-done-by-robotoff":4,"🗺️ Made Near Me":4,"🧬 External taxonomies":4,".well-known":4,"🧂 Salt":4,"drip editing":4,"taxonomy translation":4,"🎨 Mockup required":4,"newsletter":4,"pagination":4,"power tools for contributors":4,"HTTPS":4,"🇬🇧 United Kingdom":4,"api auth":4,"matomo":4,"Traces":4,"Alcohol":4,"salt":4,"🌾 gluten":4,"🌳 Forest Footprint":4,"diluted products":4,"OpenAPI":4,"producers platform - acquisition":4,"delta exports":4,"impact":4,"russian":4,"india":4,"maps":4,"🔐 Auth":4,"seasonality support":4,"Spellcheck":4,"Road to Doc":4,"typing":4,"🧽 API - Quality":4,"needs more info":4,"image recognition":4,"folksonomy project":3,"Checked products":3,"Ambiguous barcodes":3,"📦 Packaging shapes":3,"icons":3,"🌱 Vegan":3,"Dutch":3,"not done":3,"code pointer available":3,"data destroying issue":3,"OxF":3,"image deletion":3,"🧬 Taxonomies - Rebuild":3,"🧪 integration tests":3,"🤰 pregnancy \u0026 babies":3,"📍 geolite":3,"tagline":3,"producers platform - reengagement":3,"Greek":3,"Fixed by Keycloak":3,"Open Products Facts":3,"Server-driven editing":3,"Road to community":3,"✏️ Editing - drip editing":3,"🏄‍♂️ good first issue":3,"Web components":3,"🧽 Data quality - Remediation":3,"glycemic index":3,"pull-request-available":3,"user-support":3,"disk space":3,"🔐 Password reset":3,"Display":3,"Scanbot":3,"road to app":3,"🧽 Data quality - edit rules":3,"Tests - ToDo":3,"🪶 Apache":3,"Requires HTTPS":3,"qrcode":3,"manifest":3,"mockup-required":3,"logs":3,"startup":3,"comments":3,"US project":3,"Blocking Hunger Games":3,"pregnancy \u0026 babies":3,"packaging_shapes":3,"🇵🇱 Polish":3,"openfoodfacts-query":3,"user feedback":3,"not planned":3,"🍬 Sugar":3,"open pet food facts":3,"🔐 external auth service":3,"best-before-dates":3,"marketing":3,"duplicate":3,"us project":3,"editing-images":3,"Tags":3,"obsolete products":3,"agribalyse":3,"solved in off explorer":2,"solution available":2,"🏭 Producers Platform - reengagement":2,"search ranking":2,"storage-instructions":2,"Road to OxF":2,"release-blocking-issue":2,"encoding":2,"🥗 Ingredients - processing":2,"knowledge panels for facets":2,"halal":2,"FoodRepo":2,"🇮🇪 Ireland":2,"japan":2,"config":2,"Product name":2,"wontfix":2,"🚦nutriscore":2,"🥤 Gulp":2,"script-writing":2,"fishing":2,"Austria":2,"📢 Marketing":2,"slack-notifications":2,"product reformulation":2,"indexing":2,"product deletion":2,"Nutri-Score v2":2,"science":2,"lazy-loading":2,"wine":2,"routing":2,"Error pages":2,"🇭🇷 Croatia":2,"✏️ Editing - Images":2,"✏️ Editing - image edition":2,"polish":2,"knowledge panel actions":2,"can't reproduce":2,"🇮🇳 India":2,"open food hunt":2,"🖼️ Image refresh":2,"anonymous-edits":2,"🇨🇱 Chile":2,"API auth":2,"P5":2,"🇪🇺 Europe":2,"postgresql":2,"EAN-8":2,"🔀 Product alternatives":2,"regression":2,"🥚 eggs":2,"preprod":2,"Uncommitted assets":2,"changelog":2,"Fruits \u0026 Vegetables":2,"Minion":2,"Account deletion":2,"Photo rotation":2,"checkbot":2,"Agribalyse":2,"invalid":2,"recipes":2,"📨 Emails - Brevo":2,"data donations":2,"Social media links":2,"crossplatform integration":2,"equivalents":2,"producer platform - spam":2,"🚰 diluted products":2,"spellcheck":2,"Products":2,"product page navigation":2,"odoo":2,"Call for Proposals":2,"Progressive Web App":2,"💥 Merge Conflicts":2,"RTL":2,"eggs":2,"🍬 How much sugar":2,"ingredients editing":2,"Vegetarian":2,"✅ task":2,"Portuguese":2,"🔒 Requires HTTPS":2,"🔖 🖼️ tag images":2,"health card":2,"fixed-via-userscript":2,"deploy-dev":2,"ingredients processing":1,"🌐 Timezones":1,"keyboard shortcuts":1,"GS1 GPC":1,"modals":1,"🐍 Python":1,"Analytics":1,"alcohol":1,"dependancies":1,"documentation-update-required":1,"education":1,"sentry":1,"📖 Knowledge panels - Health":1,"🇨🇦 Canada":1,"meta":1,"👥 User groups":1,"colors":1,"csv exports":1,"degrated situations":1,"segfault":1,"🇺🇾 Uruguay":1,"htaccess":1,"observability":1,"Croatia":1,"CRON":1,"need design":1,"lactose":1,"infoboxes":1,"fixable-in-crowdin":1,"documented":1,"📖 Knowledge panels - Data Quality":1,"Request for Comments":1,"charts":1,"🧹 Linting":1,"todo tests":1,"ImageMagick":1,"📖 Knowledge Panels -":1,"Url":1,"Catalan":1,"Ecobalyse":1,"Reusers experience":1,"Mail":1,"favicons":1,"needs data analysis":1,"animal welfare":1,"password reset":1,"Fields":1,"✏️ Editing - Basic details":1,"prepared nutrition":1,"🛒 DriveOFF":1,"autorelease: pending":1,"🕰️ CRON":1,"🧬 Taxonomy editor":1,"on-the-fly quality checks":1,"🧪 needs tests":1,"🇧🇬 Bulgaria":1,"dataset creation":1,"🤳🥫Scan Party":1,"API Read - Product":1,"fructose":1,"Food supplements":1,"Knowledge panels - Health":1,"🇳🇴 Norway":1,"beers":1,"🍺 beers":1,"Eco-Score":1,"user groups":1,"Nutri-Score":1,"legacy":1,"producer onboarding":1,"🇸🇮 Slovenia":1,"🤳🥫 tagline":1,"🙅‍♀️ wontfix":1,"SCSS":1,"regular expressions":1,"Scan Party":1,"compare":1,"Partial barcode API":1,"📖 Knowledge Panels - OBF":1,"producers platform - onboarding":1,"language switcher":1,"food archeology":1,"⚙️ food preferences":1,"🏪 Stores":1,"External taxonomies":1,"Producer platform - improvement opportunities":1,"opposites - logic bombs":1,"rtl":1,"debug":1,"SFTP":1,"Knowledge panels - infoboxes":1,"geolite":1,"foreign-products-stored-in-french":1,"🔒 HTTPS":1,"Legal":1,"Fixed via Userscript":1,"Ukrainian":1,"XML":1,"CSRF":1,"P30":1,"Taxonomies - Rebuild":1,"🇸🇪 Sweden":1,"openapi":1,"Buggy products":1,"🇱🇺 Luxembourg":1,"lithuanian":1,"taxonomy editor":1,"humor":1,"rate-limit":1,"stores":1,"Data extraction":1,"Road to editing":1,"User engagement":1,"🇱🇹 Lithuania":1,"france":1,"forest footprint":1,"RSS":1,"✏️ Editing - anonymous edits":1,"deployed-on-dev-server":1,"vegetarian":1,"needs a decision":1,"api quality":1,"needs tests":1,"🧽  on-the-fly quality checks":1,":star: top issues dashboard":1,"🇯🇵 Japan":1,"teams":1,"🇮🇹 Italy":1,"special-character-languages":1,"argentina":1,"uservoice":1,"shortcuts":1,"apache":1,"🔐 Password":1,"alternatives":1,"🧽 Data quality - False positives":1,"non-food products":1,"🧪 unit tests":1,"power-user-script":1,"Contribalim":1,"Q1-2019":1,"🔎 Search - Ranking":1,"Taxonomies":1,"signup date":1,"Dark mode":1,"Non-ASCII":1,"npm":1,"update all products":1,"🇦🇺 Australia":1},"pull_request_labels_count":{"dependencies":1464,"🧬 Taxonomies":1241,"🧪 tests":792,"categories":785,"taxonomies":778,"Template::Toolkit":528,"📚 Documentation":443,"JavaScript":431,"javascript":425,"Display":368,"github_actions":362,"ingredients":359,"GitHub Actions":339,"translations":337,"🥗🔍 Ingredients analysis":303,"🥗 Ingredients":296,"💥 Merge Conflicts":284,"🌐 Translations":267,"tests":265,"labels":210,"🧴 Open Beauty Facts":203,"🏭 Producers Platform":192,"API":190,"Tags":179,"🧪 additives":170,"📸 Open Products Facts":161,"producers platform":156,"i18n":153,"🧽 Data quality":150,"📖 Knowledge Panels":145,"Products":141,"config":140,"Ingredients processing":135,"🐾 Open Pet Food Facts":133,"ingredients analysis":130,"Food.pm":128,"🚦 Nutri-Score":127,"multilingual products":125,"documentation":120,"📦 Packaging":119,"additives":119,"packaging":118,"ecoscore":116,"dependancies":108,"docker":103,"merge-conflicts":100,"🧪 unit tests":97,"🥜 Allergens":94,"🖼️ Images":92,"knowledge-panels":90,"autorelease: tagged":90,"🐋 Docker":87,"CSS":86,"🧪 integration tests":84,"👥 Users":83,"API v3":80,"Product Page":78,"Data import":76,"🎁 donations":74,"Attributes":71,"frontend":71,"Site layout":70,"📍 Origins":69,"open beauty facts":69,"autorelease: pending":66,":star: top pull request":64,"NGINX":63,"German":61,"📍🏭 Packager codes":61,"GS1":61,"🥗  Ingredients":58,"export":58,"📚 OpenAPI":55,"Stale":55,"open pet food facts":55,"product history":54,"API WRITE":54,"update all products":54,"👮 Moderation":53,"Open Products Facts":49,"data quality":47,"allergens":46,"devops":46,"🌱 Eco-Score":45,"static content":45,"taxonomy translation":44,"2024 Paris Perl Hackathon":42,"exports":42,"data import":41,"css":40,"ciqual":40,"✏️ Editing":39,"🏭 Orgs":38,"images":36,"API READ":36,"Users":36,"🇵🇱 Polish":35,"Food groups":35,"MongoDB":35,"icons":33,"taxonomies rebuild":31,"🥤 Gulp":31,"mongodb":30,"🇸🇪 Sweden":30,"brands":30,"📦 Packaging shapes":30,"Croatia":29,"✏️ Editing - Auto Suggest":29,"Web":29,"bug":29,"REDIS":29,"🇭🇷 Croatia":29,"store":28,"⏰ Stale":28,"editing":27,"🎯 P0":27,"OCR":27,"🏭 Producers Platform - Odoo":27,"packager codes":27,"nova":26,"file import":26,"lang":26,"refactor":26,"product attributes":25,"performance":25,"👩‍💻 DevOps":24,"Paris Perl Hackathon":24,"Poland":24,"Scanbot":24,"Taxonomies":23,"Nova - Ultra-processed foods":23,"Minion":23,"dev":23,"Perl":23,"unit tests":22,"🤳🥫 tagline":22,"catalan":22,"recipes":21,"🏷️ Folksonomy Project":21,"🔎 Search":21,"🔐 Password":21,"ci":21,"Translations":21,"status system":20,"personal search":20,"📨 Mail":20,"integration tests":20,"🔐 Auth":20,"🌱 Vegan":20,"API write":19,"🇩🇰 Denmark":19,"🤖 Robotoff":19,"nutrients":18,"🐛 bug":18,"facets":18,"🇯🇵 Japan":18,"🌳 Forest Footprint":18,"🪶 Apache":18,"bulgaria":17,"origins":17,"tagline":17,"nginx":17,"🕹️ Gamification":17,"🚅 Performance":17,"design":17,"vitamins":16,"API read":16,"🍬 How much sugar":16,"🎯 P1":15,"openfoodfacts-query":15,"Recent changes":15,"Account deletion":15,"🗺️ Made Near Me":14,"data4good-environment":14,"Agribalyse":13,"Czech":13,"donations":13,"✨ Feature":13,"Nutrients":13,"Text":13,"Lists of products":13,"nutrition facts":13,"wikidata":12,"search":12,"security":12,"forest footprint":12,"dev journeys documentation":12,"🤳🥫 blocking mobile apps":12,"📨 Emails - Brevo":12,"palm oil":11,"checkbot":11,"URL":11,"Nutri-Score v2":11,"agribalyse":11,"Ecobalyse":11,"Stores":11,"WikiData":10,"🇱🇹 Lithuania":10,"folksonomy project":10,"ingredients processing":10,"systemd":10,"🧽  Data quality - Nutrition":10,"Web components":10,"Orgs":9,"logos":9,"🏭 EQUADIS":9,"logs":9,"accessibility ♿":9,"Numbers":9,"carbon footprint":9,"partners page":9,"Nutrition facts":9,":boom: Merge Conflicts":9,"Countries":9,"MainCountries":8,"quality-facet":8,"python":8,"scan statistics":8,"Knowledge panels":8,"5 minute fix":8,"data export":8,"packaging_shapes":8,"barcodes":8,"China":8,"matomo":8,"no-pr-activity":8,"HTTPS":7,"image upload":7,"🧽 Data quality - edit rules":7,"🌱 Green-Score":7,"Vegetarian":7,"✔︎ Spellcheck":7,"autosuggest":7,"Data export":7,"Uncommitted assets":7,"darkmode":7,"apache":7,"feature":7,"🇳🇴 Norway":7,"🥗 Ingredients - processing":6,"footer":6,"responsive ux":6,"🇫🇷 France":6,"🤳🥫 mobile apps":6,"CIQUAL":6,"Denmark":6,"product addition":6,"linked data":6,"P1":6,"👥 User management":6,"Spanish":6,"maintenance":6,"🏭 Producers Platform - data imports":6,"⚖️ Quantity":5,"robotoff":5,"🧽 Data quality - Remediation":5,"📍 geolite":5,"Allergens":5,"moderation":5,"Mail":5,"advanced search":5,"hunger games":5,"🍊 Open Food Facts":5,"Data exports":5,"gamification":5,"new design":5,"Made Near Me":5,"🎯 P1 candidate":5,"Austria":5,"nutriscore":5,"admin tools":5,"🇺🇸 United States":5,"Fruits \u0026 Vegetables":5,"russian":5,"🏭 Producer platform - improvement opportunities":5,"foundation":5,"🧽 Data quality - Measure - Quality facets":5,"🇫🇮 Finland":5,"serving size":4,"SCSS":4,"script-writing":4,"🌐 i18n":4,"🧬 Taxonomies - Translation":4,"special-diets":4,"Czech republic":4,"📊 graphs":4,"location":4,"rate limiter":4,"🇷🇴 Romania":4,"🗺️ Maps":4,"🌾 gluten":4,"🇧🇬 Bulgaria":4,"Dutch":4,"Cocoa":4,"multingual products":4,"caching":4,"processing":4,"🔐 external auth service":4,"Nutri-Score":4,"obsolete products":4,"SEO":4,"ingredient-list-cutting":4,"🔖 🖼️ tag images":4,"npm":4,"CI":4,"server":4,"Ingredients knowledge panel":3,"🇮🇹 Italy":3,"FODMAP":3,"Portugal":3,"Power User Script":3,"geolite":3,"needs deployment":3,"task":3,"Signup Page":3,"offline mode":3,"🇨🇦 Canada":3,"Makefile":3,"documentation-update-required":3,"🚦Nutri-Score":3,"blocking mobile apps":3,"🇮🇱 Israel":3,"US project":3,"🇮🇪 Ireland":3,"Cyprus":3,"infoboxes":3,"🕰️ CRON":3,"3rd party contributions":3,"teams":3,"OpenAPI":3,"ready to merge":3,"🍬 Sugar":3,"Contribalim":3,"graphs":3,"routing":3,"units":3,"🕷️ SEO":3,"📍 location":3,"🇮🇳 India":3,"spanish":3,"svg":3,"fixed?":3,"nodejs":3,"pagination":3,"Tags.pm":3,"Legal":2,"🧽 Data quality - Prevention":2,"opposites - logic bombs":2,"🇺🇸 USDA import":2,"Greek":2,"knowledge panel actions":2,"CORS":2,"🖼️ Image upload":2,"openapi":2,"newsletter":2,"📖 Knowledge Panels - For facets":2,"Italy":2,"🧬 Taxonomy editor":2,"microformats":2,"user-management":2,"needs help":2,"stores":2,"🏭 Producers Platform - acquisition":2,"🥚 eggs":2,"elastic":2,"🧽 Quality facet":2,"🇬🇧 United Kingdom":2,"divinfood":2,"Hungary":2,"fishing":2,"deployed-on-dev-server":2,"🔐 API auth":2,"lactose":2,"installation":2,"Nutrition estimation":2,".well-known":2,"editing-images":2,"quantity":2,"subdomains":2,"rtl":2,"🔎  Search":2,"Blocks":2,"account deletion":2,"environment":2,"postgresql":2,"Shared services":2,"Australia":2,"✏️ Editing - Nutrition":2,"external taxonomies":2,"monitoring":2,"🎨 Design":2,"OxF":2,"prometheus":2,"🇸🇮 Slovenia":2,"gluten":2,"API Refactor":2,"Belgium":2,"language switcher":2,"elk":2,"polish":2,"spellcheck":2,"disk space":2,"🇱🇺 Luxembourg":2,"averages by categories":2,"product examples":2,"manifest":2,"🧽  on-the-fly quality checks":2,"maps":2,"Privacy":2,"recommendations":2,"html":2,"🏭 AGENA3000":2,"edit rules":2,"Portuguese":2,"Nutrient levels":2,"pregnancy \u0026 babies":2,"scores":2,"csv exports":2,"Road to Doc":2,"data-quality-nutrition":2,"Ireland":2,"✏️ Editing - Images":2,"STO":2,"Luxembourg":2,"🏭 Producers Platform - onboarding":2,"💸 Prices":2,"🧽 Data Quality - Products stored in French":1,"🐠 Fishing":1,"power tools for contributors":1,"product reformulation":1,"india":1,"external auth service":1,"🎨 New design":1,"Requires HTTPS":1,"variable-barcodes":1,"on-the-fly quality checks":1,"Animal welfare":1,"🇵🇹 Portugal":1,"ketogenic diet":1,"product lists":1,"🧪 ✅ Tested":1,"Fields":1,"Knowledge panels - Health":1,"🇹🇭 Thailand":1,"Url":1,"preprod":1,"todo tests":1,"🧹 Linting":1,"automated pr":1,"Eco-Score":1,"documented":1,"⏲️ 5 minute fix":1,"auth":1,"user-support":1,"open products facts":1,"product rules":1,"nutrient-levels":1,"observability":1,"CSV exports":1,"Bug in Pre-Production":1,"Spain":1,"brokenlinks":1,"seasonality support":1,"agena3000":1,"Analytics":1,"homepage":1,"profiles":1,"🇦🇺 Australia":1,"deployed in production":1,"api auth":1,"outreachy":1,"indexing":1,"comments":1,"sto":1,"release-blocking-issue":1,"🐍 Python":1,"GS1 GPC":1,"us project":1,"GenAI":1,"Producer platform - improvement opportunities":1,"Keyhole":1,"🇨🇭 Switzerland":1,"needs tests":1,"Progressive Web App":1,"verified to work in production":1,"Dark mode":1,"startup":1,"Road to app":1,"Social media links":1,"organic products":1,"moving-images":1,"cropping":1,"non tech":1,"Polish":1,"Ukrainian":1,"Intake24":1,"blocking off explorer":1,"deploy-dev":1,"user groups":1,"Producers - Product Enhancement Suggestions":1,"P0":1,"lazy-loading":1,"Q\u0026A":1,"Road to editing":1,"wiki":1,"🇧🇷 Brazil":1,"blocking-smoothie":1,"needs work":1,"debug":1,"🗄 Obsolete products":1,"JSONL":1,"Reusers experience":1,"traces":1,"🌍 Multilingual products":1,"update-all-products":1,"glycemic index":1,"P3":1,"⚙️ food preferences":1,"animal welfare":1,"Top translators":1,"🌽 Corn":1,"enhancement":1,"🔐 Password reset":1,"favicons":1,"diluted products":1,"🇩🇪 Germany":1,"infrastructure":1,"3rd party Knowledge Panels":1,"producer onboarding":1,"Alcohol":1,"🍺 beers":1,"SFTP":1,"vegan":1,"markdown":1,"EAN-8":1,"Food supplements":1,"japan":1,"🤳🥫 requires mobile changes":1},"issue_author_associations_count":{"MEMBER":2099,"CONTRIBUTOR":1550,"NONE":338,"COLLABORATOR":76},"pull_request_author_associations_count":{"CONTRIBUTOR":6388,"MEMBER":2758,"COLLABORATOR":660,"NONE":160},"issue_authors":{"teolemon":1605,"stephanegigandet":758,"aleene":197,"CharlesNepote":182,"alexgarel":158,"aleksejrs":99,"manon-corneille":98,"hangy":87,"TaciteOFF":67,"kyzh":40,"raphael0202":36,"g123k":30,"VaiTon":26,"AcuarioCat":25,"john-gom":24,"monsieurtanuki":21,"nicolasleger":18,"jayaddison":17,"svensven":16,"October-Food-Facts":15,"yuktea":14,"Freso":13,"Ban3":12,"bredowmax":12,"roshnaeem":11,"M123-dev":10,"SantosSi":10,"Slawek234":10,"ocervell":10,"gcalsmith":9,"benbenben2":9,"CloCkWeRX":8,"github-throwaway":7,"galnaf":7,"alexfauquette":6,"Jen-Lopez":6,"rbigueras":6,"zigouras":6,"laulowen":6,"DanieliusAsm":5,"LandonPattison":5,"Anubhav-Bhargava":5,"HummingBrid":5,"sentry-io[bot]":5,"jasmeet0817":5,"ashed":5,"4nt0ineB":5,"astrubel-zz":5,"dipietroR":4,"mvark":4,"PommeOrange147":4,"N3jm4n":4,"bigon":4,"alemit":4,"fabricetheytaz":4,"TheSussex":4,"Kezxo":4,"sashabrava":4,"NerOcrO":4,"openfoodfacts-bot":3,"pradumna-gautam":3,"syl10100":3,"trendspotter":3,"jb1415":3,"Sarazine131":3,"oliwuaa":3,"fabi003":3,"rndblnch":3,"szmi":3,"fuddl":3,"TechShooter":3,"Naruyoko":3,"Valimp":3,"ghost":3,"chk1":3,"rampmaster":3,"fgouget":3,"otatadeabigail":3,"moon-rabbitOFF":3,"Sulstice":2,"ms10398":2,"theedov":2,"philipbrembeck":2,"ferb7o2":2,"john-hu":2,"jusdekiwi":2,"Nymerea":2,"jxu":2,"mrmd8":2,"sgtSeme4ki":2,"jforget":2,"BenibenOFF":2,"rugk":2,"alexouille123":2,"areebahmeddd":2,"yarons":2,"blazern":2,"norganna":2,"oricdev":2,"Phyks":2,"squeak9":2,"bcatelin":2,"KommX":2,"archanox":2,"dhiraj-143r":2,"nazimboudeffa":2,"aquilax":2,"asmoth360":2,"MaximeLaurenty":2,"lucaa":2,"OpenChris":2,"andrewhuanggg":2,"Cypresslin":2,"Gongjuhyeon":2,"pamputt":2,"javichuOFF":2,"herau":2,"teleboas":2,"Searchingdays":1,"Chocobozzz":1,"zanovis":1,"Yoanndp":1,"Diegovsky":1,"lukemorgan8064":1,"harsh-791":1,"vanshikaarora":1,"cannoyroy":1,"vertigo220":1,"forenta":1,"Sebleouf":1,"woshilapin":1,"cutterkom":1,"void0x23":1,"Abbas-Askari":1,"milahu":1,"alexk1923":1,"hunsly":1,"dependabot[bot]":1,"mahlzahn":1,"Pereradilon9":1,"sebeeek":1,"JieDiscovery":1,"saihtaM":1,"onemetafox":1,"JVillafruela":1,"adeyanjufawaz":1,"Ov-ille":1,"prashantpatel0":1,"RotBolt":1,"leonarf":1,"Faltenreich":1,"FoodCoach-App":1,"seniorm0ment":1,"alifafaruk":1,"saivats":1,"mik1xcz":1,"ovz93br43v7":1,"Bartozzz":1,"cbachhuber":1,"jolesh":1,"Gallantmayor":1,"Nothingspecial99":1,"kmlhsn":1,"moreymat":1,"himanshisrestha":1,"2jaeyeol":1,"kulizhsy":1,"elbeho":1,"RiyanshiTomar":1,"RayanGoubet":1,"danielcavanagh":1,"Xuan4781":1,"AnthonySchneider2000":1,"JamesMahy":1,"SebSwiss":1,"Pawan8538":1,"domigmr":1,"UlricusR":1,"Ahson-Shaikh":1,"hydrargyrum":1,"FRAdrien":1,"SaitejaKommi":1,"PhoenixOFF":1,"albatrousse":1,"3ph":1,"yangar":1,"github-actions[bot]":1,"matotim":1,"rursache":1,"deniger":1,"jodm":1,"JagjeevanAK":1,"zond":1,"ygaspoz":1,"ArchiMageAlex":1,"diesieben07":1,"EmilJunker":1,"JoseMoFi":1,"lukashroch":1,"laralem":1,"Manu1400":1,"guillaumegarcia13":1,"nothowstorygoes":1,"k127":1,"manoncorneille":1,"leohumnew":1,"astagi":1,"MichaelBarnett1111":1,"FredJul":1,"Hugo-De":1,"victorosorioparis":1,"jnsereko":1,"Chri92000":1,"jchristin":1,"tovkal":1,"tradmangh":1,"raphodn":1,"22404sonalmishra":1,"TamannaVerma99":1,"Fienne":1,"Roxie-32":1,"josve05a":1,"shahaman351":1,"duhow":1,"pepperino217":1,"SoftSage07":1,"goerlitz":1,"NamesNetworkNic":1,"FabienZE":1,"inflationsbereinigt":1,"e-dewailly":1,"fievx":1,"MonalikaPatnaik":1,"Areontar":1,"aqkd1":1,"DamienMAYAUX":1,"AaronAsAChimp":1,"Mehak-Parveen":1,"verdie-g":1,"mikejsdev":1,"Telperion87":1,"IsaiahLevy":1,"chris-hatton":1,"cvettelina":1,"denis-migdal":1,"kylesorkness":1,"MarByteBeep":1,"gilren":1,"olboaz":1,"alfinal":1,"prateekshac1":1,"azzsamir":1,"dlatchx":1,"IceIsFrozen":1,"swastikCommits":1,"A1CY0N":1,"natrius":1,"mojoaxel":1,"maks-io":1,"oyenuga17":1,"Lunique":1,"jebarjonet":1,"bfourgeaud":1},"pull_request_authors":{"stephanegigandet":1976,"teolemon":1657,"dependabot[bot]":1252,"moon-rabbitOFF":508,"alexgarel":501,"aleene":399,"hangy":370,"benbenben2":298,"openfoodfacts-bot":222,"github-actions[bot]":198,"Freso":184,"dipietroR":135,"dependabot-preview[bot]":133,"raphael0202":107,"CharlesNepote":86,"svensven":85,"4nt0ineB":83,"john-gom":75,"Roto15":69,"VaiTon":69,"JagjeevanAK":57,"roshnaeem":56,"Ban3":44,"OpenChris":43,"pauamma":42,"ocervell":42,"yuktea":39,"TheSussex":38,"Teiron":36,"jayaddison":33,"MonalikaPatnaik":32,"areeshatariq":29,"AcuarioCat":24,"shinjigi":23,"duhow":23,"github-throwaway":23,"areebahmeddd":23,"deveshidwivedi":22,"laralem":20,"Copilot":20,"RayanGoubet":19,"mrmd8":19,"Kout95":19,"Roxie-32":19,"blazern":18,"ArturLange":18,"very-smartin":18,"Naruyoko":18,"McCio":18,"himanshisrestha":17,"jolesh":17,"DanieliusAsm":15,"Pawan8538":14,"manon-corneille":13,"leonarf":13,"albatrousse":13,"bernardlemoullec":13,"Vic142":12,"pradumna-gautam":12,"kant":12,"Valimp":12,"g123k":12,"Nothingspecial99":12,"NerOcrO":10,"jnsereko":9,"BathoryPeter":8,"aadak99":8,"CloCkWeRX":8,"jforget":8,"anaritadauane":7,"zigouras":7,"LandonPattison":7,"eric-nguyen-cs":7,"krishita30j":6,"TaciteOFF":6,"muskangarg21":6,"yarons":6,"syl10100":6,"Sneha6003":6,"abderhman487":6,"Steinhagen":6,"Annieieieie":6,"mahlzahn":6,"pratyaksh1610":6,"foodietim":6,"RonanMorgan":5,"TCatinaud":5,"tuukka":5,"damil":5,"borrokk":5,"oricdev":4,"vansasuu":4,"mike-lu1":4,"KommX":4,"sandy9999":4,"IsaiahLevy":4,"himanshi-154":4,"teleboas":4,"nmetifiot":4,"sultanowski":4,"that1":4,"eseyman":4,"tkbremnes":4,"tchen0125":4,"lilymedway":4,"alexfauquette":4,"himanshipikachu":4,"franiis":4,"Strubbl":4,"medape":4,"MaximeLaurenty":4,"lan33":4,"astagi":3,"GendelfLugansk":3,"mariali1":3,"alexouille123":3,"oyenuga17":3,"kirtanchandak":3,"garvit-bhattt":3,"sumit-158":3,"Payne680":3,"smonff":3,"Jen-Lopez":3,"M123-dev":3,"nicolasleger":3,"ghost":3,"FemmeNoire":3,"zond":3,"ferb7o2":3,"diivi":3,"Lunique":3,"Josckar":3,"bazylevnik0":3,"jeremyarancio":2,"Cutypareek":2,"1DhruvPatel":2,"K13b3r":2,"withthelemons":2,"fuddl":2,"Shrutakeerti":2,"pilou-":2,"alex-marty":2,"alemit":2,"rohan-mate-28":2,"DhruvAwasthi":2,"Sakshamgupta90":2,"subi9":2,"andylin2004":2,"srflp":2,"Aman-Jamshed":2,"abbyrhart":2,"andrewhuanggg":2,"davisjrule":2,"elbeho":2,"samtuckerdavis":2,"sgtSeme4ki":2,"Vicam":2,"rajanarahul93":2,"dolmen":2,"Dev-Ashank":2,"Makitsu":2,"nuraiman":2,"k2s":2,"wobfan":2,"challengee":2,"BryanH01":2,"aadarsh-ram":2,"priyanka0906":2,"JieDiscovery":2,"tur-ium":2,"TechShooter":2,"rpowis":2,"Etatdesprit":2,"k127":2,"Vikas4245":2,"aleksejrs":2,"vanshikaarora":2,"davidpryor":2,"alifafaruk":2,"saibimajdi":2,"sparunakian":2,"owusunp":2,"rkiddy":2,"albertaillet":2,"NooaLumi":2,"dereineLauch":2,"chinon123":2,"snyk-bot":2,"JulienPalard":1,"Victor-Hermes":1,"helloworldtest123":1,"jalanyash":1,"GabrielBeFr":1,"star-warrior":1,"Kezxo":1,"AlperMulayim":1,"sidhansu10":1,"ItshMoh":1,"gospodin55":1,"tapaswenipathak":1,"TonyTroeff":1,"JohnNilsson":1,"maxymus-1":1,"dennisahlqvist":1,"Codeioholic":1,"simonghrt":1,"dhruv1345":1,"arybhatt4533":1,"simonj2":1,"57200":1,"shivangi3001":1,"adi-ray":1,"hannsen":1,"anthonyryan1":1,"michael-golden":1,"Cypresslin":1,"tachylatus":1,"leventgunay":1,"iotaaxel":1,"JulieMaricicDetweiler":1,"aakankshabhende":1,"sebeeek":1,"jusfla":1,"cquest":1,"dnim":1,"Luzifer":1,"Tanujgarg37":1,"azzsamir":1,"danwyk":1,"GRyabkin":1,"Mahendra-006":1,"ArishSultan":1,"laulowen":1,"achauve":1,"c-schuhmann":1,"monkeywithacupcake":1,"HimajPatil":1,"KPreisner":1,"petervdv":1,"Dwarfex":1,"fossabot":1,"jainilDesai":1,"olivier5741":1,"jhutchings1":1,"odin-h":1,"pranjal2004838":1,"hstauff":1,"goverdhan07":1,"omerfaruk-cakmak":1,"hakuamesan":1,"AnasDharar":1,"gayatrisinghf3-rgb":1,"PrajwalM2212":1,"k3lyan":1,"yuri-ivanov1972":1,"aquilax":1,"shamun-khatri":1,"omahs":1,"ms10398":1,"emmapeel2":1,"nithyaV-dev":1,"emmanuel-ferdman":1,"archanox":1,"leonidlednev":1,"jaens":1,"fmarghi":1,"code-a1":1,"IWouldShiverTheWholeNightThrough":1,"sulletf":1,"SantosSi":1,"advaitathreya":1,"Karljoones":1,"noatime":1,"CodeIsFire":1,"Jecrivaine":1,"davidoskky":1,"NejmaCHAABANI":1,"JBelcoco":1,"jasmeet0817":1,"Lampone":1,"prometheas":1,"thestarsahil":1,"ditsuke":1,"Tomeshwari-02":1,"croesch":1,"Shruti-S0405":1,"twindel":1,"TheSanjBot":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-29T00:00:22.312Z","repositories_count":14848739,"issues_count":32920774,"pull_requests_count":108509463,"authors_count":11324189,"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":{"Nutrition facts":8,"🏭 Producers Platform":6,"blocking off explorer":5,"API":4,"📚 Documentation":4,"🎯 P1":3,"API READ":3,"Fixed ?":3,"👩‍💻 DevOps":3,"🎯 P0":3,"🤖 Robotoff":2,"🌱 Green-Score":2,"🧽  Data quality - Nutrition":2,"🏭 Producers Platform - data imports":2,"CSV exports":2,"🧬 Taxonomies":2,"📸 Open Products Facts":2,"🌐 Translations":2,"🔐 Auth":2,"REDIS":2,"CORS":2,"🥗🔍 Ingredients analysis":1,"Minion":1,"🤳🥫 mobile apps":1,"👮 Moderation":1,"monitoring":1,"needs reprocessing":1,"🚦 Nutri-Score":1,"🧴 Open Beauty Facts":1,"openfoodfacts-query":1,"📍 Origins":1,"P2":1,"Perl":1,"postgresql":1,"product-count page":1,"protected data":1,"Reusers experience":1,"Russian":1,"SCSS":1,"solved in off explorer":1,"static content":1,"top navigation":1,"Translations":1,"👥 User management":1,"Web components":1,"🔐 API auth":1,"API WRITE":1,"brokenlinks":1,"🐛 bug":1,"caching":1,"Catalan":1,"categories":1,"CSS":1,"Data export":1,"🧽 Data quality":1,"dependencies":1,"dev":1,"✏️ Editing":1,"✏️ Editing - Nutrition":1,"🔐 external auth service":1,"facets":1,"GitHub Actions":1,"health card":1,"homepage":1,"🥗 Ingredients":1},"past_year_pull_request_labels_count":{"🧬 Taxonomies":137,"🧪 tests":86,"categories":66,"dependencies":63,"🥗🔍 Ingredients analysis":48,"📚 Documentation":44,"JavaScript":30,"GitHub Actions":28,"💥 Merge Conflicts":27,"Template::Toolkit":20,"config":20,"📸 Open Products Facts":19,"🧴 Open Beauty Facts":17,"🌐 Translations":17,"Display":16,"API v3":15,"autorelease: pending":15,"🐾 Open Pet Food Facts":14,"API":14,"github_actions":12,"🐋 Docker":11,"🏭 Producers Platform":11,"🧪 additives":11,"Tags":11,"brands":10,"Food.pm":9,"REDIS":9,"📚 OpenAPI":9,"📖 Knowledge Panels":9,"multilingual products":9,"🧪 integration tests":8,"🥜 Allergens":8,"🖼️ Images":8,"👥 Users":8,"📦 Packaging":7,"Nutrition facts":7,"Ingredients processing":7,"Products":6,"API READ":6,"Nutrients":6,"🧪 unit tests":6,"docker":6,"🧽 Data quality":6,"✏️ Editing - Auto Suggest":5,"API WRITE":5,"Czech":5,"autorelease: tagged":5,"CSS":5,"🎁 donations":5,"Product Page":4,":star: top pull request":4,"🔎 Search":4,"🚦 Nutri-Score":4,"🏭 Orgs":4,"🔐 Password":4,"🔐 Auth":4,"📍 Origins":4,"✏️ Editing":4,"🤖 Robotoff":4,"German":3,"export":3,"exports":3,"🌱 Vegan":3,"Attributes":3,"🕹️ Gamification":3,"store":3,"Web components":3,"📍🏭 Packager codes":3,"🍊 Open Food Facts":3,"👮 Moderation":3,"update all products":3,"🏭 Producers Platform - Odoo":2,"Account deletion":2,"checkbot":2,"CIQUAL":2,"Czech republic":2,"Data import":2,"🇩🇰 Denmark":2,"Ecobalyse":2,"facets":2,"🏷️ Folksonomy Project":2,"Food groups":2,"Fruits \u0026 Vegetables":2,"logs":2,"📨 Mail":2,"matomo":2,"NGINX":2,"Nova - Ultra-processed foods":2,"OCR":2,"🎯 P0":2,"postgresql":2,"Scanbot":2,"Stores":2,"🇺🇸 United States":2,"👥 User management":2,"Web":2,"🇦🇺 Australia":1,"🇯🇵 Japan":1,"3rd party Knowledge Panels":1,"🏭 Producers Platform - onboarding":1,"product history":1,"🖼️ Image upload":1,"🍬 How much sugar":1,"🇩🇪 Germany":1,"Reusers experience":1,"🌳 Forest Footprint":1,"Allergens":1,"script-writing":1,"file import":1,"Site layout":1,"📨 Emails - Brevo":1,"status system":1,"👩‍💻 DevOps":1,"vitamins":1,"dev":1,"🧽 Data quality - edit rules":1,"Taxonomies":1,"Croatia":1,"🇧🇷 Brazil":1,"blocking off explorer":1,"WikiData":1,"🤳🥫 blocking mobile apps":1,"Austria":1,"🇺🇸 USDA import":1,"Agribalyse":1,"maintenance":1,"🗺️ Made Near Me":1,"🚅 Performance":1,"Poland":1,"🇵🇹 Portugal":1,"Portuguese":1},"past_year_issue_author_associations_count":{"MEMBER":50,"CONTRIBUTOR":34,"NONE":20,"COLLABORATOR":7},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":313,"MEMBER":85,"COLLABORATOR":36,"NONE":19},"past_year_issue_authors":{"teolemon":35,"manon-corneille":9,"raphael0202":5,"CharlesNepote":5,"john-gom":4,"hangy":4,"g123k":4,"alexgarel":3,"VaiTon":3,"jayaddison":2,"jxu":2,"stephanegigandet":2,"fgouget":2,"dhiraj-143r":2,"Naruyoko":2,"openfoodfacts-bot":1,"Ov-ille":1,"OpenChris":1,"mvark":1,"RayanGoubet":1,"SaitejaKommi":1,"saivats":1,"SoftSage07":1,"swastikCommits":1,"Xuan4781":1,"ygaspoz":1,"moon-rabbitOFF":1,"monsieurtanuki":1,"milahu":1,"mik1xcz":1,"lukashroch":1,"jforget":1,"IceIsFrozen":1,"harsh-791":1,"gilren":1,"galnaf":1,"Freso":1,"diesieben07":1,"Diegovsky":1,"cannoyroy":1,"benbenben2":1,"aleene":1},"past_year_pull_request_authors":{"stephanegigandet":64,"dependabot[bot]":47,"moon-rabbitOFF":45,"teolemon":42,"openfoodfacts-bot":41,"alexgarel":34,"Freso":28,"john-gom":27,"Copilot":20,"leonarf":13,"aleene":13,"raphael0202":12,"Vic142":10,"benbenben2":5,"hangy":5,"JagjeevanAK":5,"tuukka":4,"Teiron":3,"VaiTon":3,"RayanGoubet":3,"samtuckerdavis":2,"kirtanchandak":2,"nuraiman":2,"Vikas4245":2,"pranjal2004838":1,"sidhansu10":1,"TheSanjBot":1,"Tomeshwari-02":1,"twindel":1,"yuri-ivanov1972":1,"nithyaV-dev":1,"manon-corneille":1,"Mahendra-006":1,"jforget":1,"jayaddison":1,"jainilDesai":1,"IWouldShiverTheWholeNightThrough":1,"gayatrisinghf3-rgb":1,"garvit-bhattt":1,"CodeIsFire":1,"CharlesNepote":1,"arybhatt4533":1,"AnasDharar":1,"adi-ray":1,"57200":1},"maintainers":[{"login":"teolemon","count":3262,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teolemon"},{"login":"alexgarel","count":659,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexgarel"},{"login":"hangy","count":457,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hangy"},{"login":"benbenben2","count":307,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/benbenben2"},{"login":"CharlesNepote","count":268,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CharlesNepote"},{"login":"Freso","count":104,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Freso"},{"login":"VaiTon","count":95,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/VaiTon"},{"login":"4nt0ineB","count":88,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/4nt0ineB"},{"login":"ocervell","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocervell"},{"login":"g123k","count":38,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/g123k"},{"login":"MonalikaPatnaik","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/MonalikaPatnaik"},{"login":"TheSussex","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/TheSussex"},{"login":"areebahmeddd","count":25,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/areebahmeddd"},{"login":"nicolasleger","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nicolasleger"},{"login":"Roxie-32","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Roxie-32"},{"login":"RayanGoubet","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RayanGoubet"},{"login":"Kout95","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kout95"},{"login":"very-smartin","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/very-smartin"},{"login":"Valimp","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Valimp"},{"login":"alexfauquette","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexfauquette"},{"login":"github-throwaway","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/github-throwaway"},{"login":"TCatinaud","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/TCatinaud"},{"login":"teleboas","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teleboas"},{"login":"Anubhav-Bhargava","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Anubhav-Bhargava"},{"login":"astagi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/astagi"},{"login":"PommeOrange147","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/PommeOrange147"},{"login":"LandonPattison","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/LandonPattison"},{"login":"sumit-158","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sumit-158"},{"login":"M123-dev","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/M123-dev"},{"login":"nazimboudeffa","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nazimboudeffa"},{"login":"Sarazine131","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Sarazine131"},{"login":"dolmen","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dolmen"},{"login":"priyanka0906","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/priyanka0906"},{"login":"raphodn","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/raphodn"},{"login":"KPreisner","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/KPreisner"},{"login":"danwyk","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/danwyk"},{"login":"TonyTroeff","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/TonyTroeff"},{"login":"Dwarfex","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Dwarfex"},{"login":"AlperMulayim","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/AlperMulayim"},{"login":"PrajwalM2212","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/PrajwalM2212"},{"login":"NejmaCHAABANI","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/NejmaCHAABANI"},{"login":"Karljoones","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Karljoones"}],"active_maintainers":[{"login":"teolemon","count":77,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teolemon"},{"login":"alexgarel","count":37,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexgarel"},{"login":"Freso","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Freso"},{"login":"hangy","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hangy"},{"login":"benbenben2","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/benbenben2"},{"login":"CharlesNepote","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CharlesNepote"},{"login":"VaiTon","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/VaiTon"},{"login":"g123k","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/g123k"},{"login":"RayanGoubet","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RayanGoubet"}]},"events":{"total":{"ForkEvent":114,"CreateEvent":717,"CommitCommentEvent":2,"ReleaseEvent":25,"IssuesEvent":621,"WatchEvent":157,"DeleteEvent":603,"MemberEvent":7,"IssueCommentEvent":10250,"PushEvent":9384,"PullRequestReviewCommentEvent":1079,"PullRequestReviewEvent":1824,"PullRequestEvent":1693},"last_year":{"ForkEvent":116,"CreateEvent":740,"CommitCommentEvent":2,"ReleaseEvent":27,"IssuesEvent":641,"WatchEvent":163,"DeleteEvent":616,"MemberEvent":7,"IssueCommentEvent":10466,"PushEvent":9570,"PullRequestReviewCommentEvent":1103,"PullRequestReviewEvent":1864,"PullRequestEvent":1735}},"keywords":["allergens","allergies","crowdsourcing","database","environment","food","food-products","nutrition","perl","recycling"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/auto-assign-pr.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:17.549Z","updated_at":"2023-09-28T10:59:17.549Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/auto-assign-pr.yml","dependencies":[{"id":13995163579,"package_name":"toshimaru/auto-author-assign","ecosystem":"actions","requirements":"v1.6.2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql-analysis.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:17.559Z","updated_at":"2023-09-28T10:59:17.559Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/codeql-analysis.yml","dependencies":[{"id":13995163580,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13995163581,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13995163582,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13995163583,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/container-build.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:17.573Z","updated_at":"2023-09-28T10:59:17.573Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/container-build.yml","dependencies":[{"id":13995163584,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13995163585,"package_name":"docker/setup-buildx-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13995163586,"package_name":"docker/login-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13995163587,"package_name":"docker/metadata-action","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":13995163588,"package_name":"docker/build-push-action","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/container-deploy.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:17.583Z","updated_at":"2023-09-28T10:59:17.583Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/container-deploy.yml","dependencies":[{"id":13995163593,"package_name":"tomchv/wait-my-workflow","ecosystem":"actions","requirements":"v1.1.0","direct":true,"kind":"composite","optional":false},{"id":13995163760,"package_name":"appleboy/ssh-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":13995163761,"package_name":"frankie567/grafana-annotation-action","ecosystem":"actions","requirements":"v1.0.3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/crowdin-per-language.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:19.726Z","updated_at":"2023-09-28T10:59:19.726Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/crowdin-per-language.yml","dependencies":[{"id":13995165183,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13995165184,"package_name":"crowdin/github-action","ecosystem":"actions","requirements":"v1.13.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/crowdin.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:19.903Z","updated_at":"2023-09-28T10:59:19.903Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/crowdin.yml","dependencies":[{"id":13995165188,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13995165189,"package_name":"crowdin/github-action","ecosystem":"actions","requirements":"v1.13.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/daily.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:19.942Z","updated_at":"2023-09-28T10:59:19.942Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/daily.yml","dependencies":[{"id":13995165191,"package_name":"appleboy/ssh-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/generate-doc.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:19.975Z","updated_at":"2023-09-28T10:59:19.975Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/generate-doc.yml","dependencies":[{"id":13995165192,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13995165193,"package_name":"JamesIves/github-pages-deploy-action","ecosystem":"actions","requirements":"v4.4.3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/github-projects-ventilation.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:19.988Z","updated_at":"2023-09-28T10:59:19.988Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/github-projects-ventilation.yml","dependencies":[{"id":13995165194,"package_name":"actions/add-to-project","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/github-projects.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.000Z","updated_at":"2023-09-28T10:59:20.000Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/github-projects.yml","dependencies":[{"id":13995165195,"package_name":"actions/add-to-project","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/label.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.006Z","updated_at":"2023-09-28T10:59:20.006Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/label.yml","dependencies":[{"id":13995165196,"package_name":"actions/labeler","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/merge-conflict-autolabel.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.012Z","updated_at":"2023-09-28T10:59:20.012Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/merge-conflict-autolabel.yml","dependencies":[{"id":13995165197,"package_name":"mschilde/auto-label-merge-conflicts","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/mongo-deploy.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.017Z","updated_at":"2023-09-28T10:59:20.017Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/mongo-deploy.yml","dependencies":[{"id":13995165198,"package_name":"appleboy/ssh-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pull_request.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.023Z","updated_at":"2023-09-28T10:59:20.023Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/pull_request.yml","dependencies":[{"id":13995165200,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":13995165201,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13995165202,"package_name":"ishworkh/docker-image-artifact-upload","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":13995165203,"package_name":"ishworkh/docker-image-artifact-download","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":13995165204,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release-please.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.030Z","updated_at":"2023-09-28T10:59:20.030Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/release-please.yml","dependencies":[{"id":13995165205,"package_name":"google-github-actions/release-please-action","ecosystem":"actions","requirements":"v3.7.11","direct":true,"kind":"composite","optional":false},{"id":13995165206,"package_name":"tomchv/wait-my-workflow","ecosystem":"actions","requirements":"v1.1.0","direct":true,"kind":"composite","optional":false},{"id":13995165207,"package_name":"svenstaro/upload-release-action","ecosystem":"actions","requirements":"2.7.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/semantic-pr.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.036Z","updated_at":"2023-09-28T10:59:20.036Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/semantic-pr.yml","dependencies":[{"id":13995165208,"package_name":"amannn/action-semantic-pull-request","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/stale.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.042Z","updated_at":"2023-09-28T10:59:20.042Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/stale.yml","dependencies":[{"id":13995165209,"package_name":"actions/stale","ecosystem":"actions","requirements":"v8","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/top-issues.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.049Z","updated_at":"2023-09-28T10:59:20.049Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/top-issues.yml","dependencies":[{"id":13995165228,"package_name":"rickstaa/top-issues-action","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/translation-check.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.058Z","updated_at":"2023-09-28T10:59:20.058Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/.github/workflows/translation-check.yml","dependencies":[{"id":13995165260,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:20.104Z","updated_at":"2023-09-28T10:59:20.104Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/Dockerfile","dependencies":[{"id":13995165263,"package_name":"debian","ecosystem":"docker","requirements":"bullseye","direct":true,"kind":"build","optional":false},{"id":13995165264,"package_name":"modperl","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false},{"id":13995165511,"package_name":"runnable","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"docker-compose.yml","sha":null,"kind":"manifest","created_at":"2023-09-28T10:59:22.064Z","updated_at":"2023-09-28T10:59:22.064Z","repository_link":"https://github.com/openfoodfacts/openfoodfacts-server/blob/main/docker-compose.yml","dependencies":[]}],"score":13.624519529666472,"created_at":"2023-09-11T11:54:36.880Z","updated_at":"2026-06-29T20:02:07.239Z","avatar_url":"https://github.com/openfoodfacts.png","language":"HTML","category":"Consumption","sub_category":"Agriculture and Nutrition","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://static.openfoodfacts.org/images/logos/off-logo-horizontal-dark.png?refresh_github_cache=1\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://static.openfoodfacts.org/images/logos/off-logo-horizontal-light.png?refresh_github_cache=1\"\u003e\n  \u003cimg height=\"48\" src=\"https://static.openfoodfacts.org/images/logos/off-logo-horizontal-light.svg\"/\u003e\n\u003c/picture\u003e\n\n\n# Open Food Facts - Product Opener (Web Server)\n\n[![Project Status](http://opensource.box.com/badges/active.svg)](http://opensource.box.com/badges)\n[![Crowdin](https://d322cqt584bo4o.cloudfront.net/openfoodfacts/localized.svg)](https://translate.openfoodfacts.org/)\n[![Open Source Helpers](https://www.codetriage.com/openfoodfacts/openfoodfacts-server/badges/users.svg)](https://www.codetriage.com/openfoodfacts/openfoodfacts-server)\n[![Backers on Open Collective](https://opencollective.com/openfoodfacts-server/backers/badge.svg)](#backers)\n[![Sponsors on Open Collective](https://opencollective.com/openfoodfacts-server/sponsors/badge.svg)](#sponsors)\n![GitHub language count](https://img.shields.io/github/languages/count/openfoodfacts/openfoodfacts-server)\n![GitHub top language](https://img.shields.io/github/languages/top/openfoodfacts/openfoodfacts-server)\n![GitHub last commit](https://img.shields.io/github/last-commit/openfoodfacts/openfoodfacts-server)\n![Github Repo Size](https://img.shields.io/github/repo-size/openfoodfacts/openfoodfacts-server)\n\n## Tests\n\n[![Pull Requests](https://github.com/openfoodfacts/openfoodfacts-server/actions/workflows/pull_request.yml/badge.svg)](https://github.com/openfoodfacts/openfoodfacts-server/actions/workflows/pull_request.yml)\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch2\u003e What is Product Opener? \u003c/h2\u003e\u003c/summary\u003e\n\n**Product Opener** is the server software for **Open Food Facts** and **Open Beauty Facts**. It is released under the AGPL license and is being developed in Perl, HTML and JavaScript as [Free and Open-Source Software](https://en.wikipedia.org/wiki/Free_and_open-source_software).\n\nIt works together with [Robotoff](https://github.com/openfoodfacts/robotoff), Open Food Facts' AI system (in Python, which can also be installed locally) and the [Open Food Facts apps](https://github.com/openfoodfacts/smooth-app) (which can work with your local instance after enabling dev mode)\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch2\u003e What is Open Food Facts? \u003c/h2\u003e\u003c/summary\u003e\n\n### A food product database\n\nOpen Food Facts is a database of food products with ingredients, allergens, nutritional facts and all the tidbits of information that is available on various product labels.\n\n### Made by everyone\n\nOpen Food Facts is a non-profit association of volunteers.\n25.000+ contributors like you have added 1.7 million + products from 150 countries using our Android, iPhone or Windows Phone app or their camera to scan barcodes and upload pictures of products and their labels.\n\n### For everyone\n\nData about food is of public interest and has to be open (i.e available to everyone). The complete database is published as open data and can be reused by anyone and for any use. Check-out the cool reuses or make your own!\n\u003c/details\u003e\n\n- \u003chttps://world.openfoodfacts.org\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch2\u003eWeekly meetings\u003c/h2\u003e\u003c/summary\u003e\n\n* We e-meet Mondays at 16:00 Paris Time (15:00 London Time, 20:30 IST, 07:00 AM PT)\n* ![Google Meet](https://img.shields.io/badge/Google%20Meet-00897B?logo=google-meet\u0026logoColor=white) Video call link: https://meet.google.com/nnw-qswu-hza\n* Join by phone: https://tel.meet/nnw-qswu-hza?pin=2111028061202\n* Add the Event to your Calendar by [adding the Open Food Facts community calendar to your calendar](https://wiki.openfoodfacts.org/Events)\n* [Weekly Agenda](https://drive.google.com/open?id=1LL8-aiSF482xaJ1o0AKmhXB5QWfVE0_jzvYakq3VXys): please add the Agenda items as early as you can. \n* Make sure to check the Agenda items in advance of the meeting, so that we have the most informed discussions possible. \n* The meeting will handle Agenda items first, and if time permits, collaborative bug triage.\n* We strive to timebox the core of the meeting (decision making) to 30 minutes, with an optional free discussion/live debugging afterwards.\n* We take comprehensive notes in the Weekly Agenda of agenda item discussions and of decisions taken.\n\u003c/details\u003e\n\n## Feature Sprint \n- We use feature-based sprints, [tracked here](https://github.com/orgs/openfoodfacts/projects/32)\n\n## User interface\n-  [![Figma](https://img.shields.io/badge/figma-%23F24E1E.svg?logo=figma\u0026logoColor=white) Mockups on the current design and future plans to discuss](https://www.figma.com/file/Qg9URUyrjHgYmnDHXRsTTB/New-website-design-(2022)-(Quentin)?t=00ZMlgxe590W8TRY-0)\n\n## Priorities\n\n* [Top issues](https://github.com/openfoodfacts/openfoodfacts-server/issues/7374)\n* [P1 problems](https://github.com/openfoodfacts/openfoodfacts-server/labels/P0,P1)\n* [P1 candidates](https://github.com/openfoodfacts/openfoodfacts-server/labels/P1%20candidate)\n* Please add roadmaps here\n\n\u003c!-- ## Libraries used --\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch2\u003eHow do I get started? \u003c/h2\u003e\u003c/summary\u003e\n\n* Join us on Slack at \u003chttps://openfoodfacts.slack.com/\u003e in the channels: `#api`, `#productopener`, `#dev`.\n* [API v2 Documentation (WIP)](https://openfoodfacts.github.io/openfoodfacts-server/api/ref-v2/) ([source](https://github.com/openfoodfacts/openfoodfacts-server/tree/main/docs/api/ref/api.yml))\n\n* Developer documentation:\n  * [Server Documentation](https://openfoodfacts.github.io/openfoodfacts-server/)\n  * [Quick start guide (Docker)](./docs/dev/how-to-quick-start-guide.md)\n  * [Developer guide (Docker)](./docs/dev/how-to-develop-using-docker.md)\n  * [Developer guide (Gitpod)](./docs/dev/how-to-use-gitpod.md)\n  * Configuration [TBA]\n  * Dependencies [TBA]\n  * Database configuration [TBA]\n  * How to run tests [TBA]\n  * [Perl modules documentation (POD)](https://openfoodfacts.github.io/dev/ref-perl/)\n\n\nNote: documentation follows the [Diátaxis Framework](https://diataxis.fr/)\n\u003c/details\u003e\n\n\n\n\n## Contribution guidelines\n\nIf you're new to Open-Source, we recommend you to check out our [_Contributing Guidelines_](https://github.com/openfoodfacts/openfoodfacts-server/blob/master/CONTRIBUTING.md). Feel free to fork the project and send us a pull request.\n\n* Writing tests\n* Code review\n* Other guidelines\n* Please add new features to the CHANGELOG.md file before or after merge to make testing easier\n\n## Reporting problems or asking for a feature\n\nHave a bug or a feature request? Please search for existing and closed issues. If your problem or idea is not addressed yet, please [open a new issue](https://github.com/openfoodfacts/openfoodfacts-server/issues). You can ask directly in the discussion room if you're not sure\n\n## Translate Open Food Facts in your language\n\nYou can help translate the Open Food Facts web version and the app at :\n\u003chttps://translate.openfoodfacts.org/\u003e (no technical knowledge required, takes a minute to signup)\n\n## Helping with HTML and CSS\n\nWe have [templatized](https://github.com/openfoodfacts/openfoodfacts-server/tree/master/templates) Product Opener, we use Gulp and NPM, but you'll need to run the Product Opener docker to be able to see the result (see the How do I get set up? section).\nIn particular, you can [help with issues on the new design](https://github.com/openfoodfacts/openfoodfacts-server/issues?q=is%3Aissue+is%3Aopen+label%3A%22new+design%22).\n\n### Who do I talk to?\n\n* Join our discussion room at \u003chttps://slack.openfoodfacts.org/\u003e Make sure to join the #productopener and #productopener-alerts channels. Stéphane, Pierre, Charles or Hangy will be around to help you get started.\n\n## Contributors\n\nThis project exists thanks to all the people who contribute.\n\u003ca href=\"https://github.com/openfoodfacts/openfoodfacts-server/graphs/contributors\"\u003e\u003cimg src=\"https://contrib.rocks/image?repo=openfoodfacts/openfoodfacts-server\u0026columns=16\" /\u003e\u003c/a\u003e\n\n## Backers\n\nThank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/openfoodfacts-server#backer)]\n\n\u003ca href=\"https://opencollective.com/openfoodfacts-server#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/backers.svg?width=890\"\u003e\u003c/a\u003e\n\n\n## Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor](https://opencollective.com/openfoodfacts-server#sponsor)\n\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/openfoodfacts-server/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/openfoodfacts-server/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://nlnet.nl/\"\u003e\u003cimg style=\"height:100px\" src=\"https://static.openfoodfacts.org/images/misc/nlnet_logo.svg\" alt=\"Logo NLnet: abstract logo of four people seen from above Logo NGI Zero: letterlogo shaped like a tag\"\u003e\u003c/a\u003e\n\nOpen Food Facts Personal Search project was funded through the \u003ca href=\"https://nlnet.nl/discovery/\"\u003eNGI0 Discovery\u003c/a\u003e Fund,\na fund established by NLnet with financial support from the European Commission's \u003ca href=\"https://ngi.eu\"\u003eNext Generation Internet\u003c/a\u003e programme.\n","funding_links":["https://opencollective.com/openfoodfacts-server","https://github.com/sponsors/openfoodfacts","https://donate.openfoodfacts.org"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["ingredients","dartlang","dart","gsoc","mobile-app","flutter-app","nutriscore","kotlin-android","gamification","translation"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/1092","html_url":"https://ost.ecosyste.ms/projects/1092"}