Skip to content

openfoodfacts/robotoff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Robotoff

Robotoff code quality checks and unit tests codecov Code style: black GitHub language count GitHub top language GitHub last commit Github Repo Size

Robotoff is a service that generates predictions from product data such as images, text, and metadata. These predictions can individually or collectively be refined into actionable suggestions known as insights. Insights serve as potential updates to the Open Food Facts database, either automatically applied when highly confident or validated manually by human annotators. These insights cover a growing set of product facts, including:

  • the product category, weight, brand, packager codes and expiration date
  • some of its labels
  • abusive pictures (selfies)
  • rotated pictures

Robotoff provides an API to:

  • Fetch insights
  • Annotate an insight (accept or reject)

Once generated, the insights can be applied automatically, or after a manual validation if necessary. A scheduler regularly marks insights for automatic annotation and sends the update to Open Food Facts.

A detailed description of how predictions and insights work is available here.

Robotoff works together with Product Opener, the Core server of Open Food Facts (in Perl, which can also be installed locally using Docker) and the Open Food Facts apps (which can work with your local instance after enabling dev mode)

πŸ“š Documentation: https://openfoodfacts.github.io/robotoff

Source code: https://github.com/openfoodfacts/robotoff

🍊 Open Food Facts: https://world.openfoodfacts.org

Overview

πŸ”§ Development

API Specification Linting

Robotoff uses Spectral to lint the OpenAPI specification file located at doc/references/api.yml. This ensures the API documentation follows best practices and remains consistent.

Running API Linting

All linting commands use Docker, so you don't need to install Spectral locally:

# Lint the API specification with pretty formatting
make api-lint

# Check the API specification and fail on errors (used in CI)
make api-lint-check

Configuration

The linting rules are configured in .spectral.yml at the root of the repository. The configuration extends the standard OpenAPI ruleset with custom rules specific to the Robotoff API.

CI Integration

API linting runs automatically on GitHub Actions when:

  • Changes are made to doc/references/api.yml
  • Changes are made to .spectral.yml

The workflow will fail if there are any linting errors, ensuring the API specification maintains high quality.

NOTE: This documentation tries to follow as much as possible the documentation system from DiΓ‘taxis.

πŸ‘©β€βš–οΈ Licence

  • Robotoff is licensed under the AGPLv3.

πŸ“† Weekly meetings

  • We e-meet every Tuesday at 11:00 Paris Time (10:00 London Time, 15:30 IST, 02:00 AM PT)
  • Google Meet Video call link: https://meet.google.com/qvv-grzm-gzb
  • Join by phone: https://tel.meet/qvv-grzm-gzb?pin=9965177492770
  • Add the Event to your Calendar by adding the Open Food Facts community calendar to your calendar
  • Weekly Agenda: please add the Agenda items as early as you can. Make sure to check the Agenda items in advance of the meeting, so that we have the most informed discussions possible.
  • The meeting will handle Agenda items first, and if time permits, collaborative bug triage.
  • We strive to timebox the core of the meeting (decision making) to 30 minutes, with an optional free discussion/live debugging afterwards.
  • We take comprehensive notes in the Weekly Agenda of agenda item discussions and of decisions taken.

Contributors

List of contributors to this repository

About

πŸ€– Real-time and batch prediction service for Open Food Facts

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors 43

Languages