Minimalist approach to the LiTOY task sorting algorithm based on ELO scores.
Note: for an android version with similar intention, take a look at rank-my-favs
- Minimalist
- Statically typed via typeguard
- Made to be extensible
- Supports callbacks
LiTOY was a personal project. The idea is to dump all your TODOs in one place, then rank them using the mean ELO scores of question answer. The default questions are Which is more important to you?
and Which takes the less time?
but you can use anything you like instead!
mini_LiTOY's idea is to keep the code idea but this time in a minimalist python script. As long as the user takes care of storing the tasks in a text files, the LiTOY algorithm will update an output json (or toml) based on the score. The first use for this will be to rank my Omnivore reading queue by downloading titles of articles to read via their API, then uploading the ELO score as a label. This can be found in the examples folder.
python -m pip install mini_LiTOY
orpython -m pip install git+https://github.com/thiswillbeyourgithub/mini_LiTOY.git
- Then you can either launch it with
python -m mini_LiTOY [ARGS]
or use the aliasmlitoy [ARGS]
mlitoy --input_file my_text_file.txt --output_path output_file.json
- each new (nonempty nor commented) line in input_file will be added to the input_file.json with the default values. Each answer from the user will update the json file.
- In case anything goes wrong, you can see the recovery files and logs using --verbose.
- You can use toml file format instead of json. Just use an
output_path
that ends with ".toml" instead of ".json".
- To sort the elements by ELO score:
cat output_file.json | jq 'sort_by(.ELO)'