- Notifications
You must be signed in to change notification settings - Fork 204
Open
Description
Now that shotgun is supposed to by py3.7 only, it would be great to add type hints for a better experience in IDE. currently in VS code with Pylance for instance, the inferred types for find() aren't great:
deffind( self: Self@Shotgun, entity_type: Unknown, filters: Unknown, fields: Unknown|None=None, order: Unknown|None=None, filter_operator: Unknown|None=None, limit: int=0, retired_only: bool=False, page: int=0, include_archived_projects: bool=True, additional_filter_presets: Unknown|None=None ) -> (list[Unknown] |tuple[Unknown])If we explicitly type hint it like so:
deffind( self, entity_type: str, filters: Iterable[Union[Iterable, Dict[str, Any]]], fields: Optional[Iterable[str]] =None, order: Optional[Iterable[Dict[str, str]]] =None, filter_operator: Union[Literal['all'], Literal['any']] =None, limit: int=0, retired_only: bool=False, page: int=0, include_archived_projects: bool=True, additional_filter_presets: Optional[Iterable[str]]=None, ) ->List[Dict[str, Any]]:We would have a better experience with static type checkers, and a better experience interacting with the shotgun API from our IDEs.
If for some reason we still want to support python 2 despite officially being 3.7+, we can do the same thing with python 2 compatible comment-style type hints.
Either way, adding hints to the most common methods (find, find_one, create, update, delete, revive, batch, schema_read, ...) would make development smoother!
slingshotsys and marza-sergey
Metadata
Metadata
Assignees
Labels
No labels