Skip to main content

Minimalist LiTOY task sorting algorithm based on ELO scores

Project description

mini_LiTOY

Minimalist approach to the LiTOY task sorting algorithm based on ELO scores.

Features

  • Minimalist
  • Statically typed via typeguard
  • Made to be extensible
  • Supports callbacks

FAQ

What is LiTOY?

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!

Why make mini_LiTOY?

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.

Usage

  • python -m pip install mini_LiTOY or python -m pip install git+https://github.com/thiswillbeyourgithub/mini_LiTOY.git
  • Then you can either launch it with python -m mini_LiTOY [ARGS] or mlitoy [ARGS]
  • mlitoy --input_file my_text_file.txt --output_path output_file.json

Notes

  • 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".

Examples

  • To sort the elements by ELO score: cat output_file.json | jq 'sort_by(.ELO)'

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

mini_litoy-0.1.4.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

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

mini_LiTOY-0.1.4-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file mini_litoy-0.1.4.tar.gz.

File metadata

  • Download URL: mini_litoy-0.1.4.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for mini_litoy-0.1.4.tar.gz
Algorithm Hash digest
SHA256 035eb74e845391a47e1af34abcd171d147a264ba8276e78a0e6576efce0e2eec
MD5 1419ab845785bcbec066815894515d50
BLAKE2b-256 165394bc9b4e111364d17b838420aa653f2b3001cac6dd097d42640099ea2c0c

See more details on using hashes here.

File details

Details for the file mini_LiTOY-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: mini_LiTOY-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for mini_LiTOY-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 40ebafcf2507a8d9d12ab72bd91370acfe6a3f208f1339a4b2a0e7f21ac1fe96
MD5 84eadd2fa61e82265123c2007714327f
BLAKE2b-256 dafa5551ac3f2121f15f5a2d0d15e42be9da5a43962b94e538acfd4a61e4baf4

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