google / google/python-fire

Provide strict mode

Đang mở
#226 2 bình luận 13 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
Python
Star
28.2k
Fork
1.5k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

You already mentioned to plan to add a strict mode to python-fire in https://github.com/google/python-fire/issues/221 and https://github.com/google/python-fire/issues/222. I would highly appreciate this, so I am opening a new issue for this.

The problem with CLI facing function is that MyPy cannot help here. The type of the input arguments depends on how python-fire (or other CLI parsers) parse the arguments. Thus type hinting cannot spot errors. I for myself had strings were I expected a number (e.g. by passing in "02" instead of "2") or lists where I expected strings (erroneous trailing comma "foobar,"). There is no way to catch this except for explicitly checking for it.

I am currently experimenting with [[https://pypi.org/project/dpcontracts/|dpcontracts]] and https://github.com/RussBaz/enforce to prevent CLI induced errors. However, strict mode would make things much easier here.

One requirement for me would be that I can enable strict mode from within the script. Having to pass `--strict`` all the time would not prevent errors due to wrong usage.

I would be very glad to see this comming.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.