Cemantix Auto-Solver

Roadmap Documentation build

This project aims to automatically solve the Cemantix puzzle as quickly and efficiently as possible. The method is described in documentation

📂 Fetching project

This project use git-lfs to store the model inside of the repository. You’ll need to install it if you want to pull the right model. On Debian based computer :

# Installation
sudo apt install git-lfs
git lfs install

# Fetching the model
git lfs pull

You can also download it by yourself :

# On project root

curl https://github.com/Romb38/autoCemantix/raw/refs/heads/master/src/resources/frWac.bin -o src/resources/frWac.bin

🛠️ Installation

# On project root

python3 -m venv .venv
source .venv/bin/activate

pip install -r requirements.txt

🚀 Solver execution

Without configuration, the solver use default dictionary, same as Cemantix dictionary.

source .venv/bin/activate
python3 main.py solve

You can also add options to this script :

--ntfy/-n : Enable notification using NTFY services. A configuration must be made inside of .env (c.f README.md - Ntfy Configuration)

🔧 Configuration

Configuration file location : src/resources/config.ini

You can configure a lot this script, but it is advised to use the default configuration.

🔔 Ntfy Configuration

In this project, i used a ntfy server to send me custom notification with some statistics. Here is the line that I’m using to send the notification :

curl -H "Authorization: Bearer {token}" -d "{msg}" {ntfy_url}/{subject}

Values in brackets are configured by using a .env file located at the root of the project. You can see them .env.example

NTFY_TOKEN=XXXXX # Token is required if you're using a instance with password
NTFY_SUBJECT=XXXXX # Subject to send notification to
NTFY_URL=https://ntfy.exemple.fr # Adress of the ntfy server

📚 Resources

This project use the following resources :

  • Cemantix dictionary (from Jean-Philippe Fauconnier): https://fauconnier.github.io/#data

I’ve used this model (bin (2Gb) cbow 500 10 14da). It has been filtered to be the same as Cemantix dictionary.