tf2mon


Nametf2mon JSON
Version 1.0.45 PyPI version JSON
download
home_pageNone
SummaryTeam Fortress 2 Console Monitor
upload_time2024-11-02 23:02:07
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords tf2 team-fortress-2 steam valve bots cathook
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ### tf2mon - Team Fortress 2 Console Monitor

#### Usage
    tf2mon [--tf2-install-dir DIR] [--rewind | --no-rewind]
           [--follow | --no-follow] [--list-con-logfile]
           [--trunc-con-logfile] [--clean-con-logfile]
           [--exclude-file FILE] [--layout {CHAT,DFLT,FULL,TALL,MRGD,WIDE}]
           [--log-location {MOD,NAM,THM,THN,FILE,NUL}]
           [--sort-order {AGE,STEAMID,CONN,K,KD,USERNAME}] [--single-step]
           [--break LINENO] [--search PATTERN] [--inject-cmd LINENO:CMD]
           [--inject-file FILE] [--allow-toggles] [--database FILE]
           [--hackers FILE] [--print-steamids STEAMID [STEAMID ...]]
           [--print-hackers] [-h] [-v] [-V] [--config FILE]
           [--print-config] [--print-url] [--completion [SHELL]]
           [con_logfile]
    
Team Fortress II (`TF2`) Console Monitor, `tf2mon`, is an interactive
terminal application that displays scoreboards and player statistics of
an active game. `tf2mon` can also `--rewind` and `--single-step`
through previous games.

`tf2mon` recognizes and tracks abusive players, such as racists and
`cathook-bots`. It provides application and in-game key-bindings to
`CALLVOTE KICK` cheaters/hackers, or mark as racist or suspect.

`tf2mon` reads TF2's console logfile (`con_logfile`), creates action
scripts in TF2's `cfg/user` directory, and binds keys for gamer to
press to take those actions, such as issue `SAY` and `CALLVOTE KICK`
commands.

Other in-game key-bindings taunt gamer's last victim/killer with a
`CHAT` message customized with their name, k/d ratio, rotating spam,
weapon and duel-scores (`Taunt` and `Throe`).

By default, `tf2mon` starts reading `con_logfile` from its end
(`--no-rewind`), and `--follow`s its tail.

#### Positional Arguments
    con_logfile         TF2 console logfile; relative to `--tf2-install-dir`
                        (default: `console.log`).

#### Options
    --tf2-install-dir DIR
                        TF2 installation directory (default: `~/tf2`).
    --rewind            Start from head of logfile (default: `False`).
    --no-rewind         Start from tail of logfile (default: `True`).
    --follow            Follow end of logfile forever (default: `True`).
    --no-follow         Exit at end of logfile (default: `False`).
    --list-con-logfile  Show path to logfile and exit.
    --trunc-con-logfile
                        Truncate logfile and exit.
    --clean-con-logfile
                        Filter-out excluded lines from logfile to stdout and
                        exit.
    --exclude-file FILE
                        Exclude lines that match patterns in `FILE` (default:
                        `~/dev/tf2mon/tf2mon/data/exclude.txt`).
    --layout {CHAT,DFLT,FULL,TALL,MRGD,WIDE}
                        Choose display layout (fkey: `F9`) (default: `MRGD`).
    --log-location {MOD,NAM,THM,THN,FILE,NUL}
                        Choose format of logger location field (fkey: `F8`)
                        (default: `NUL`).
    --sort-order {AGE,STEAMID,CONN,K,KD,USERNAME}
                        Choose sort order (fkey: `F7`) (default: `KD`).

#### Debugging options
    --single-step       Single-step at startup.
    --break LINENO      Single-step at line `LINENO`.
    --search PATTERN    Single-step when line matches `PATTERN`; add `/i` to
                        ignore case.
    --inject-cmd LINENO:CMD
                        Inject `CMD` before line `LINENO`.
    --inject-file FILE  Read list of inject commands from `FILE`.
    --allow-toggles     Allow toggles when `--rewind` (default: `False`).

