Skip to main content

The central hub for grocery store catalogues

Project description

Cata-Log Hub

The central hub for grocery store catalogs.

If you can check at least two of the following, this project is for you:

  • [] You like to shop items that are on offer.
  • [] You like to check what's on offer before you go to the store.
  • [] You care about privacy.
  • [] You want to use open-source software.
  • [] You use an open-source shopping list app.

Mission

There exist proprietary shopping list apps (which shall not be named here) that have a viewer for the current offers at various grocery store chains.

This is a feature that has so far not been available in open-source shopping-list applications.

One main roadblock is the fact that all stores use different implementations of their online flyers, creating a massive implementation and maintenance workload for the developers of such apps, should they consider such a feature.

It is the mission of the Cata-Log project to change this status quo.

Cata-Log's main component is a server with interfaces for a multitude of digital flyer implementations. It regularly retrieves and caches the online flyers from user-selected providers. This data is then offered to third-party applications via a consistent, unified and comprehensive API.

This way, the load of implementing and maintaining the various interfaces to the online flyers is distributed onto the shoulders of the Cata-Log contributors, instead of a single developer.

To further the ease of adaption for third-party developers, the Cata-Log project includes client-libraries to its API for various languages, including Java and Swift for mobile- as well as Javascript for web-development.

Adding new flyer providers to Cata-Log is designed to be as easy as possible. A provider interface is defined by a single Python3 class. The documentation gives an extensive example and guideline for its implementation.

It's the ultimate goal of the Cata-Log project to have a viewer for current store offers in the major open-source shopping-planning applications.

Project Status

ALPHA

  • The backend is near stable, with some refactors pending.

  • The provisional webui still needs some polishing. Vital capabilities for managing providers and configs are missing.

  • I have added the most relevant german flyer providers, other regions must be contributed as I am not familiar with the stores or the languages used.

Roadmap

  • Small refactors in the backend
  • More provider classes
  • Setup client libraries and ship them

Installation

The Cata-Log server is intended to be run with the container image provided at dockerhub.

Docker

Use docker compose using the compose file or an equivalent docker run command.

Podman

Do the same thing as above, just using podman instead of docker.

Kubernetes

You can use a tool like kompose to translate the docker compose file to a kubernetes cluster configuration.

Agentic installation

If you want an agent to install Cata-Log for you, point it to the install.md file, e.g.

  curl -fsSL https://github.com/cata-log/cata-log-hub/blob/master/install.md | claude

Documentation

The full documentation is available on ReadTheDocs.

Contributing

THIS PROJECT LIVES FROM YOUR CONTRIBUTIONS!

If there is a provider class you are missing, give implementing it a try. The quickstart and guide for implementing a provider class are in the documentation.

Thank you to everybody who helped with advancing this project and who helped with translation!

License

This software is proudly released under the GNU Affero General Public License v3.0 or later (AGPLv3) open-source license.

Its documentation is licensed under the Creative Commons Attributions-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Any contributions will be subject to the same licensing.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cata_log_hub-0.1.0.tar.gz (61.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cata_log_hub-0.1.0-py3-none-any.whl (104.0 kB view details)

Uploaded Python 3

File details

Details for the file cata_log_hub-0.1.0.tar.gz.

File metadata

  • Download URL: cata_log_hub-0.1.0.tar.gz
  • Upload date:
  • Size: 61.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cata_log_hub-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b8de9ff5af794f736a233707d388b580facf133db62667aecdd3fa49dbaf7a28
MD5 c6e9266b2bfe162333c1894dc78fe898
BLAKE2b-256 b7c1644724589d2d31cc1904562ab08e59c604de6bbe68a5fc11b4cbccc7e284

See more details on using hashes here.

File details

Details for the file cata_log_hub-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cata_log_hub-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 104.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cata_log_hub-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1429dba4bb53fdb993bd3b3e1616c55cc36110bfe2f21b39aa34be9ad0d7887f
MD5 1bddf9607f9b650c29852c8a2c9d0f82
BLAKE2b-256 19053d24daee1f11e27df763a2e8c0c9c1b596c627770c712703d447ca359446

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page