You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seemed like Optional[str] argument with None as its default value breaks the specified argument alias.
See the minimal example below where the --vid alias for vendor_id fails to be recognized while the --pid alias for product-id works.
from typing import Annotated, Optional
import tyro
def detect_usb_device(
vendor_id: Annotated[Optional[str], tyro.conf.arg(aliases=["--vid"])] = None,
product_id: Annotated[Optional[str], tyro.conf.arg(aliases=["--pid"])] = "",
) -> None:
"""
Detect connected USB device by vendor_id + product_id.
:param vendor_id: vendor_id of a specific USB device.
:param product_id: product_id of a specific USB device.
"""
print(f"{vendor_id=} {product_id=}")
if __name__ == "__main__":
tyro.cli(detect_usb_device)
root@machine:/scripts# python3 test.py -h
usage: test.py [-h] [--vendor-id {None}|{None}|STR] [--product-id {None}|STR]
Detect connected USB device by vendor_id + product_id.
╭─ options ─────────────────────────────────────────────────────────────╮
│ -h, --help show this help message and exit │
│ --vendor-id {None}|{None}|STR │
│ vendor_id of a specific USB device. (default: None) │
│ --product-id {None}|STR, --pid {None}|STR │
│ product_id of a specific USB device. (default: '') │
╰───────────────────────────────────────────────────────────────────────╯
root@machine:/scripts# python3 test.py --vid 1234
╭─ Unrecognized options ────────────────╮
│ Unrecognized options: --vid │
│ ───────────────────────────────────── │
│ For full helptext, run test.py --help │
╰───────────────────────────────────────╯
The text was updated successfully, but these errors were encountered:
It seemed like
Optional[str]
argument withNone
as its default value breaks the specified argument alias.See the minimal example below where the
--vid
alias forvendor_id
fails to be recognized while the--pid
alias forproduct-id
works.The text was updated successfully, but these errors were encountered: