Skip to main content

Utilities for Standard Ranklist (srk).

Project description

algoux-standard-ranklist-utils

Python utilities for Standard Ranklist (srk).

Supported srk versions: >=0.3.0 <0.4.0.

Install

pip install algoux-standard-ranklist-utils

Usage Sample

from standard_ranklist_utils import format_time_duration, resolve_text, sort_rows

format_time_duration([1.5, "h"], "min")  # 90
resolve_text({"fallback": "English", "zh-CN": "中文"}, ["zh-CN"])  # 中文
sort_rows(ranklist["rows"], ranklist.get("sorter", {}).get("config"))

Utilities

formatters

  • format_time_duration: Convert an srk TimeDuration between ms, s, min, h, and d.
  • pre_zero_fill: Left-pad a number with zeroes for fixed-width display.
  • sec_to_time_str: Format elapsed seconds as a ranklist time string such as 1:02:03 or 1D 1:02:03.
  • number_to_alphabet: Convert a zero-based problem index to an alphabetic alias such as A, Z, or AA.
  • alphabet_to_number: Convert an alphabetic problem alias back to a zero-based index.

resolvers

  • resolve_text: Resolve plain or i18n srk text using explicit language preferences and fallback text.
  • resolve_contributor: Parse a contributor string into name, optional email, and optional url.
  • resolve_color: Normalize an srk color value to a CSS color string.
  • resolve_theme_color: Expand a single color or theme color object into explicit light and dark colors.
  • resolve_style: Resolve text/background style colors and auto-pick readable text color when needed.
  • resolve_user_markers: Resolve a user's marker IDs to marker definitions from the ranklist config.

ranklist

  • sort_rows: Sort rows by ICPC solved count descending and penalty time ascending, with optional ranking-time precision.
  • regenerate_ranklist_by_solutions: Rebuild rows, scores, sorting, and problem statistics from solution tetrads.
  • regenerate_rows_by_incremental_solutions: Apply incremental solution tetrads to existing rows and re-sort them.
  • convert_to_static_ranklist: Add precomputed per-series rank values and segment indexes to each row.

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

algoux_standard_ranklist_utils-0.3.1.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file algoux_standard_ranklist_utils-0.3.1.tar.gz.

File metadata

File hashes

Hashes for algoux_standard_ranklist_utils-0.3.1.tar.gz
Algorithm Hash digest
SHA256 c448ed130f1a30d976e08fb9e77022453c32ebcdb2c5f36b25d155a518827d52
MD5 6c8b643fae81513da377cf8959d1c3b8
BLAKE2b-256 0506ea01e84707108d01d8727c951ebabbe1d230399d5dbb8ed55af3fbad7bd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for algoux_standard_ranklist_utils-0.3.1.tar.gz:

Publisher: release.yml on algoux/standard-ranklist-utils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algoux_standard_ranklist_utils-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for algoux_standard_ranklist_utils-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 08215f1656c74c4bddfe455a8b08441cd2670bb0957acbfee74abc034be3b7de
MD5 43a2dcedb575fc8eee08160a643f2789
BLAKE2b-256 e04d8028285098b391673138dfa141d125987331c710f673c05974c9db3a65bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for algoux_standard_ranklist_utils-0.3.1-py3-none-any.whl:

Publisher: release.yml on algoux/standard-ranklist-utils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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