{"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-05-20T00:03:00.840Z","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-05-11T14:37:16.000Z","size":2815009,"stargazers_count":1022,"open_issues_count":1733,"forks_count":607,"subscribers_count":30,"default_branch":"main","last_synced_at":"2026-05-11T14:38:59.540Z","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-05-11T09:31:37.000Z","dependencies_parsed_at":"2023-10-15T16:42:57.353Z","dependency_job_id":"167d8a3d-694d-4a90-ab01-a5bd04cd6d99","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":126,"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":33081502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:25:35.270Z","status":"ssl_error","status_checked_at":"2026-05-15T20:25:34.732Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"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":32665,"total_committers":286,"total_bot_commits":929,"total_bot_committers":3,"mean_commits":114.2132867132867,"dds":0.41680697994795657,"past_year_total_commits":1136,"past_year_total_committers":69,"past_year_total_bot_commits":128,"past_year_total_bot_committers":1,"past_year_mean_commits":16.463768115942027,"past_year_dds":0.7975352112676056,"last_synced_at":"2026-05-16T22:32:01.850Z","last_synced_commit":"c1953d14eceae210405783ae3a8028d2d48cc523","created_at":"2023-03-27T11:50:02.024Z","updated_at":"2026-05-16T22:29:37.065Z","committers":[{"name":"Pierre Slamich","email":"pierre@openfoodfacts.org","login":"teolemon","count":19050},{"name":"Stéphane Gigandet","email":"stephane@openfoodfacts.org","login":"stephanegigandet","count":3919},{"name":"Arnaud Leene","email":"aleene@gmail.com","login":"aleene","count":2807},{"name":"hangy","email":"hangy@hangy.de","login":"hangy","count":822},{"name":"moon-rabbitOFF","email":"34795011+moon-rabbitOFF","login":"moon-rabbitOFF","count":706},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":637},{"name":"Alex Garel","email":"alex@openfoodfacts.org","login":"alexgarel","count":414},{"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":289},{"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":142},{"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":"dipietroR","email":"66142242+dipietroR","login":"dipietroR","count":122},{"name":"VaiTon","email":"eyadlorenzo@gmail.com","login":"VaiTon","count":119},{"name":"Charles Nepote","email":"charles@openfoodfacts.org","login":"CharlesNepote","count":115},{"name":"Raphaël Bournhonesque","email":"raphael@bournhonesque.eu","login":"raphael0202","count":111},{"name":"areeshatariq","email":"areeshatariq02@gmail.com","login":"areeshatariq","count":94},{"name":"root","email":"root@ns3135968.ip-51-77-65.eu","login":null,"count":74},{"name":"john-gom","email":"116556069+john-gom","login":"john-gom","count":72},{"name":"Jagjeevan Kashid","email":"jagjeevankashid97@gmail.com","login":"JagjeevanAK","count":59},{"name":"Roto15","email":"99144065+Roto15","login":"Roto15","count":52},{"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":"mrmd8","email":"74515255+mrmd8","login":"mrmd8","count":31},{"name":"James Addison","email":"55152140+jayaddison","login":"jayaddison","count":31},{"name":"Nicolas Leger","email":"nicolas.leger@nleger.com","login":null,"count":28},{"name":"Ronan","email":"syronanm@gmail.com","login":"RonanMorgan","count":28},{"name":"Yukti","email":"73362292+yuktea","login":"yuktea","count":28},{"name":"Monalika Patnaik","email":"99353300+MonalikaPatnaik","login":"MonalikaPatnaik","count":26},{"name":"David Girón","email":"contacto@duhowpi.net","login":"duhow","count":24},{"name":"Pau Amma","email":"pauamma@gundo.com","login":"pauamma","count":24},{"name":"mahlzahn","email":"6549824+mahlzahn","login":"mahlzahn","count":24},{"name":"Teiron","email":"12804636+Teiron","login":"Teiron","count":23},{"name":"Báthory Péter","email":"bathory86p@gmail.com","login":"BathoryPeter","count":17},{"name":"Kout95","email":"65901733+Kout95","login":"Kout95","count":17},{"name":"laralem","email":"80917261+laralem","login":"laralem","count":17},{"name":"Success Ologunsua","email":"successologunsua@gmail.com","login":"TheSussex","count":16},{"name":"Danil Garmanov","email":"danil.garmanov@protonmail.com","login":"blazern","count":15},{"name":"Funke Faith Olasupo","email":"55761629+Roxie-32","login":"Roxie-32","count":15},{"name":"Daniel O'Connor","email":"daniel.oconnor@gmail.com","login":"CloCkWeRX","count":14},{"name":"Danielius Ašmontas","email":"dan.asmontas@gmail.com","login":"DanieliusAsm","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":"Copilot","email":"198982749+Copilot","login":"Copilot","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":"Valimp","email":"112864841+Valimp","login":"Valimp","count":10},{"name":"RayanGoubet","email":"156110537+RayanGoubet","login":"RayanGoubet","count":10},{"name":"Naruyoko","email":"naru519372@gmail.com","login":"Naruyoko","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":"Péter Báthory","email":"peter.bathory@cartographia.hu","login":null,"count":7},{"name":"Darío Hereñú","email":"magallania@gmail.com","login":"kant","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":"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":"Pradumna","email":"65444978+pradumna-gautam","login":"pradumna-gautam","count":5},{"name":"Vic142","email":"144172903+Vic142","login":"Vic142","count":5},{"name":"muskangarg21","email":"muskan@iitk.ac.in","login":"muskangarg21","count":5},{"name":"Viorel-Catalin Rapiteanu","email":"rapiteanu.catalin@gmail.com","login":"Steinhagen","count":5},{"name":"Strubbl","email":"97055+Strubbl","login":"Strubbl","count":4},{"name":"Sam Tucker-Davis","email":"126325182+stuckvgn","login":"stuckvgn","count":4},{"name":"MaximeLaurenty","email":"MaximeLaurenty","login":"MaximeLaurenty","count":4},{"name":"Lunique","email":"lunasmoonlady@yahoo.de","login":"Lunique","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":"tur-ium","email":"tur-ium","login":"tur-ium","count":4},{"name":"zond","email":"zondolfin@gmail.com","login":"zond","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":"fuddl","email":"alxndr@mailbox.org","login":"fuddl","count":4},{"name":"Jean Forget","email":"JFORGET@cpan.org","login":"jforget","count":4},{"name":"Sumit Kashyap","email":"mr.sumitkrr@gmail.com","login":"sumit-158","count":3},{"name":"Sneha6003","email":"147996970+Sneha6003","login":"Sneha6003","count":3},{"name":"SAITEJA","email":"kommisaiteja677@gmail.com","login":"SaitejaKommi","count":3},{"name":"Andrea Stagi","email":"stagi.andrea@gmail.com","login":"astagi","count":3},{"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":"Divyansh Singh","email":"divyanshanandsingh@gmail.com","login":"diivi","count":3},{"name":"Krishita Jain","email":"66058206+krishita30j","login":"krishita30j","count":3},{"name":"Nico Zigouras","email":"16895616+zigouras","login":"zigouras","count":3},{"name":"Nithya Vasireddi","email":"nithyavasireddi@gmail.com","login":"nithyaV-dev","count":3},{"name":"Pranjal J","email":"136667416+pranjal2004838","login":"pranjal2004838","count":3},{"name":"Nico Zigouras","email":"nunya@biz.com","login":null,"count":3},{"name":"root","email":"root@openfoodfacts.org","login":null,"count":3},{"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":"BryanH01","email":"92093032+BryanH01","login":"BryanH01","count":2},{"name":"Alex Adak","email":"127800544+aadak99","login":"aadak99","count":2},{"name":"Abi","email":"llawlietbagsum@gmail.com","login":"LarytheLord","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":"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":"Roto15","email":"rotomoto@duck.com","login":null,"count":2},{"name":"Florentin Raud","email":"florentin.raud@gmail.com","login":null,"count":2},{"name":"KommX","email":"","login":null,"count":2},{"name":"leonard","email":"leonard@lebasic.com","login":null,"count":2},{"name":"Laurent Dami","email":"dami@cpan.org","login":"damil","count":2},{"name":"Snyk bot","email":"github+bot@snyk.io","login":"snyk-bot","count":2},{"name":"Alexandre Marty","email":"alexandre@marty.in","login":"alex-marty","count":2},{"name":"Piotr","email":"franiis16@gmail.com","login":"franiis","count":2},{"name":"k2s","email":"martin.minka@gmail.com","login":"k2s","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":"borrokk","email":"64474095+borrokk","login":"borrokk","count":2},{"name":"bertrand-amaraggi","email":"63349837+bertrand-amaraggi","login":"bertrand-amaraggi","count":2},{"name":"alexouille123","email":"67234740+alexouille123","login":"alexouille123","count":2},{"name":"Priyanka","email":"56197993+priyanka0906","login":"priyanka0906","count":2},{"name":"Pilou","email":"pierre-louis@libregerbil.fr","login":"pilou-","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":"Kirtan Manoj Chandak","email":"92196705+kirtanchandak","login":"kirtanchandak","count":2},{"name":"alemit","email":"aleksandarmitrev@gmail.com","login":"alemit","count":2},{"name":"adam jones","email":"domdomegg+git@gmail.com","login":"domdomegg","count":2},{"name":"Viorel-Catalin Rapiteanu","email":"catalin.rapiteanu@intel.com","login":"crapitea","count":2},{"name":"Trond Kjetil","email":"218276+tkbremnes","login":"tkbremnes","count":2},{"name":"Jess","email":"jessachandler@gmail.com","login":"monkeywithacupcake","count":2},{"name":"Unpublished","email":"Unpublished","login":"Unpublished","count":2},{"name":"Jecrivaine","email":"67744981+Jecrivaine","login":"Jecrivaine","count":2},{"name":"Shamun Khatri","email":"shamunkhatri@gmail.com","login":"shamun-khatri","count":1},{"name":"Suvam Patra","email":"Patrasuvam15@gmail.com","login":"suvammpatra","count":1},{"name":"Swastik Ranjan Panigrahi","email":"textswastik.alt@gmail.com","login":"swastikCommits","count":1},{"name":"Sébastien Feugère","email":"smonff","login":"smonff","count":1},{"name":"Tanuj Garg","email":"87695633+Tanujgarg37","login":"Tanujgarg37","count":1},{"name":"TechShooter","email":"TechShooter","login":"TechShooter","count":1},{"name":"Tomeshwari Sahu","email":"scketcha@gmail.com","login":"Tomeshwari-02","count":1},{"name":"Tushar","email":"ditsuke@protonmail.com","login":"ditsuke","count":1},{"name":"P.-H. Lin","email":"Cypresslin","login":"Cypresslin","count":1},{"name":"Vikas","email":"vs4445277@gmail.com","login":"Vikas4245","count":1},{"name":"Vince","email":"vince@openfoodfacts.org","login":"teleboas","count":1},{"name":"aleksejrs","email":"aleksejrs","login":"aleksejrs","count":1},{"name":"andrewhuanggg","email":"78528607+andrewhuanggg","login":"andrewhuanggg","count":1},{"name":"anri","email":"anarita.dauane@gmail.com","login":"anaritadauane","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":"Victor-Hermes","email":"154025039+Victor-Hermes","login":"Victor-Hermes","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":"Pierce Andjelkovic","email":"pierceandjelkovic@gmail.com","login":"archanox","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":"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":"laulowen","email":"2105057+laulowen","login":"laulowen","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":"jalanyash","email":"57186641+jalanyash","login":"jalanyash","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":"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":"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":"Himaj333","email":"78681144+HimajPatil","login":"HimajPatil","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":"Davide Crucitti","email":"davidoskky@yahoo.it","login":"davidoskky","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":"beerhalt","email":"lbeerhal@andrew.cmu.edu","login":"beerhalt","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":"PENN JR™","email":"85356158+Payne680","login":"Payne680","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":"Kezxo","email":"Kezxo","login":"Kezxo","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":"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},{"name":"Abby Hart","email":"94138365+abbyrhart","login":"abbyrhart","count":1}],"past_year_committers":[{"name":"Freso","email":"dev@freso.dk","login":"Freso","count":230},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":128},{"name":"moon-rabbitOFF","email":"34795011+moon-rabbitOFF","login":"moon-rabbitOFF","count":123},{"name":"Stéphane Gigandet","email":"stephane@openfoodfacts.org","login":"stephanegigandet","count":120},{"name":"Alex Garel","email":"alex@openfoodfacts.org","login":"alexgarel","count":75},{"name":"Pierre Slamich","email":"pierre@openfoodfacts.org","login":"teolemon","count":72},{"name":"Open Food Facts Bot","email":"119524357+openfoodfacts-bot","login":"openfoodfacts-bot","count":55},{"name":"Jagjeevan Kashid","email":"jagjeevankashid97@gmail.com","login":"JagjeevanAK","count":47},{"name":"john-gom","email":"116556069+john-gom","login":"john-gom","count":43},{"name":"hangy","email":"hangy@hangy.de","login":"hangy","count":32},{"name":"benbenben2","email":"110821832+benbenben2","login":"benbenben2","count":16},{"name":"James Addison","email":"55152140+jayaddison","login":"jayaddison","count":15},{"name":"Arnaud Leene","email":"aleene@gmail.com","login":"aleene","count":15},{"name":"Raphaël Bournhonesque","email":"raphael@bournhonesque.eu","login":"raphael0202","count":14},{"name":"Copilot","email":"198982749+Copilot","login":"Copilot","count":13},{"name":"Dhiraj Rathod","email":"2102508740@svyasa-sas.edu.in","login":"dhiraj-143r","count":12},{"name":"Leonard","email":"leonard.michelet@gmail.com","login":"leonarf","count":10},{"name":"Kout95","email":"65901733+Kout95","login":"Kout95","count":9},{"name":"Charles Nepote","email":"charles@openfoodfacts.org","login":"CharlesNepote","count":8},{"name":"RayanGoubet","email":"156110537+RayanGoubet","login":"RayanGoubet","count":6},{"name":"VaiTon","email":"eyadlorenzo@gmail.com","login":"VaiTon","count":5},{"name":"Vic142","email":"144172903+Vic142","login":"Vic142","count":5},{"name":"Pau Amma","email":"pauamma@gundo.com","login":"pauamma","count":5},{"name":"Sam Tucker-Davis","email":"126325182+stuckvgn","login":"stuckvgn","count":4},{"name":"Victor Prins","email":"32959052+VictorPrins","login":"VictorPrins","count":4},{"name":"Kunal Gupta","email":"2007guptakunal@gmail.com","login":"Kunal241207","count":4},{"name":"SAITEJA","email":"kommisaiteja677@gmail.com","login":"SaitejaKommi","count":3},{"name":"Pranjal J","email":"136667416+pranjal2004838","login":"pranjal2004838","count":3},{"name":"Teiron","email":"12804636+Teiron","login":"Teiron","count":3},{"name":"Tuukka Hastrup","email":"Tuukka.Hastrup@iki.fi","login":"tuukka","count":3},{"name":"Nithya Vasireddi","email":"nithyavasireddi@gmail.com","login":"nithyaV-dev","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":"Abi","email":"llawlietbagsum@gmail.com","login":"LarytheLord","count":2},{"name":"leonard","email":"leonard@lebasic.com","login":null,"count":2},{"name":"Arybhatt","email":"bhattarya4533@gmail.com","login":"arybhatt4533","count":2},{"name":"Báthory Péter","email":"bathory86p@gmail.com","login":"BathoryPeter","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":"Unpublished","email":"Unpublished","login":"Unpublished","count":2},{"name":"adam jones","email":"domdomegg+git@gmail.com","login":"domdomegg","count":2},{"name":"GARVIT  BHATT","email":"garvitbhattpc@gmail.com","login":"garvit-bhattt","count":2},{"name":"Albert Sund Aillet","email":"73786209+albertaillet","login":"albertaillet","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":"Sam K Thampan","email":"64613068+devsk18","login":"devsk18","count":1},{"name":"SIDHANSU SINGH","email":"sidhanshusingh445@gmail.com","login":"sidhansu10","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":"OpenChris","email":"chris@hurbin.com","login":"OpenChris","count":1},{"name":"Nur Aiman Fadel","email":"2870632+nuraiman","login":"nuraiman","count":1},{"name":"Naruyoko","email":"naru519372@gmail.com","login":"Naruyoko","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":"Emmanuel Ferdman","email":"emmanuelferdman@gmail.com","login":"emmanuel-ferdman","count":1},{"name":"Emmanuel Seyman","email":"emmanuel+github@seyman.fr","login":"eseyman","count":1},{"name":"IWouldShiverTheWholeNightThrough","email":"95775047+IWouldShiverTheWholeNightThrough","login":"IWouldShiverTheWholeNightThrough","count":1},{"name":"Jean Forget","email":"JFORGET@cpan.org","login":"jforget","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":"samir","email":"azzouz.sam@gmail.com","login":"azzsamir","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-05-16T00:00:17.015Z","repositories_count":6235641,"commits_count":884823161,"contributors_count":34911879,"owners_count":1154116,"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-05-17T15:00:22.008Z","status":null,"issues_count":4041,"pull_requests_count":9888,"avg_time_to_close_issue":37766953.140599005,"avg_time_to_close_pull_request":1846632.4030047155,"issues_closed_count":2402,"pull_requests_closed_count":9119,"pull_request_authors_count":280,"issue_authors_count":260,"avg_comments_per_issue":2.125216530561742,"avg_comments_per_pull_request":2.5830299352750807,"merged_pull_requests_count":7775,"bot_issues_count":7,"bot_pull_requests_count":1580,"past_year_issues_count":142,"past_year_pull_requests_count":592,"past_year_avg_time_to_close_issue":1281568.5555555555,"past_year_avg_time_to_close_pull_request":446679.3033033033,"past_year_issues_closed_count":27,"past_year_pull_requests_closed_count":333,"past_year_pull_request_authors_count":45,"past_year_issue_authors_count":43,"past_year_avg_comments_per_issue":0.5704225352112676,"past_year_avg_comments_per_pull_request":2.856418918918919,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":62,"past_year_merged_pull_requests_count":302,"created_at":"2023-05-09T10:34:51.045Z","updated_at":"2026-05-17T15:00:22.037Z","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":747,"⏰ Stale":557,"feature":416,"🐛 bug":328,"✨ Feature":244,"API":195,"Stale":181,"🎯 P1":147,"good first issue":139,"🧽 Data quality":137,"🏭 Producers Platform":128,"ingredients":113,"taxonomies":110,"data quality":108,"frontend":102,"i18n":93,"Fixed ?":90,"📖 Knowledge Panels":84,"ingredients analysis":82,"producers platform":78,"✔ task":74,"🧬 Taxonomies":74,"🥗🔍 Ingredients analysis":72,"P3":72,"P1":71,"Product Page":71,"P2":65,"✅ Task":65,"5 minute fix":63,"Template::Toolkit":60,"🧴 Open Beauty Facts":59,"ecoscore":58,"labels":58,"editing":56,"categories":55,"fixed?":52,"🥗  Ingredients":51,"📚 Documentation":51,"search":49,"📸 Open Products Facts":46,"static content":44,"🌐 i18n":44,"Nutrition facts":43,"🚦 Nutri-Score":42,":star: top issue":41,"🤳🥫 blocking mobile apps":41,"✏️ Editing":41,"API READ":40,"🔎  Search":40,"new design":40,"facets":40,"Nutrients":39,"nutrition facts":37,"barcodes":37,"additives":36,"packaging":35,"📍🏭 Packager codes":35,"help wanted":34,"nutrients":34,"⏲️ 5 minute fix":34,"images":33,"🚅 Performance":32,"🎨 Mockup available":32,"product attributes":32,"🎯 P0":31,"API Refactor":31,"knowledge-panels":30,"OCR":30,"P1 candidate":29,"🐾 Open Pet Food Facts":29,"📦 Packaging":29,"🎨 New design":28,"responsive ux":28,"foundation":28,"CSS":28,"non tech":28,"👥 User management":27,"API read":27,"multingual products":27,"performance":26,"css":26,"🧪 additives":25,"refactor":25,"devops":25,"mongodb":25,"P0":24,"👩‍💻 DevOps":24,"javascript":24,"Knowledge panels":23,"🏷️ Folksonomy Project":23,"quality-facet":23,"Hacktoberfest":23,"🖼️ Images":22,"security":22,"JavaScript":22,"👮 Moderation":22,"blocking mobile apps":22,"needs deployment":22,"packager codes":21,"🎯 P1 candidate":21,"accessibility ♿":21,"🤳🥫 mobile apps":21,"dev":21,"translations":21,"📍 Origins":20,"API WRITE":20,"units":20,"🎨 Design":20,"ingredient-list-cutting":19,"nova":19,"scan statistics":19,"docker":19,"documentation":19,"🖼️ Image upload":19,"Data export":19,"outreachy":19,"user-management":19,"design":19,"admin tools":18,"personal search":18,"🤖 Robotoff":18,"brokenlinks":18,"🌍 Multilingual products":18,"brands":18,"data import":18,"P4":18,":star: :bug: top bug":17,"API write":17,"✏️ Editing - Nutrition":17,"✏️ Editing - Auto Suggest":17,"Perl":17,"infrastructure":17,"data export":17,"status system":17,":star: top bug":17,"image upload":16,"product history":16,"SEO":16,"Nova - Ultra-processed foods":16,"palm oil":16,"🧪 tests":16,"ci":16,"open beauty facts":16,"export":15,"🌱 Eco-Score":15,"MongoDB":15,"task":15,"averages by categories":14,"📨 Emails":14,"data4good-environment":14,"location":14,"GS1":14,"🔐 API auth":14,"footer":14,"allergens":14,"🕷️ SEO":13,"📝 story":13,"🔎 Advanced Search":13,"gamification":13,"advanced search":13,"⚖️ Quantity":13,"mockup-available":13,"👍 Top 10 Issue!":13,"hunger games":13,"🛣️ Road to scores":13,"Attributes":13,"🥜 Allergens":13,"🎁 donations":13,"homepage":13,"maintenance":13,"📊 Charts":13,"CSV exports":12,"📚 OpenAPI":12,"Translations":12,"🇺🇸 United States":12,"Made Near Me":12,"no-issue-activity":12,"Signup Page":12,"organic products":12,"GitHub Actions":12,"product addition":12,"German":12,"📍 location":12,"🌱 Green-Score":11,"API v3":11,"question":11,"robotoff":11,"cropping":11,"nutriscore":11,"tests":11,"onboarding":11,"wikidata":11,"🏭 Producers Platform - data imports":11,"Admin tools":11,"CIQUAL":10,"List pages":10,"🕹️ Gamification":10,"multilingual products":10,"🧽  Data quality - Nutrition":10,"🏭 Producers Platform - onboarding":10,"Road to app":10,"Tags.pm":10,"graphs":10,"Fixable via Userscript":9,"github_actions":9,"microformats":9,"contribution journey":9,"🏭 Producers Platform - Odoo":9,"vegan":9,"special-diets":9,"autosuggest":9,"✂️ Editing - Images - Cropping":9,"WikiData":9,"logos":9,"Russian":9,"installation":9,"linked data":9,"Data import":9,"♞ Epic":9,"🚦Nutri-Score":9,"environment":9,"server":9,"🧽 Data quality - Prevention":9,"📊 graphs":8,"3rd party contributions":8,"🧽 Quality facet":8,"needs investigation":8,"moving-images":8,"tag images":8,"carbon footprint":8,"fruits vegetables nuts estimate":8,"product lists":8,"caching":8,"CI":8,"🍷 wine":8,"♞ epic":7,"blocking-smoothie":7,"Sprint":7,"🗺️ Maps":7,"Outreachy":7,"automation":7,"dependencies":7,"wiki":7,"Data destroying issue":7,"portions":7,"📖 Knowledge Panels - For facets":7,"quantity":7,"Ingredients knowledge panel":7,"top navigation":7,"🗄 Obsolete products":7,"Emails":7,"fixable-via-userscript":7,"🧽 Data quality - Measure - Quality facets":7,"👥 Users":7,"traces":7,"🧬 Taxonomies - Translation":7,"HTML":7,"osd'22":6,"data-freshness":6,"automatic-data-augmentation":6,"nginx":6,"nutrition editing":6,"origins":6,"Big Bang for Your Time":6,"Spanish":6,"📖 Knowledge panels - Actions":6,"pathway-to-contribution":6,"inline edit":6,"Epic":6,"category-specific support":6,"🇨🇭 Switzerland":6,"404":6,"dev journeys documentation":6,"🐋 Docker":6,"donations":6,"new fields":6,"Recent changes":6,"🇫🇷 France":5,"needs reprocessing":5,"🔔 Notifications":5,"protected data":5,"edit rules":5,"🥗 Ingredients":5,"timeouts":5,"Users":5,"product-specific issue":5,"html":5,"gluten":5,"road-to-scores":5,"spanish":5,"CORS":5,"products without barcodes":5,"REDIS":5,"🎯 Big Bang for Your Time":5,"Products Recalls":5,"🐠 Fishing":5,"variable-barcodes":5,"untranslatable strings":5,"offline mode":5,"Power User Script":5,"NGINX":5,"🌐 Translations":5,"Lists of products":5,"✏️ Editing - Ingredients":5,"Cocoa":5,"serving size":5,"score explainability":5,"🏭 Producers Platform - acquisition":5,"China":5,"account deletion":5,"nutrient-levels":5,"login":5,"vitamins":5,"🏭 Producers Platform - admin tools":5,"Can be done by Robotoff":5,"🔎 Search":5,"pagination":4,"openfoodfacts-events":4,"👥 User support":4,"ciqual":4,"data-quality-nutrition":4,"🧽 Data quality - Prevention - Edit rules":4,"scores":4,"processing":4,"Belgium":4,"💸  Prices":4,"🇩🇪 Germany":4,"monitoring":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,"power tools for contributors":4,"HTTPS":4,"🇬🇧 United Kingdom":4,"api auth":4,"matomo":4,"old-products":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,"seasonality support":4,"Spellcheck":4,"Road to Doc":4,"typing":4,"🧽 API - Quality":4,"needs more info":4,"image recognition":4,"🧪 integration tests":3,"not planned":3,"🤰 pregnancy \u0026 babies":3,"🧽 Data quality - Remediation":3,"🔐 Auth":3,"logs":3,"📍 geolite":3,"Requires HTTPS":3,"US project":3,"folksonomy project":3,"tagline":3,"Greek":3,"manifest":3,"Blocking Hunger Games":3,"🍬 Sugar":3,"🔐 external auth service":3,"open pet food facts":3,"🌱 Vegan":3,"✏️ Editing - drip editing":3,"pregnancy \u0026 babies":3,"producers platform - reengagement":3,"mockup-required":3,"Dutch":3,"best-before-dates":3,"Checked products":3,"startup":3,"Open Products Facts":3,"packaging_shapes":3,"marketing":3,"Fixed by Keycloak":3,"duplicate":3,"user-support":3,"glycemic index":3,"pull-request-available":3,"product-count page":3,"us project":3,"Tests - ToDo":3,"image deletion":3,"disk space":3,"Server-driven editing":3,"Road to community":3,"comments":3,"🪶 Apache":3,"🇵🇱 Polish":3,"code pointer available":3,"data destroying issue":3,"Scanbot":3,"🔐 Password reset":3,"Display":3,"qrcode":3,"📦 Packaging shapes":3,"Ambiguous barcodes":3,"🧬 Taxonomies - Rebuild":3,"editing-images":3,"OxF":3,"openfoodfacts-query":3,"not done":3,"obsolete products":3,"Tags":3,"agribalyse":3,"🏄‍♂️ good first issue":3,"user feedback":3,"icons":3,"🧽 Data quality - edit rules":3,"road to app":3,"🇭🇷 Croatia":2,"script-writing":2,"Fruits \u0026 Vegetables":2,"✏️ Editing - Images":2,"🇨🇱 Chile":2,"checkbot":2,"invalid":2,"recipes":2,"odoo":2,"Austria":2,"equivalents":2,"📨 Emails - Brevo":2,"🏭 Producers Platform - reengagement":2,"Agribalyse":2,"🖼️ Image refresh":2,"🇪🇺 Europe":2,"indexing":2,"anonymous-edits":2,"open food hunt":2,"Progressive Web App":2,"🔖 🖼️ tag images":2,"wontfix":2,"EAN-8":2,"polish":2,"lazy-loading":2,"search ranking":2,"storage-instructions":2,"producer platform - spam":2,"data donations":2,"Road to OxF":2,"japan":2,"Product name":2,"wine":2,"fishing":2,"product page navigation":2,"slack-notifications":2,"crossplatform integration":2,"Products":2,"💥 Merge Conflicts":2,"✏️ Editing - image edition":2,"science":2,"solution available":2,"📢 Marketing":2,"Uncommitted assets":2,"P5":2,"Vegetarian":2,"changelog":2,"✅ task":2,"encoding":2,"knowledge panels for facets":2,"🥚 eggs":2,"product deletion":2,"Social media links":2,"Nutri-Score v2":2,"🚰 diluted products":2,"postgresql":2,"knowledge panel actions":2,"RTL":2,"🔀 Product alternatives":2,"ingredients editing":2,"Call for Proposals":2,"🇮🇳 India":2,"Portuguese":2,"eggs":2,"routing":2,"preprod":2,"release-blocking-issue":2,"FoodRepo":2,"can't reproduce":2,"🥤 Gulp":2,"halal":2,"🚦nutriscore":2,"Minion":2,"product reformulation":2,"Photo rotation":2,"🥗 Ingredients - processing":2,"Account deletion":2,"🍬 How much sugar":2,"Web components":2,"deploy-dev":2,"fixed-via-userscript":2,"Error pages":2,"config":2,"spellcheck":2,"API auth":2,"🔒 Requires HTTPS":2,"🇮🇪 Ireland":2,"regression":2,"rtl":1,"Croatia":1,"htaccess":1,"observability":1,"CRON":1,"need design":1,"lactose":1,"documented":1,"📖 Knowledge panels - Data Quality":1,"Request for Comments":1,"charts":1,"🧹 Linting":1,"todo tests":1,"📖 Knowledge Panels -":1,"ImageMagick":1,"Url":1,"Catalan":1,"Ecobalyse":1,"animal welfare":1,"password reset":1,"needs data analysis":1,"🕰️ CRON":1,"Fields":1,"✏️ Editing - Basic details":1,"prepared nutrition":1,"🛒 DriveOFF":1,"autorelease: pending":1,"🧬 Taxonomy editor":1,"Eco-Score":1,"on-the-fly quality checks":1,"🧪 needs tests":1,"API Read - Product":1,"dataset creation":1,"fructose":1,"health card":1,"Knowledge panels - Health":1,"Food supplements":1,"🇳🇴 Norway":1,"beers":1,"🍺 beers":1,"Nutri-Score":1,"legacy":1,"producer onboarding":1,"🇸🇮 Slovenia":1,"🙅‍♀️ wontfix":1,"SCSS":1,"regular expressions":1,"Partial barcode API":1,"Scan Party":1,"compare":1,"📖 Knowledge Panels - OBF":1,"producers platform - onboarding":1,"language switcher":1,"⚙️ food preferences":1,"🏪 Stores":1,"External taxonomies":1,"opposites - logic bombs":1,"Knowledge panels - infoboxes":1,"🔒 HTTPS":1,"geolite":1,"foreign-products-stored-in-french":1,"Legal":1,"Ukrainian":1,"XML":1,"P30":1,"CSRF":1,"Taxonomies - Rebuild":1,"openapi":1,"lithuanian":1,"Buggy products":1,"🇱🇺 Luxembourg":1,"taxonomy editor":1,"humor":1,"stores":1,"rate-limit":1,"Road to editing":1,"🇱🇹 Lithuania":1,"User engagement":1,"france":1,"forest footprint":1,":star: top issues dashboard":1,"RSS":1,"deployed-on-dev-server":1,"✏️ Editing - anonymous edits":1,"needs a decision":1,"api quality":1,"🧽  on-the-fly quality checks":1,"teams":1,"🇮🇹 Italy":1,"special-character-languages":1,"argentina":1,"uservoice":1,"apache":1,"shortcuts":1,"alternatives":1,"🔐 Password":1,"🧽 Data quality - False positives":1,"Taxonomies":1,"power-user-script":1,"Contribalim":1,"Q1-2019":1,"🔎 Search - Ranking":1,"Dark mode":1,"signup date":1,"npm":1,"Non-ASCII":1,"🇦🇺 Australia":1,"keyboard shortcuts":1,"ingredients processing":1,"🌐 Timezones":1,"modals":1,"Analytics":1,"🐍 Python":1,"alcohol":1,"dependancies":1,"education":1,"sentry":1,"📖 Knowledge panels - Health":1,"🇨🇦 Canada":1,"meta":1,"colors":1,"degrated situations":1,"csv exports":1,"segfault":1,"🇺🇾 Uruguay":1,"fixable-in-crowdin":1,"favicons":1,"Mail":1,"🇧🇬 Bulgaria":1,"🤳🥫Scan Party":1,"🤳🥫 tagline":1,"SFTP":1,"debug":1,"🇸🇪 Sweden":1,"Data extraction":1,"solved in off explorer":1,"vegetarian":1,"needs tests":1,"🇯🇵 Japan":1,"non-food products":1,"🧪 unit tests":1,"update all products":1,"GS1 GPC":1,"documentation-update-required":1,"Producer platform - improvement opportunities":1,"👥 User groups":1,"infoboxes":1,"food archeology":1,"Fixed via Userscript":1,"user groups":1},"pull_request_labels_count":{"dependencies":1460,"🧬 Taxonomies":1203,"taxonomies":778,"🧪 tests":767,"categories":762,"Template::Toolkit":525,"📚 Documentation":441,"JavaScript":428,"javascript":425,"Display":364,"github_actions":362,"ingredients":359,"translations":338,"GitHub Actions":337,"🥗 Ingredients":296,"🥗🔍 Ingredients analysis":281,"💥 Merge Conflicts":275,"tests":265,"🌐 Translations":264,"labels":210,"🧴 Open Beauty Facts":200,"🏭 Producers Platform":190,"API":186,"Tags":177,"🧪 additives":167,"📸 Open Products Facts":158,"producers platform":156,"i18n":153,"🧽 Data quality":149,"📖 Knowledge Panels":144,"Products":140,"config":137,"Ingredients processing":134,"🐾 Open Pet Food Facts":130,"ingredients analysis":130,"Food.pm":128,"🚦 Nutri-Score":126,"multilingual products":124,"documentation":120,"additives":119,"packaging":118,"📦 Packaging":117,"ecoscore":116,"dependancies":108,"docker":103,"merge-conflicts":101,"🧪 unit tests":97,"🥜 Allergens":94,"knowledge-panels":90,"🖼️ Images":90,"autorelease: tagged":87,"CSS":86,"🐋 Docker":84,"🧪 integration tests":83,"👥 Users":80,"API v3":79,"Product Page":78,"Data import":76,"🎁 donations":73,"frontend":71,"Attributes":71,"Site layout":69,"open beauty facts":69,"📍 Origins":68,"autorelease: pending":65,"NGINX":62,":star: top pull request":62,"GS1":61,"German":61,"📍🏭 Packager codes":60,"export":58,"🥗  Ingredients":58,"open pet food facts":55,"📚 OpenAPI":55,"Stale":55,"API WRITE":54,"product history":54,"update all products":53,"👮 Moderation":52,"Open Products Facts":49,"data quality":47,"devops":46,"allergens":46,"static content":45,"🌱 Eco-Score":45,"taxonomy translation":44,"exports":42,"2024 Paris Perl Hackathon":42,"data import":41,"css":40,"ciqual":40,"✏️ Editing":39,"🏭 Orgs":37,"images":36,"Users":36,"MongoDB":35,"🇵🇱 Polish":35,"API READ":35,"Food groups":34,"icons":33,"taxonomies rebuild":31,"🥤 Gulp":31,"📦 Packaging shapes":30,"mongodb":30,"🇸🇪 Sweden":30,"Croatia":29,"Web":29,"bug":29,"🇭🇷 Croatia":29,"⏰ Stale":28,"REDIS":28,"🏭 Producers Platform - Odoo":27,"OCR":27,"🎯 P0":27,"editing":27,"packager codes":27,"brands":27,"✏️ Editing - Auto Suggest":27,"store":27,"lang":26,"refactor":26,"nova":26,"file import":26,"performance":25,"product attributes":25,"👩‍💻 DevOps":24,"Scanbot":24,"Paris Perl Hackathon":24,"Nova - Ultra-processed foods":23,"Taxonomies":23,"Minion":23,"Perl":23,"Poland":23,"🤳🥫 tagline":22,"unit tests":22,"dev":22,"catalan":22,"recipes":21,"ci":21,"🏷️ Folksonomy Project":21,"status system":20,"personal search":20,"Translations":20,"integration tests":20,"🔐 Password":20,"📨 Mail":20,"🔐 Auth":19,"🔎 Search":19,"API write":19,"🇩🇰 Denmark":19,"🤖 Robotoff":19,"🪶 Apache":18,"🌳 Forest Footprint":18,"🐛 bug":18,"nutrients":18,"bulgaria":17,"🇯🇵 Japan":17,"🚅 Performance":17,"nginx":17,"origins":17,"facets":17,"design":17,"🕹️ Gamification":17,"tagline":17,"🌱 Vegan":17,"🍬 How much sugar":16,"API read":16,"vitamins":15,"openfoodfacts-query":15,"Recent changes":15,"🎯 P1":15,"🗺️ Made Near Me":14,"data4good-environment":14,"Account deletion":14,"Text":13,"Lists of products":13,"Nutrients":13,"✨ Feature":13,"nutrition facts":13,"Czech":13,"donations":13,"dev journeys documentation":12,"Agribalyse":12,"wikidata":12,"security":12,"forest footprint":12,"📨 Emails - Brevo":12,"search":12,"Nutri-Score v2":11,"🤳🥫 blocking mobile apps":11,"URL":11,"Ecobalyse":11,"palm oil":11,"checkbot":11,"Stores":11,"agribalyse":11,"Web components":10,"systemd":10,"WikiData":10,"folksonomy project":10,"ingredients processing":10,"🇱🇹 Lithuania":10,"🧽  Data quality - Nutrition":10,"Countries":9,"Orgs":9,"carbon footprint":9,":boom: Merge Conflicts":9,"logs":9,"accessibility ♿":9,"🏭 EQUADIS":9,"logos":9,"Nutrition facts":9,"partners page":9,"Numbers":9,"python":8,"matomo":8,"5 minute fix":8,"MainCountries":8,"quality-facet":8,"barcodes":8,"data export":8,"packaging_shapes":8,"Knowledge panels":8,"scan statistics":8,"China":8,"no-pr-activity":8,"HTTPS":7,"feature":7,"autosuggest":7,"image upload":7,"✔︎ Spellcheck":7,"apache":7,"Vegetarian":7,"darkmode":7,"Data export":7,"Uncommitted assets":7,"🇳🇴 Norway":7,"🧽 Data quality - edit rules":7,"🌱 Green-Score":7,"👥 User management":6,"linked data":6,"P1":6,"responsive ux":6,"Spanish":6,"maintenance":6,"🤳🥫 mobile apps":6,"🏭 Producers Platform - data imports":6,"footer":6,"🇫🇷 France":6,"product addition":6,"🥗 Ingredients - processing":6,"Denmark":6,"🇫🇮 Finland":5,"Allergens":5,"⚖️ Quantity":5,"🏭 Producer platform - improvement opportunities":5,"🍊 Open Food Facts":5,"new design":5,"robotoff":5,"admin tools":5,"foundation":5,"📍 geolite":5,"Data exports":5,"gamification":5,"Made Near Me":5,"hunger games":5,"Austria":5,"moderation":5,"advanced search":5,"Mail":5,"nutriscore":5,"🎯 P1 candidate":5,"🧽 Data quality - Measure - Quality facets":5,"russian":5,"🧽 Data quality - Remediation":5,"🗺️ Maps":4,"caching":4,"npm":4,"SCSS":4,"ingredient-list-cutting":4,"🌐 i18n":4,"server":4,"Dutch":4,"Cocoa":4,"obsolete products":4,"🔖 🖼️ tag images":4,"Czech republic":4,"location":4,"🇧🇬 Bulgaria":4,"multingual products":4,"serving size":4,"🇷🇴 Romania":4,"🔐 external auth service":4,"SEO":4,"🧬 Taxonomies - Translation":4,"Nutri-Score":4,"🌾 gluten":4,"rate limiter":4,"processing":4,"CIQUAL":4,"CI":4,"📊 graphs":4,"special-diets":4,"script-writing":4,"fixed?":3,"pagination":3,"FODMAP":3,"Signup Page":3,"🇮🇳 India":3,"offline mode":3,"Cyprus":3,"🕰️ CRON":3,"geolite":3,"3rd party contributions":3,"needs deployment":3,"Makefile":3,"🇮🇱 Israel":3,"graphs":3,"OpenAPI":3,"ready to merge":3,"🇺🇸 United States":3,"🇨🇦 Canada":3,"spanish":3,"blocking mobile apps":3,"documentation-update-required":3,"Portugal":3,"Ingredients knowledge panel":3,"svg":3,"Tags.pm":3,"US project":3,"🕷️ SEO":3,"routing":3,"Contribalim":3,"nodejs":3,"🍬 Sugar":3,"🇮🇪 Ireland":3,"task":3,"🚦Nutri-Score":3,"infoboxes":3,"Power User Script":3,"🇮🇹 Italy":3,"teams":3,"📍 location":3,"units":3,"Fruits \u0026 Vegetables":3,"CORS":2,"editing-images":2,"Belgium":2,"account deletion":2,"environment":2,"postgresql":2,"Nutrition estimation":2,"Shared services":2,"Australia":2,"lactose":2,"elastic":2,"✏️ Editing - Nutrition":2,"divinfood":2,"Hungary":2,"🎨 Design":2,"OxF":2,"prometheus":2,"🇬🇧 United Kingdom":2,"fishing":2,"🧽 Quality facet":2,"🇸🇮 Slovenia":2,"html":2,"🥚 eggs":2,"monitoring":2,"external taxonomies":2,"gluten":2,"API Refactor":2,"edit rules":2,"language switcher":2,"🏭 Producers Platform - acquisition":2,"elk":2,"needs help":2,"user-management":2,"microformats":2,"disk space":2,"deployed-on-dev-server":2,"🇱🇺 Luxembourg":2,"🧬 Taxonomy editor":2,"Italy":2,"📖 Knowledge Panels - For facets":2,"💸 Prices":2,"averages by categories":2,"product examples":2,"newsletter":2,"manifest":2,"🧽  on-the-fly quality checks":2,"maps":2,"scores":2,"Privacy":2,"recommendations":2,"Blocks":2,"🏭 AGENA3000":2,"Portuguese":2,"knowledge panel actions":2,"Nutrient levels":2,"pregnancy \u0026 babies":2,"Greek":2,"installation":2,"opposites - logic bombs":2,"🧽 Data quality - Prevention":2,"data-quality-nutrition":2,"csv exports":2,"Legal":2,"Road to Doc":2,"Ireland":2,"STO":2,"🔐 API auth":2,"✏️ Editing - Images":2,"openapi":2,"stores":2,".well-known":2,"Luxembourg":2,"subdomains":2,"polish":2,"spellcheck":2,"quantity":2,"rtl":2,"🔎  Search":2,"🧽 Data Quality - Products stored in French":1,"on-the-fly quality checks":1,"Dark mode":1,"documented":1,"india":1,"external auth service":1,"SFTP":1,"Requires HTTPS":1,"Ukrainian":1,"Knowledge panels - Health":1,"Animal welfare":1,"non tech":1,"🇹🇭 Thailand":1,"product rules":1,"auth":1,"user-support":1,"debug":1,"Progressive Web App":1,"ketogenic diet":1,"needs tests":1,"Fields":1,"Road to editing":1,"automated pr":1,"Q\u0026A":1,"lazy-loading":1,"⏲️ 5 minute fix":1,"🖼️ Image upload":1,"api auth":1,"open products facts":1,"Analytics":1,"nutrient-levels":1,"outreachy":1,"Road to app":1,"Bug in Pre-Production":1,"Spain":1,"brokenlinks":1,"seasonality support":1,"favicons":1,"deployed in production":1,"comments":1,"needs work":1,"Url":1,"🇧🇷 Brazil":1,"startup":1,"infrastructure":1,"P0":1,"sto":1,"Social media links":1,"release-blocking-issue":1,"🐍 Python":1,"🇺🇸 USDA import":1,"agena3000":1,"GenAI":1,"producer onboarding":1,"🎨 New design":1,"🇨🇭 Switzerland":1,"organic products":1,"profiles":1,"Keyhole":1,"wiki":1,"Alcohol":1,"diluted products":1,"🍺 beers":1,"user groups":1,"preprod":1,"update-all-products":1,"verified to work in production":1,"todo tests":1,"enhancement":1,"traces":1,"Producer platform - improvement opportunities":1,"Top translators":1,"JSONL":1,"EAN-8":1,"product reformulation":1,"GS1 GPC":1,"moving-images":1,"CSV exports":1,"⚙️ food preferences":1,"🗄 Obsolete products":1,"cropping":1,"animal welfare":1,"3rd party Knowledge Panels":1,"Food supplements":1,"P3":1,"power tools for contributors":1,"Eco-Score":1,"🌍 Multilingual products":1,"homepage":1,"glycemic index":1,"🇵🇹 Portugal":1,"Polish":1,"observability":1,"product lists":1,"🌽 Corn":1,"🤳🥫 requires mobile changes":1,"🔐 Password reset":1,"🧪 ✅ Tested":1,"🇩🇪 Germany":1,"blocking-smoothie":1,"🧹 Linting":1,"🏭 Producers Platform - onboarding":1,"deploy-dev":1,"🐠 Fishing":1,"Intake24":1,"Producers - Product Enhancement Suggestions":1,"vegan":1,"markdown":1,"variable-barcodes":1,"indexing":1,"japan":1,"us project":1},"issue_author_associations_count":{"MEMBER":2084,"CONTRIBUTOR":1547,"NONE":334,"COLLABORATOR":76},"pull_request_author_associations_count":{"CONTRIBUTOR":6340,"MEMBER":2746,"COLLABORATOR":645,"NONE":157},"issue_authors":{"teolemon":1596,"stephanegigandet":758,"aleene":197,"CharlesNepote":181,"alexgarel":157,"aleksejrs":99,"manon-corneille":98,"hangy":85,"TaciteOFF":67,"kyzh":40,"raphael0202":36,"g123k":30,"AcuarioCat":25,"VaiTon":24,"john-gom":23,"monsieurtanuki":21,"nicolasleger":18,"jayaddison":17,"svensven":16,"October-Food-Facts":15,"yuktea":14,"Freso":13,"bredowmax":12,"Ban3":12,"roshnaeem":11,"SantosSi":10,"M123-dev":10,"Slawek234":10,"ocervell":10,"gcalsmith":9,"benbenben2":9,"CloCkWeRX":8,"github-throwaway":7,"alexfauquette":6,"laulowen":6,"rbigueras":6,"zigouras":6,"galnaf":6,"Jen-Lopez":6,"HummingBrid":5,"jasmeet0817":5,"sentry-io[bot]":5,"Anubhav-Bhargava":5,"4nt0ineB":5,"DanieliusAsm":5,"astrubel-zz":5,"LandonPattison":5,"ashed":5,"PommeOrange147":4,"Kezxo":4,"sashabrava":4,"alemit":4,"fabricetheytaz":4,"NerOcrO":4,"N3jm4n":4,"mvark":4,"dipietroR":4,"bigon":4,"TheSussex":4,"rampmaster":3,"moon-rabbitOFF":3,"ghost":3,"szmi":3,"fgouget":3,"chk1":3,"Valimp":3,"trendspotter":3,"fuddl":3,"otatadeabigail":3,"Naruyoko":3,"syl10100":3,"fabi003":3,"jb1415":3,"rndblnch":3,"Sarazine131":3,"pradumna-gautam":3,"openfoodfacts-bot":3,"oliwuaa":3,"Phyks":2,"ferb7o2":2,"mrmd8":2,"john-hu":2,"jxu":2,"blazern":2,"oricdev":2,"jusdekiwi":2,"ms10398":2,"norganna":2,"Nymerea":2,"philipbrembeck":2,"sgtSeme4ki":2,"jforget":2,"theedov":2,"Sulstice":2,"BenibenOFF":2,"squeak9":2,"TechShooter":2,"KommX":2,"rugk":2,"bcatelin":2,"alexouille123":2,"areebahmeddd":2,"archanox":2,"Cypresslin":2,"asmoth360":2,"lucaa":2,"Gongjuhyeon":2,"herau":2,"nazimboudeffa":2,"yarons":2,"andrewhuanggg":2,"teleboas":2,"aquilax":2,"MaximeLaurenty":2,"pamputt":2,"OpenChris":2,"javichuOFF":2,"Bartozzz":1,"Chocobozzz":1,"3ph":1,"harsh-791":1,"JamesMahy":1,"forenta":1,"RotBolt":1,"FoodCoach-App":1,"astagi":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,"SebSwiss":1,"onemetafox":1,"Ahson-Shaikh":1,"JVillafruela":1,"SaitejaKommi":1,"Ov-ille":1,"prashantpatel0":1,"PhoenixOFF":1,"Searchingdays":1,"seniorm0ment":1,"alifafaruk":1,"lukemorgan8064":1,"vertigo220":1,"elbeho":1,"ovz93br43v7":1,"hydrargyrum":1,"cbachhuber":1,"jolesh":1,"Gallantmayor":1,"albatrousse":1,"Nothingspecial99":1,"kmlhsn":1,"mik1xcz":1,"moreymat":1,"himanshisrestha":1,"2jaeyeol":1,"kulizhsy":1,"natrius":1,"IceIsFrozen":1,"RiyanshiTomar":1,"Manu1400":1,"duhow":1,"AnthonySchneider2000":1,"matotim":1,"ArchiMageAlex":1,"Pawan8538":1,"domigmr":1,"UlricusR":1,"pepperino217":1,"gilren":1,"FRAdrien":1,"prateekshac1":1,"dlatchx":1,"DamienMAYAUX":1,"Diegovsky":1,"leonarf":1,"Faltenreich":1,"rursache":1,"deniger":1,"jodm":1,"JagjeevanAK":1,"zond":1,"ygaspoz":1,"diesieben07":1,"EmilJunker":1,"laralem":1,"JoseMoFi":1,"nothowstorygoes":1,"manoncorneille":1,"A1CY0N":1,"guillaumegarcia13":1,"NamesNetworkNic":1,"k127":1,"aqkd1":1,"Telperion87":1,"denis-migdal":1,"MichaelBarnett1111":1,"FredJul":1,"Hugo-De":1,"leohumnew":1,"jnsereko":1,"Chri92000":1,"yangar":1,"tovkal":1,"victorosorioparis":1,"raphodn":1,"22404sonalmishra":1,"TamannaVerma99":1,"Fienne":1,"Roxie-32":1,"jchristin":1,"tradmangh":1,"josve05a":1,"github-actions[bot]":1,"shahaman351":1,"cannoyroy":1,"FabienZE":1,"inflationsbereinigt":1,"e-dewailly":1,"fievx":1,"MonalikaPatnaik":1,"Areontar":1,"Sebleouf":1,"AaronAsAChimp":1,"Mehak-Parveen":1,"verdie-g":1,"mikejsdev":1,"IsaiahLevy":1,"RayanGoubet":1,"chris-hatton":1,"danielcavanagh":1,"cvettelina":1,"Xuan4781":1,"cutterkom":1,"dhiraj-143r":1,"kylesorkness":1,"MarByteBeep":1,"woshilapin":1,"olboaz":1,"alfinal":1,"azzsamir":1,"adeyanjufawaz":1,"Yoanndp":1,"zanovis":1,"vanshikaarora":1,"mojoaxel":1,"maks-io":1,"oyenuga17":1,"Lunique":1,"jebarjonet":1,"bfourgeaud":1,"SoftSage07":1,"goerlitz":1},"pull_request_authors":{"stephanegigandet":1966,"teolemon":1651,"dependabot[bot]":1249,"moon-rabbitOFF":504,"alexgarel":498,"aleene":388,"hangy":368,"benbenben2":298,"openfoodfacts-bot":215,"github-actions[bot]":198,"Freso":169,"dipietroR":135,"dependabot-preview[bot]":133,"raphael0202":106,"CharlesNepote":86,"svensven":85,"4nt0ineB":83,"john-gom":72,"Roto15":69,"VaiTon":68,"JagjeevanAK":57,"roshnaeem":56,"Ban3":44,"OpenChris":43,"ocervell":42,"pauamma":42,"yuktea":39,"TheSussex":38,"Teiron":35,"jayaddison":33,"MonalikaPatnaik":32,"areeshatariq":29,"AcuarioCat":24,"shinjigi":23,"github-throwaway":23,"duhow":23,"areebahmeddd":23,"deveshidwivedi":22,"laralem":20,"mrmd8":19,"RayanGoubet":19,"Kout95":19,"Roxie-32":19,"blazern":18,"very-smartin":18,"ArturLange":18,"McCio":18,"Naruyoko":18,"Copilot":18,"jolesh":17,"himanshisrestha":17,"DanieliusAsm":15,"Pawan8538":14,"bernardlemoullec":13,"albatrousse":13,"manon-corneille":13,"leonarf":13,"pradumna-gautam":12,"kant":12,"g123k":12,"Nothingspecial99":12,"Valimp":12,"Vic142":12,"NerOcrO":10,"jnsereko":9,"CloCkWeRX":8,"jforget":8,"aadak99":8,"BathoryPeter":8,"zigouras":7,"anaritadauane":7,"LandonPattison":7,"eric-nguyen-cs":7,"Sneha6003":6,"foodietim":6,"TaciteOFF":6,"krishita30j":6,"muskangarg21":6,"yarons":6,"abderhman487":6,"syl10100":6,"pratyaksh1610":6,"Steinhagen":6,"mahlzahn":6,"Annieieieie":6,"RonanMorgan":5,"TCatinaud":5,"tuukka":5,"damil":5,"borrokk":5,"vansasuu":4,"oricdev":4,"mike-lu1":4,"KommX":4,"IsaiahLevy":4,"sandy9999":4,"himanshi-154":4,"teleboas":4,"sultanowski":4,"nmetifiot":4,"lan33":4,"that1":4,"medape":4,"eseyman":4,"alexfauquette":4,"MaximeLaurenty":4,"Strubbl":4,"franiis":4,"lilymedway":4,"himanshipikachu":4,"tkbremnes":4,"tchen0125":4,"astagi":3,"GendelfLugansk":3,"mariali1":3,"alexouille123":3,"oyenuga17":3,"kirtanchandak":3,"sumit-158":3,"Payne680":3,"smonff":3,"M123-dev":3,"Jen-Lopez":3,"garvit-bhattt":3,"nicolasleger":3,"FemmeNoire":3,"ghost":3,"zond":3,"ferb7o2":3,"diivi":3,"bazylevnik0":3,"Lunique":3,"Josckar":3,"Cutypareek":2,"1DhruvPatel":2,"withthelemons":2,"jeremyarancio":2,"K13b3r":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,"sgtSeme4ki":2,"Vicam":2,"rajanarahul93":2,"BryanH01":2,"nuraiman":2,"Makitsu":2,"Dev-Ashank":2,"k2s":2,"dolmen":2,"rpowis":2,"aadarsh-ram":2,"priyanka0906":2,"k127":2,"aleksejrs":2,"snyk-bot":2,"dereineLauch":2,"vanshikaarora":2,"Vikas4245":2,"Etatdesprit":2,"challengee":2,"TechShooter":2,"wobfan":2,"saibimajdi":2,"rkiddy":2,"NooaLumi":2,"fuddl":2,"chinon123":2,"albertaillet":2,"owusunp":2,"sparunakian":2,"alifafaruk":2,"davidpryor":2,"tur-ium":2,"JieDiscovery":2,"sebeeek":1,"jalanyash":1,"helloworldtest123":1,"JulieMaricicDetweiler":1,"Victor-Hermes":1,"simonj2":1,"JulienPalard":1,"arybhatt4533":1,"star-warrior":1,"iotaaxel":1,"Kezxo":1,"AlperMulayim":1,"sidhansu10":1,"ItshMoh":1,"dhruv1345":1,"gospodin55":1,"tapaswenipathak":1,"TonyTroeff":1,"JohnNilsson":1,"maxymus-1":1,"GabrielBeFr":1,"Cypresslin":1,"michael-golden":1,"anthonyryan1":1,"jusfla":1,"cquest":1,"dnim":1,"hannsen":1,"tachylatus":1,"Luzifer":1,"adi-ray":1,"shivangi3001":1,"Tanujgarg37":1,"azzsamir":1,"danwyk":1,"leventgunay":1,"aakankshabhende":1,"GRyabkin":1,"ArishSultan":1,"laulowen":1,"achauve":1,"57200":1,"dennisahlqvist":1,"monkeywithacupcake":1,"c-schuhmann":1,"KPreisner":1,"HimajPatil":1,"petervdv":1,"Dwarfex":1,"jainilDesai":1,"fossabot":1,"olivier5741":1,"jhutchings1":1,"odin-h":1,"goverdhan07":1,"hstauff":1,"omerfaruk-cakmak":1,"AnasDharar":1,"hakuamesan":1,"gayatrisinghf3-rgb":1,"PrajwalM2212":1,"k3lyan":1,"shamun-khatri":1,"omahs":1,"aquilax":1,"ms10398":1,"emmapeel2":1,"nithyaV-dev":1,"Codeioholic":1,"simonghrt":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,"Jecrivaine":1,"NejmaCHAABANI":1,"davidoskky":1,"JBelcoco":1,"jasmeet0817":1,"Lampone":1,"prometheas":1,"thestarsahil":1,"ditsuke":1,"croesch":1,"Shruti-S0405":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-17T00:00:41.354Z","repositories_count":14630098,"issues_count":34158232,"pull_requests_count":111724569,"authors_count":11265137,"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":7,"🏭 Producers Platform":5,"📚 Documentation":3,"🧴 Open Beauty Facts":3,"👩‍💻 DevOps":3,"🧽 Data quality":3,"REDIS":3,"🏷️ Folksonomy Project":3,"GitHub Actions":3,"🧬 Taxonomies":3,"product-specific issue":2,"facets":2,"openfoodfacts-query":2,"categories":2,"🛣️ Road to scores":2,"🌱 Green-Score":2,"github_actions":2,"🚦 Nutri-Score":2,"🚅 Performance":2,"👮 Moderation":2,"🧽  Data quality - Nutrition":2,"P2":2,"🏭 Producers Platform - data imports":2,"📖 Knowledge Panels":1,"Minion":1,"needs reprocessing":1,"📍 Origins":1,"🎯 P1":1,"Perl":1,"postgresql":1,"protected data":1,"Road to app":1,"🤖 Robotoff":1,"SCSS":1,"🔎 Search":1,"static content":1,"🧪 tests":1,"top navigation":1,"API":1,"🌐 Translations":1,"🔐 API auth":1,"API WRITE":1,"🔐 Auth":1,"🤳🥫 blocking mobile apps":1,"brokenlinks":1,"🐛 bug":1,"caching":1,"Catalan":1,"CSS":1,"CSV exports":1,"Data export":1,"dependencies":1,"✏️ Editing":1,"🔐 external auth service":1,"Fixed ?":1,"GS1":1,"homepage":1,"🖼️ Images":1,"infrastructure":1,"🥗 Ingredients":1,"🥗🔍 Ingredients analysis":1,"🧪 integration tests":1},"past_year_pull_request_labels_count":{"🧬 Taxonomies":147,"🧪 tests":98,"dependencies":97,"📚 Documentation":79,"categories":60,"🥗🔍 Ingredients analysis":44,"GitHub Actions":41,"JavaScript":41,"💥 Merge Conflicts":34,"Display":26,"Template::Toolkit":26,"🧴 Open Beauty Facts":24,"🌐 Translations":24,"Paris Perl Hackathon":23,"📸 Open Products Facts":22,"Tags":21,"config":21,"🧪 additives":18,"🏭 Producers Platform":17,"🐾 Open Pet Food Facts":16,"autorelease: pending":16,"API v3":16,"🐋 Docker":16,"📚 OpenAPI":15,"🥜 Allergens":15,"github_actions":14,"📖 Knowledge Panels":14,"📦 Packaging":13,"multilingual products":13,"API":13,"🖼️ Images":12,"Food.pm":11,"brands":10,"Products":10,"🧽 Data quality":10,"Web components":9,"Product Page":8,"REDIS":8,"🧪 unit tests":8,"🤖 Robotoff":8,"docker":8,"🧪 integration tests":8,"exports":7,"👥 Users":7,"update all products":7,"🇸🇪 Sweden":7,"API READ":7,"Ingredients processing":7,"autorelease: tagged":7,"Nutrition facts":7,"Data import":6,"🚦 Nutri-Score":6,"Nutrients":6,"API WRITE":6,":star: top pull request":5,"✏️ Editing":5,"CSS":5,"👮 Moderation":5,"German":5,"export":5,"Czech":5,"Scanbot":4,"📍 Origins":4,"openfoodfacts-query":4,"NGINX":4,"📍🏭 Packager codes":4,"🕹️ Gamification":4,"🇩🇰 Denmark":4,"Denmark":4,"checkbot":4,"Attributes":4,"📨 Mail":4,"🎁 donations":4,"✏️ Editing - Auto Suggest":3,"GS1":3,"Croatia":3,"Web":3,"🔐 Auth":3,"MongoDB":3,"🔐 Password":3,"🏭 Orgs":3,"WikiData":3,"🍊 Open Food Facts":3,"📨 Emails - Brevo":3,"Stores":2,"🪶 Apache":2,"Czech republic":2,"Dutch":2,"Ecobalyse":2,"🇫🇮 Finland":2,"🏷️ Folksonomy Project":2,"🌾 gluten":2,"🍬 How much sugar":2,"labels":2,"logs":2,"🗺️ Made Near Me":2,"matomo":2,"🇳🇴 Norway":2,"Nova - Ultra-processed foods":2,"OCR":2,"🎯 P0":2,"palm oil":2,"postgresql":2,"🏭 Producers Platform - Odoo":2,"🔎 Search":2,"status system":2,"store":2,"👥 User management":2,"script-writing":1,"🌱 Vegan":1,"maintenance":1,"Austria":1,"Allergens":1,"3rd party Knowledge Panels":1,"🇩🇪 Germany":1,"systemd":1,"Fruits \u0026 Vegetables":1,"🌳 Forest Footprint":1,"Taxonomies":1,"Food groups":1,"file import":1,"facets":1,"👩‍💻 DevOps":1,"🧽 Data quality - edit rules":1,"Account deletion":1,"🇧🇷 Brazil":1,"product history":1,"Portuguese":1,"🇵🇹 Portugal":1,"🚅 Performance":1},"past_year_issue_author_associations_count":{"MEMBER":54,"CONTRIBUTOR":51,"NONE":21,"COLLABORATOR":15},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":362,"MEMBER":141,"COLLABORATOR":66,"NONE":23},"past_year_issue_authors":{"teolemon":38,"manon-corneille":13,"raphael0202":7,"stephanegigandet":7,"Freso":7,"g123k":6,"john-gom":6,"alexgarel":5,"CharlesNepote":5,"hangy":5,"jayaddison":4,"Naruyoko":2,"moon-rabbitOFF":2,"monsieurtanuki":2,"jxu":2,"sentry-io[bot]":2,"fgouget":2,"aleene":2,"SaitejaKommi":1,"RayanGoubet":1,"SoftSage07":1,"VaiTon":1,"vertigo220":1,"pepperino217":1,"Xuan4781":1,"ygaspoz":1,"Ov-ille":1,"openfoodfacts-bot":1,"OpenChris":1,"mvark":1,"milahu":1,"mik1xcz":1,"jforget":1,"IceIsFrozen":1,"harsh-791":1,"gilren":1,"diesieben07":1,"Diegovsky":1,"dhiraj-143r":1,"cannoyroy":1,"benbenben2":1,"azzsamir":1},"past_year_pull_request_authors":{"stephanegigandet":76,"teolemon":73,"dependabot[bot]":62,"moon-rabbitOFF":55,"Freso":43,"openfoodfacts-bot":42,"alexgarel":39,"john-gom":30,"hangy":19,"Copilot":18,"leonarf":13,"raphael0202":13,"Vic142":12,"Kout95":10,"JagjeevanAK":10,"pauamma":8,"CharlesNepote":8,"RayanGoubet":7,"benbenben2":6,"jayaddison":6,"tuukka":5,"garvit-bhattt":3,"aleene":3,"kirtanchandak":3,"rajanarahul93":2,"Teiron":2,"nuraiman":2,"VaiTon":2,"Vikas4245":2,"eseyman":2,"albertaillet":2,"manon-corneille":1,"nithyaV-dev":1,"jforget":1,"jainilDesai":1,"IWouldShiverTheWholeNightThrough":1,"gayatrisinghf3-rgb":1,"emmanuel-ferdman":1,"sidhansu10":1,"azzsamir":1,"arybhatt4533":1,"anthonyryan1":1,"AnasDharar":1,"adi-ray":1,"57200":1},"maintainers":[{"login":"teolemon","count":3247,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teolemon"},{"login":"alexgarel","count":655,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexgarel"},{"login":"hangy","count":453,"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":267,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CharlesNepote"},{"login":"VaiTon","count":92,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/VaiTon"},{"login":"Freso","count":89,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Freso"},{"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":111,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teolemon"},{"login":"Freso","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Freso"},{"login":"alexgarel","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexgarel"},{"login":"hangy","count":24,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hangy"},{"login":"CharlesNepote","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CharlesNepote"},{"login":"Kout95","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kout95"},{"login":"RayanGoubet","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RayanGoubet"},{"login":"benbenben2","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/benbenben2"},{"login":"g123k","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/g123k"},{"login":"VaiTon","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/VaiTon"}]},"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.577164532406867,"created_at":"2023-09-11T11:54:36.880Z","updated_at":"2026-05-20T00:03:00.845Z","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"}