openapi-python-client icon indicating copy to clipboard operation
openapi-python-client copied to clipboard

UNSET values in `repr` are extremely verbose

Open forest-benchling opened this issue 4 years ago • 0 comments

Is your feature request related to a problem? Please describe. When printing out models, we often get extremely verbose strings, such as:

CustomEntityUpdate(entity_registry_id=<benchling_api_client.types.Unset object at
0x10453d2b0>, author_ids=<benchling_api_client.types.Unset object at 0x10453d2b0>, 
aliases=<benchling_api_client.types.Unset object at 0x10453d2b0>, custom_fields=
<benchling_api_client.types.Unset object at 0x10453d2b0>, 
fields=Fields(additional_properties={'Request 1': Field(value='test_plate', 
display_value=<benchling_api_client.types.Unset object at 0x10453d2b0>, is_multi=
<benchling_api_client.types.Unset object at 0x10453d2b0>, text_value=
<benchling_api_client.types.Unset object at 0x10453d2b0>, type=
<benchling_api_client.types.Unset object at 0x10453d2b0>), 'Request 2': 
Field(value='test_plate', display_value=<benchling_api_client.types.Unset object at 
0x10453d2b0>, is_multi=<benchling_api_client.types.Unset object at 0x10453d2b0>, 
text_value=<benchling_api_client.types.Unset object at 0x10453d2b0>, type=
<benchling_api_client.types.Unset object at 0x10453d2b0>), 'Request 3': 
Field(value='test_plate', display_value=<benchling_api_client.types.Unset object at 
0x10453d2b0>, is_multi=<benchling_api_client.types.Unset object at 0x10453d2b0>, 
text_value=<benchling_api_client.types.Unset object at 0x10453d2b0>, type=
<benchling_api_client.types.Unset object at 0x10453d2b0>)}), folder_id=
<benchling_api_client.types.Unset object at 0x10453d2b0>, name=
<benchling_api_client.types.Unset object at 0x10453d2b0>, schema_id=
<benchling_api_client.types.Unset object at 0x10453d2b0>)

This makes debugging much more challenging.

Describe the solution you'd like Ideally it would print

CustomEntityUpdate(fields=Fields(additional_properties={'Request 1': 
Field(value='test_plate'), 'Request 2': Field(value='test_plate'), 'Request 3': 
Field(value='test_plate')}))

Describe alternatives you've considered It would also be an improvement if the repr of UNSET itself was shortened. I know @dbanty mentioned a PEP a while back that would allow us to make it a sentinel.

Additional context cc @GitOnUp

forest-benchling avatar Aug 02 '21 14:08 forest-benchling