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.

Note: for an android version with similar intention, take a look at rank-my-favs

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 use the alias 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

mini_litoy-0.2.0-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

Details for the file mini_litoy-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mini_litoy-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 24.6 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d404e5cec4c846a474e6cc3bd70f5ae1051ec2e7f71d1942565637aa206854f2
MD5 affcd3faacb7e2f3fd64395bac60461d
BLAKE2b-256 30ecb8339dbef81d96818482975e36a6fe38b3aa9ee29eb0ed70b1ea53d89ec2

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