Skip to main content

CLI tool to compute NHL Title Belt info.

Project description

Title Belt Calculator

Finds the shortest path to having a shot at the belt for a given team and belt holder.

Setup

poetry install

# either open a poetry shell to run everything
poetry shell

# or run individual commands with the poetry run prefix
poetry run title-belt-nhl

The following steps assume you are in a poetry shell. Add poetry run at the beginning of commands if not.

Usage

Run with title-belt-nhl.

$ title-belt-nhl --help

Usage: title-belt-nhl [OPTIONS]

Options:
  --team TEXT    [required]
  --season TEXT
  --help         Show this message and exit.

Commands:
  belt-path
  path
  path-alt
  • use path-alt to get a list of games recursively
  • use path to get the nested list of games iteratively, containing all evaluated games with the shortest path marked
  • use belt-path to get the list of complete games that the belt has traveled so far, plus the next title belt match

Linting and Formatting

Linting

ruff check title_belt_nhl

Fix Lint Errors

ruff check --fix title_belt_nhl

Formatting

ruff format title_belt_nhl

Autoformat on save (vscode)

  1. Install ruff extension
  2. Update settings in .vscode/settings.json:
    {
        "[python]": {
          "editor.formatOnSave": true,
          "editor.defaultFormatter": "charliermarsh.ruff",
          "editor.codeActionsOnSave": {
            "source.fixAll": "explicit"
          }
        }
    }
    
  3. Ensure you are using the python interpreter from the poetry shell.
    • Open command palette (Ctrl+Shift+P)

    • Python: Select Interpreter

    • "Select at workspace level"

    • "Enter interpreter path"

    • Copy/paste the path to your poetry virtualenv

      • Run poetry env info and copy the path to the Executable under Virtualenv
      • Should be something like /home/user/.cache/pypoetry/virtualenvs/title-belt-nhl-asdf1234-py3.10/bin/python
    • When you open a python file in vscode, the bottom right corner of the window should show something like:

      Python  3.10.14 ("title-belt-nhl-asdf1234-py3.10": poetry)
      

Testing

Run poetry run pytest to run through any tests in the ./title_belt_nhl/tests folder

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

title_belt_nhl-0.3.6.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

title_belt_nhl-0.3.6-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file title_belt_nhl-0.3.6.tar.gz.

File metadata

  • Download URL: title_belt_nhl-0.3.6.tar.gz
  • Upload date:
  • Size: 30.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for title_belt_nhl-0.3.6.tar.gz
Algorithm Hash digest
SHA256 c467d1b634cb2ba6c1a3c9340c94f9b2fa3e91f37885cf60bd06f4403767223e
MD5 d200de0f6933772362dd0a39c595f280
BLAKE2b-256 b31443a750216f89e52cd0168e50304304faa54fab8a56d8d1fb6c1e1300b6f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for title_belt_nhl-0.3.6.tar.gz:

Publisher: publish.yml on kawa2287/title-belt-nhl

Attestations:

File details

Details for the file title_belt_nhl-0.3.6-py3-none-any.whl.

File metadata

File hashes

Hashes for title_belt_nhl-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1dc59784bb23f562bbd25e236fa13460ebd8e31c4c1b706953995b399b4a9ac0
MD5 4c8a2b914208d17b1f8da89523ef3bd6
BLAKE2b-256 4c1ba1bc811fc7885778c6afd2738cfe854e45048b126065748fa62f2eec16b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for title_belt_nhl-0.3.6-py3-none-any.whl:

Publisher: publish.yml on kawa2287/title-belt-nhl

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page