Skip to main content

Watch ArchiveTeam Warrior leaderboards on the command line

Project description

Archive Warrior Leaderboard PyPI - Version

A python CLI tool to list rank of Archive Warriors

image

(Command line for this)

Install

Via pip

pip install warriors-leaderboard

Via brew/pipx

If you don't have pipx:

brew install pipx
pipx ensurepath

Restart terminal, then:

pipx install warriors-leaderboard

Run

warriors <project> [<user(s)>] [--top count] [--bottom count] [--surround count]

Full usage available under --help:

Usage: warriors [OPTIONS] PROJECT [USERS]...

  Shows leaderboard for given Archive Warrior project, focussing on supplied
  users or ranks

Options:
  -t, --top TEXT               Include these many from the top of the ranking
  -b, --bottom TEXT            Include these many from the bottom of the
                               ranking
  -s, --surround TEXT          Include these many either side of each supplied
                               user
  -r, --rank TEXT              Include this rank, or inclusive range of ranks
                               using a..b format, e.g. -r10..20
  --no-totals                  Hide the totals row
  --no-speed                   Hide speed column and do not show rank changes
  -l, --live                   Show and update the table in real time, ctrl+c
                               to exit
  -p, --poll-time TEXT         Live mode: Refresh rate in seconds, default 60
  -c, --average-count TEXT     Live mode: Number of refreshes to calculate
                               speed and compare ranks over, default 60
  -j, --json-record-path TEXT  Save every response under this path, latest
                               used when resuming a live view.Potentially
                               useful for a future playback mode.
  --help                       Show this message and exit.

With only a project specified you get the top 10 users:

% warriors telegram
                   telegram                   
┏━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Rank ┃ User        ┃      Bytes ┃    Items ┃
┡━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│    1 │ fuzzy80211  │ 513.13 TiB │   2.79 G │
│    2 │ igloo22225  │ 183.59 TiB │ 917.25 M │
│    3 │ fionera     │ 181.88 TiB │ 636.09 M │
│    4 │ DLoader     │ 154.84 TiB │   1.06 G │
│    5 │ Nothing4You │ 104.87 TiB │ 460.27 M │
│    6 │ T31M        │  96.87 TiB │ 368.98 M │
│    7 │ Sluggs      │  76.79 TiB │ 205.35 M │
│    8 │ datechnoman │  69.84 TiB │ 234.03 M │
│    9 │ nstrom      │  36.51 TiB │ 209.52 M │
│   10 │ chrismeller │  34.65 TiB │  91.96 M │
└──────┴─────────────┴────────────┴──────────┘

Or you can list a number of users after the project:

% warriors usgovernment kiwi breadbrix
              usgovernment               
┏━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ Rank ┃ User      ┃    Bytes ┃   Items ┃
┡━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│   14 │ breadbrix │ 4.38 TiB │ 10.88 M │
├──────┼───────────┼──────────┼─────────┤
│   17 │ kiwi      │ 3.73 TiB │  9.11 M │
└──────┴───────────┴──────────┴─────────┘

To include top or bottom ranks, use -t or -b:

% warriors usgovernment kiwi -t5 -b1
                  usgovernment                  
┏━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Rank ┃ User           ┃     Bytes ┃    Items ┃
┡━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━┩
│    1 │ filesdotdog    │ 83.37 TiB │ 170.05 M │
│    2 │ datechnoman    │ 52.74 TiB │  83.02 M │
│    3 │ fuzzy80211     │ 26.04 TiB │  58.39 M │
│    4 │ nstrom         │ 14.85 TiB │  29.44 M │
│    5 │ paarklicks     │ 13.41 TiB │   29.4 M │
├──────┼────────────────┼───────────┼──────────┤
│   17 │ kiwi           │  3.72 TiB │   9.11 M │
├──────┼────────────────┼───────────┼──────────┤
│ 1893 │ atomicbunnies2 │ 10.26 kiB │        2 │
└──────┴────────────────┴───────────┴──────────┘

To lookaround the specified user(s), use -sN. e.g. to list the 3 above and below kiwi:

% warriors usgovernment kiwi -s3    
                usgovernment                 
┏━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ Rank ┃ User          ┃    Bytes ┃   Items ┃
┡━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│   14 │ breadbrix     │ 4.38 TiB │ 10.87 M │
│   15 │ katia         │  4.1 TiB │ 10.58 M │
│   16 │ Sluggs        │ 3.91 TiB │  7.32 M │
│   17 │ kiwi          │ 3.72 TiB │  9.11 M │
│   18 │ xxdesmus      │ 3.61 TiB │  6.81 M │
│   19 │ DigitalDragon │ 3.37 TiB │  7.34 M │
│   20 │ meisnick      │ 3.27 TiB │  6.53 M │
└──────┴───────────────┴──────────┴─────────┘

Styling

When specifying a user, you can specify a rich style.

For a list of colors, see https://rich.readthedocs.io/en/stable/appendix/colors.html#appendix-colors

If the style contains "on" then it applies to the whole row. Speed and Rank text foreground colors will not be replaced.

Examples:

alan:red - Highlight user alan in red. alan:"red bold" - Highlight user alan in red with bold. alan:"red bold on yellow" - Highlight user alan in red with bold on a yellow background, and apply to whole row.

Development

  1. Clone repo.
  2. Install uv if you don't have it.

Then run:

uv run warrior_rank.py <options as decripted above>

Sample image command line

The sample image was taken while running:

warriors telegram red5:"red1 bold on grey19" blue2:"deep_sky_blue1 bold on grey23" --top 10 --bottom 1 --surround 5 --live

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

warriors_leaderboard-0.1.8.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

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

warriors_leaderboard-0.1.8-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file warriors_leaderboard-0.1.8.tar.gz.

File metadata

  • Download URL: warriors_leaderboard-0.1.8.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for warriors_leaderboard-0.1.8.tar.gz
Algorithm Hash digest
SHA256 9f382ba36ea142efb95f31fcfab9941769a71f52985af125f2c3bcfc7342cc28
MD5 c9bb59fb619d8d0979e1a585b3f008f1
BLAKE2b-256 de22a046a5dc9739767136c9baecda92eb84defd84e27bf297a64a87a09284cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for warriors_leaderboard-0.1.8.tar.gz:

Publisher: publish-to-pypi.yaml on westonal/archive-warrior-leaderboard-cli

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

File details

Details for the file warriors_leaderboard-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for warriors_leaderboard-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a2be059a886a0f33fd44fb64de283ee099369a5a0795cc9bb26cf154bbdda1d2
MD5 55bc6f980ab6b6a4869b269ad7c244c5
BLAKE2b-256 0c22614aebc1fb9108f2feb6c1d213f6849d8ad6b4b1cf0d3a9f641d2bf5cbe3

See more details on using hashes here.

Provenance

The following attestation bundles were made for warriors_leaderboard-0.1.8-py3-none-any.whl:

Publisher: publish-to-pypi.yaml on westonal/archive-warrior-leaderboard-cli

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