#### Database options
    --database FILE     Main database (default: `~/.cache/tf2mon/tf2mon.db`).
    --hackers FILE      Hackers database (default:
                        `~/.cache/tf2mon/hackers.json`).
    --print-steamids STEAMID [STEAMID ...]
                        Print `ISteamUser.GetPlayerSummaries` for `STEAMID`
                        and exit.
    --print-hackers     Print hackers database and exit.

#### Configuration file
  The configuration file (see `--config FILE` below) defines local
  settings:
  
      [tf2mon]
      tf2_install_dir = "/path/to/your/tf2/installation"
      webapi_key = "your-steamworks-webapi-key"
      player_name = "Your Name"

#### Function Keys
  These function keys are available in-game and in the monitor:
  
                 F1 Display Help.
            ctrl+F1 Display Message of the Day.
           shift+F1 Display file.
                 F2 Enable/disable debug (use `ECHO` or `SAY`).
                 F3 Enable/disable `Taunt` messages.
           shift+F3 Enable/disable `Throe` messages.
                 F4 Include `Kill/Death ratio` in `User.moniker`.
           shift+F4 Display kills in journal window.
                 F5 Cycle contents of User Panel.
           shift+F5 Display perks in journal window.
                 F6 Join Other Team.
                 F7 Cycle scoreboard Sort column.
                 F8 Cycle logger `location` format.
            ctrl+F8 Reset logger `padding`.
           shift+F8 Cycle logger `level`.
                 F9 Cycle grid layout.
            ctrl+F9 Refresh chat window(s).
           shift+F9 Clear chat window(s).
             KP_INS Show debugging.
             KP_DEL Start single-stepping.
                  [ Kick last killer as `cheater`.
                  ] Kick last killer as `racist`.
                  \ Mark last killer as `suspect`.
            KP_HOME Pop last/latest kicks queue message.
       KP_LEFTARROW Clear kicks queue.
             KP_END Pop first/oldest kicks queue message.
            KP_PGUP Pop last/latest spams queue message.
      KP_RIGHTARROW Clear spams queue.
            KP_PGDN Pop first/oldest spams queue message.
               KP_5 Clear kicks and spams queues.
       KP_DOWNARROW Push `steamids` from game to monitor.

#### In-Game Controls, Numpad
  While playing TF2, use the `Numpad` to kick cheaters, and generate
  `Taunt` and death-`Throe` spam.
  
  Messages are placed into queues, and may be popped off either end.
  
      Queues -->    Kicks     Admin     Spams
                      |         |         |
                      v         v         v
                 +---------+---------+---------+
      last/      |         |         |         |
      newest --> |   pop   |         |   pop   |
                 |         |         |         |
                 +---------+---------+---------+
                 |         |         |         |
                 |  clear  |  clear  |  clear  |
                 |         |  both   |         |
                 +---------+---------+---------+
      first/     |         |         |         |
      oldest --> | popleft |  vet    | popleft |
                 |         |         |         |
                 +---------+---------+---------+
  
  To vet new players that have joined the game, `tf2mon` needs their
  `steamid`s, and to get them, gamer must press `NUMPAD-DOWNARROW`. The
  `status` panel will be highlighted when the monitor needs steamids.
  
  When detected, `tf2mon` pushes hackers onto the `Kicks` queue, and
  alerts the gamer, who may then press `HOME`/`END` to issue `CHAT`
  and `CALLVOTE KICK` commands.
  
  When gamer kills an opponent, `tf2mon` pushes a `Taunt` onto the
  `Spams` queue; on death, a `Throe`. Enable/disable with `F3`. Send
  with `PGUP`/`PGDN`.
  
  The monitor can only push actions onto the queues; gamer must pop
  for action to be taken, or clear to discard.

#### Duels
  The user-panel displays battles with opponents, grouped by weapon (and
  its state when fired).
  
      ┌─────────────────────────────────────────────────────────────────────┐
      │Duels:                                                               │
      │ 4 and  2 vs GLaDOS                                                  │
      │             K  2 soldier        quake_rl                            │
      │             K  1 pyro           flamethrower                        │
      │             K  1 pyro     +crit flamethrower         +Low Gravity   │
      │             D  2 heavy          minigun                             │
      │ 5 and  0 vs CreditToTeam                                            │
      │             K  2 soldier        quake_rl                            │
      │             K  2 pyro     +crit flamethrower                        │
      │             K  1 pyro           flamethrower                        │
      │ 3 and  1 vs Aperture Science Prototype XR7                          │
      │             K  1 soldier        world                               │
      │             K  1 soldier        quake_rl             +Invisibility  │
      │             K  1 pyro     +crit flamethrower                        │
      │             D  1 demo           player                              │
      └─────────────────────────────────────────────────────────────────────┘

#### Where to Operate
  `tf2mon` works by reading the `con_logfile` to which `TF2` logs
  messages during the game. `tf2mon` can either "tail -f" an active
  game, or `--rewind` and replay saved logfiles. Press `Enter` in the
  admin console to process the next line when in `--single-step` mode.
  Type `quit` or press `^D` to exit.
  
      `One-machine, Two-monitors`
          Run `tf2mon` on a secondary monitor, while playing game on
          primary monitor.
  
      `Two-machines, SSH`
          ssh from another machine and run.
  
      `Two-machines, NFS`
          cross-mount TF2's `cfg` tree to another box and run from there.

#### Terminal Size
  `tf2mon` requires a large terminal. Maximize the window, and use keys
  (maybe `Ctrl-Minus` and `Shift-Ctrl-Plus`) to resize. The wider the
  terminal, the more player data will be displayed:
  
      36x146 minimum
      42x173 display personaname
      52x211 display realname
      62x272 display age/location

#### Resizable Windows
  `Drag-and-drop` an interior border to resize the windows on either side.
  
  `Double-click` an interior border to enter `Resize Mode`.
      `scroll-wheel` and `arrows` move the border.
      `click`, `enter` or `esc` to exit.

#### Scoreboard
  `Single-click` user to highlight and follow.
  `Double-click` user to kick as cheater.
  `Triple-click` user to kick as racist.
  `F7` to change sort column.

#### Log Files
  `tf2mon` writes plaintext messages to `fileno(2)`, and
  colorized messages to `fileno(3)`, when open to a regular file.
  
      $ tf2mon 2>x 3>y

#### General options
    -h, --help          Show this help message and exit.
    -v, --verbose       `-v` for detailed output and `-vv` for more detailed.
    -V, --version       Print version number and exit.
    --config FILE       Use config `FILE` (default: `~/.tf2mon.toml`).
    --print-config      Print effective config and exit.
    --print-url         Print project url and exit.
    --completion [SHELL]
                        Print completion scripts for `SHELL` and exit
                        (default: `bash`).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tf2mon",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "tf2, team-fortress-2, steam, valve, bots, cathook",
    "author": null,
    "author_email": "Russel Lane <russel@rlane.com>",
    "download_url": "https://files.pythonhosted.org/packages/83/c6/a0dc4950d7a54e4c41b768ef80e515f58645699f3ee64ea40c4a672ddae4/tf2mon-1.0.45.tar.gz",
    "platform": null,
    "description": "### tf2mon - Team Fortress 2 Console Monitor\n\n#### Usage\n    tf2mon [--tf2-install-dir DIR] [--rewind | --no-rewind]\n           [--follow | --no-follow] [--list-con-logfile]\n           [--trunc-con-logfile] [--clean-con-logfile]\n           [--exclude-file FILE] [--layout {CHAT,DFLT,FULL,TALL,MRGD,WIDE}]\n           [--log-location {MOD,NAM,THM,THN,FILE,NUL}]\n           [--sort-order {AGE,STEAMID,CONN,K,KD,USERNAME}] [--single-step]\n           [--break LINENO] [--search PATTERN] [--inject-cmd LINENO:CMD]\n           [--inject-file FILE] [--allow-toggles] [--database FILE]\n           [--hackers FILE] [--print-steamids STEAMID [STEAMID ...]]\n           [--print-hackers] [-h] [-v] [-V] [--config FILE]\n           [--print-config] [--print-url] [--completion [SHELL]]\n           [con_logfile]\n    \nTeam Fortress II (`TF2`) Console Monitor, `tf2mon`, is an interactive\nterminal application that displays scoreboards and player statistics of\nan active game. `tf2mon` can also `--rewind` and `--single-step`\nthrough previous games.\n\n`tf2mon` recognizes and tracks abusive players, such as racists and\n`cathook-bots`. It provides application and in-game key-bindings to\n`CALLVOTE KICK` cheaters/hackers, or mark as racist or suspect.\n\n`tf2mon` reads TF2's console logfile (`con_logfile`), creates action\nscripts in TF2's `cfg/user` directory, and binds keys for gamer to\npress to take those actions, such as issue `SAY` and `CALLVOTE KICK`\ncommands.\n\nOther in-game key-bindings taunt gamer's last victim/killer with a\n`CHAT` message customized with their name, k/d ratio, rotating spam,\nweapon and duel-scores (`Taunt` and `Throe`).\n\nBy default, `tf2mon` starts reading `con_logfile` from its end\n(`--no-rewind`), and `--follow`s its tail.\n\n#### Positional Arguments\n    con_logfile         TF2 console logfile; relative to `--tf2-install-dir`\n                        (default: `console.log`).\n\n#### Options\n    --tf2-install-dir DIR\n                        TF2 installation directory (default: `~/tf2`).\n    --rewind            Start from head of logfile (default: `False`).\n    --no-rewind         Start from tail of logfile (default: `True`).\n    --follow            Follow end of logfile forever (default: `True`).\n    --no-follow         Exit at end of logfile (default: `False`).\n    --list-con-logfile  Show path to logfile and exit.\n    --trunc-con-logfile\n                        Truncate logfile and exit.\n    --clean-con-logfile\n                        Filter-out excluded lines from logfile to stdout and\n                        exit.\n    --exclude-file FILE\n                        Exclude lines that match patterns in `FILE` (default:\n                        `~/dev/tf2mon/tf2mon/data/exclude.txt`).\n    --layout {CHAT,DFLT,FULL,TALL,MRGD,WIDE}\n                        Choose display layout (fkey: `F9`) (default: `MRGD`).\n    --log-location {MOD,NAM,THM,THN,FILE,NUL}\n                        Choose format of logger location field (fkey: `F8`)\n                        (default: `NUL`).\n    --sort-order {AGE,STEAMID,CONN,K,KD,USERNAME}\n                        Choose sort order (fkey: `F7`) (default: `KD`).\n\n#### Debugging options\n    --single-step       Single-step at startup.\n    --break LINENO      Single-step at line `LINENO`.\n    --search PATTERN    Single-step when line matches `PATTERN`; add `/i` to\n                        ignore case.\n    --inject-cmd LINENO:CMD\n                        Inject `CMD` before line `LINENO`.\n    --inject-file FILE  Read list of inject commands from `FILE`.\n    --allow-toggles     Allow toggles when `--rewind` (default: `False`).\n\n#### Database options\n    --database FILE     Main database (default: `~/.cache/tf2mon/tf2mon.db`).\n    --hackers FILE      Hackers database (default:\n                        `~/.cache/tf2mon/hackers.json`).\n    --print-steamids STEAMID [STEAMID ...]\n                        Print `ISteamUser.GetPlayerSummaries` for `STEAMID`\n                        and exit.\n    --print-hackers     Print hackers database and exit.\n\n#### Configuration file\n  The configuration file (see `--config FILE` below) defines local\n  settings:\n  \n      [tf2mon]\n      tf2_install_dir = \"/path/to/your/tf2/installation\"\n      webapi_key = \"your-steamworks-webapi-key\"\n      player_name = \"Your Name\"\n\n#### Function Keys\n  These function keys are available in-game and in the monitor:\n  \n                 F1 Display Help.\n            ctrl+F1 Display Message of the Day.\n           shift+F1 Display file.\n                 F2 Enable/disable debug (use `ECHO` or `SAY`).\n                 F3 Enable/disable `Taunt` messages.\n           shift+F3 Enable/disable `Throe` messages.\n                 F4 Include `Kill/Death ratio` in `User.moniker`.\n           shift+F4 Display kills in journal window.\n                 F5 Cycle contents of User Panel.\n           shift+F5 Display perks in journal window.\n                 F6 Join Other Team.\n                 F7 Cycle scoreboard Sort column.\n                 F8 Cycle logger `location` format.\n            ctrl+F8 Reset logger `padding`.\n           shift+F8 Cycle logger `level`.\n                 F9 Cycle grid layout.\n            ctrl+F9 Refresh chat window(s).\n           shift+F9 Clear chat window(s).\n             KP_INS Show debugging.\n             KP_DEL Start single-stepping.\n                  [ Kick last killer as `cheater`.\n                  ] Kick last killer as `racist`.\n                  \\ Mark last killer as `suspect`.\n            KP_HOME Pop last/latest kicks queue message.\n       KP_LEFTARROW Clear kicks queue.\n             KP_END Pop first/oldest kicks queue message.\n            KP_PGUP Pop last/latest spams queue message.\n      KP_RIGHTARROW Clear spams queue.\n            KP_PGDN Pop first/oldest spams queue message.\n               KP_5 Clear kicks and spams queues.\n       KP_DOWNARROW Push `steamids` from game to monitor.\n\n#### In-Game Controls, Numpad\n  While playing TF2, use the `Numpad` to kick cheaters, and generate\n  `Taunt` and death-`Throe` spam.\n  \n  Messages are placed into queues, and may be popped off either end.\n  \n      Queues -->    Kicks     Admin     Spams\n                      |         |         |\n                      v         v         v\n                 +---------+---------+---------+\n      last/      |         |         |         |\n      newest --> |   pop   |         |   pop   |\n                 |         |         |         |\n                 +---------+---------+---------+\n                 |         |         |         |\n                 |  clear  |  clear  |  clear  |\n                 |         |  both   |         |\n                 +---------+---------+---------+\n      first/     |         |         |         |\n      oldest --> | popleft |  vet    | popleft |\n                 |         |         |         |\n                 +---------+---------+---------+\n  \n  To vet new players that have joined the game, `tf2mon` needs their\n  `steamid`s, and to get them, gamer must press `NUMPAD-DOWNARROW`. The\n  `status` panel will be highlighted when the monitor needs steamids.\n  \n  When detected, `tf2mon` pushes hackers onto the `Kicks` queue, and\n  alerts the gamer, who may then press `HOME`/`END` to issue `CHAT`\n  and `CALLVOTE KICK` commands.\n  \n  When gamer kills an opponent, `tf2mon` pushes a `Taunt` onto the\n  `Spams` queue; on death, a `Throe`. Enable/disable with `F3`. Send\n  with `PGUP`/`PGDN`.\n  \n  The monitor can only push actions onto the queues; gamer must pop\n  for action to be taken, or clear to discard.\n\n#### Duels\n  The user-panel displays battles with opponents, grouped by weapon (and\n  its state when fired).\n  \n      \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n      \u2502Duels:                                                               \u2502\n      \u2502 4 and  2 vs GLaDOS                                                  \u2502\n      \u2502             K  2 soldier        quake_rl                            \u2502\n      \u2502             K  1 pyro           flamethrower                        \u2502\n      \u2502             K  1 pyro     +crit flamethrower         +Low Gravity   \u2502\n      \u2502             D  2 heavy          minigun                             \u2502\n      \u2502 5 and  0 vs CreditToTeam                                            \u2502\n      \u2502             K  2 soldier        quake_rl                            \u2502\n      \u2502             K  2 pyro     +crit flamethrower                        \u2502\n      \u2502             K  1 pyro           flamethrower                        \u2502\n      \u2502 3 and  1 vs Aperture Science Prototype XR7                          \u2502\n      \u2502             K  1 soldier        world                               \u2502\n      \u2502             K  1 soldier        quake_rl             +Invisibility  \u2502\n      \u2502             K  1 pyro     +crit flamethrower                        \u2502\n      \u2502             D  1 demo           player                              \u2502\n      \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n#### Where to Operate\n  `tf2mon` works by reading the `con_logfile` to which `TF2` logs\n  messages during the game. `tf2mon` can either \"tail -f\" an active\n  game, or `--rewind` and replay saved logfiles. Press `Enter` in the\n  admin console to process the next line when in `--single-step` mode.\n  Type `quit` or press `^D` to exit.\n  \n      `One-machine, Two-monitors`\n          Run `tf2mon` on a secondary monitor, while playing game on\n          primary monitor.\n  \n      `Two-machines, SSH`\n          ssh from another machine and run.\n  \n      `Two-machines, NFS`\n          cross-mount TF2's `cfg` tree to another box and run from there.\n\n#### Terminal Size\n  `tf2mon` requires a large terminal. Maximize the window, and use keys\n  (maybe `Ctrl-Minus` and `Shift-Ctrl-Plus`) to resize. The wider the\n  terminal, the more player data will be displayed:\n  \n      36x146 minimum\n      42x173 display personaname\n      52x211 display realname\n      62x272 display age/location\n\n#### Resizable Windows\n  `Drag-and-drop` an interior border to resize the windows on either side.\n  \n  `Double-click` an interior border to enter `Resize Mode`.\n      `scroll-wheel` and `arrows` move the border.\n      `click`, `enter` or `esc` to exit.\n\n#### Scoreboard\n  `Single-click` user to highlight and follow.\n  `Double-click` user to kick as cheater.\n  `Triple-click` user to kick as racist.\n  `F7` to change sort column.\n\n#### Log Files\n  `tf2mon` writes plaintext messages to `fileno(2)`, and\n  colorized messages to `fileno(3)`, when open to a regular file.\n  \n      $ tf2mon 2>x 3>y\n\n#### General options\n    -h, --help          Show this help message and exit.\n    -v, --verbose       `-v` for detailed output and `-vv` for more detailed.\n    -V, --version       Print version number and exit.\n    --config FILE       Use config `FILE` (default: `~/.tf2mon.toml`).\n    --print-config      Print effective config and exit.\n    --print-url         Print project url and exit.\n    --completion [SHELL]\n                        Print completion scripts for `SHELL` and exit\n                        (default: `bash`).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Team Fortress 2 Console Monitor",
    "version": "1.0.45",
    "project_urls": {
        "Homepage": "https://github.com/russellane/tf2mon"
    },
    "split_keywords": [
        "tf2",
        " team-fortress-2",
        " steam",
        " valve",
        " bots",
        " cathook"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0b3267737b31d587adea89981498ca346eaf7b77256290917d3c8f113715ae7e",
                "md5": "e435b45e670d441f8fa880fecae5959c",
                "sha256": "0afbc43801d510d900ed5896ca200ca7e9527d3a47acf979446cce6f9e886379"
            },
            "downloads": -1,
            "filename": "tf2mon-1.0.45-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e435b45e670d441f8fa880fecae5959c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 73038,
            "upload_time": "2024-11-02T23:02:05",
            "upload_time_iso_8601": "2024-11-02T23:02:05.807305Z",
            "url": "https://files.pythonhosted.org/packages/0b/32/67737b31d587adea89981498ca346eaf7b77256290917d3c8f113715ae7e/tf2mon-1.0.45-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83c6a0dc4950d7a54e4c41b768ef80e515f58645699f3ee64ea40c4a672ddae4",
                "md5": "d5455395983408bb7a4a4b0cbdd8d816",
                "sha256": "dd27e0468787bf70504b60948bf3e6c39e3f2376741cfc9ab5f7e8679f51088d"
            },
            "downloads": -1,
            "filename": "tf2mon-1.0.45.tar.gz",
            "has_sig": false,
            "md5_digest": "d5455395983408bb7a4a4b0cbdd8d816",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 64570,
            "upload_time": "2024-11-02T23:02:07",
            "upload_time_iso_8601": "2024-11-02T23:02:07.120949Z",
            "url": "https://files.pythonhosted.org/packages/83/c6/a0dc4950d7a54e4c41b768ef80e515f58645699f3ee64ea40c4a672ddae4/tf2mon-1.0.45.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-02 23:02:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "russellane",
    "github_project": "tf2mon",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "tf2mon"
}
        
Elapsed time: 0.33680s