import os
import argclass
class Parser(argclass.Parser):
token: list[str] = argclass.Argument(type=str, nargs='*')
parser = Parser(auto_env_var_prefix='APP_')
parser.parse_args(['--token', 'token1'])
print(parser.token) # [token1], ok
parser.parse_args(['--token=token1', '--token=token2'])
print(parser.token) # [token2], not ok
parser.parse_args(['--token', 'token1', '--token', 'token2'])
print(parser.token) # [token2], not ok
os.environ['APP_TOKEN'] = '["token1","token2"]'
parser.parse_args()
print(parser.token) # [token1,token2] ok
# ValueError: malformed node or string on line 1: <ast.Name object at 0x100be1180>
os.environ['APP_TOKEN'] = 'token1'
parser.parse_args() # not ok