sip.pyi 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. # SPDX-License-Identifier: BSD-2-Clause
  2. # Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
  3. from typing import Any, Generic, Iterable, overload, Sequence, TypeVar, Union
  4. # PEP 484 has no explicit support for the buffer protocol so we just name types
  5. # we know that implement it.
  6. Buffer = Union[bytes, bytearray, memoryview, 'array', 'voidptr']
  7. # Constants.
  8. SIP_VERSION = ... # type: int
  9. SIP_VERSION_STR = ... # type: str
  10. # The bases for SIP generated types.
  11. class wrappertype:
  12. def __init__(self, *args, **kwargs) -> None: ...
  13. class simplewrapper:
  14. def __init__(self, *args, **kwargs) -> None: ...
  15. class wrapper(simplewrapper): ...
  16. # The array type.
  17. _T = TypeVar('_T')
  18. class array(Sequence[_T], Generic[_T]):
  19. @overload
  20. def __getitem__(self, key: int) -> _T: ...
  21. @overload
  22. def __getitem__(self, key: slice) -> 'array[_T]': ...
  23. @overload
  24. def __setitem__(self, key: int, value: _T) -> None: ...
  25. @overload
  26. def __setitem__(self, key: slice, value: Iterable[_T]) -> None: ...
  27. @overload
  28. def __delitem__(self, key: int) -> None: ...
  29. @overload
  30. def __delitem__(self, key: slice) -> None: ...
  31. def __len__(self) -> int: ...
  32. # The voidptr type.
  33. class voidptr:
  34. def __init__(self, addr: Union[int, Buffer], size: int = -1, writeable: bool = True) -> None: ...
  35. def __int__(self) -> int: ...
  36. @overload
  37. def __getitem__(self, i: int) -> bytes: ...
  38. @overload
  39. def __getitem__(self, s: slice) -> 'voidptr': ...
  40. def __len__(self) -> int: ...
  41. def __setitem__(self, i: Union[int, slice], v: Buffer) -> None: ...
  42. def asarray(self, size: int = -1) -> array[int]: ...
  43. # Python doesn't expose the capsule type.
  44. def ascapsule(self) -> Any: ...
  45. def asstring(self, size: int = -1) -> bytes: ...
  46. def getsize(self) -> int: ...
  47. def getwriteable(self) -> bool: ...
  48. def setsize(self, size: int) -> None: ...
  49. def setwriteable(self, writeable: bool) -> None: ...
  50. # Remaining functions.
  51. def assign(obj: simplewrapper, other: simplewrapper) -> None: ...
  52. def cast(obj: simplewrapper, type: wrappertype) -> simplewrapper: ...
  53. def delete(obj: simplewrapper) -> None: ...
  54. def dump(obj: simplewrapper) -> None: ...
  55. def enableautoconversion(type: wrappertype, enable: bool) -> bool: ...
  56. def isdeleted(obj: simplewrapper) -> bool: ...
  57. def ispycreated(obj: simplewrapper) -> bool: ...
  58. def ispyowned(obj: simplewrapper) -> bool: ...
  59. def setdeleted(obj: simplewrapper) -> None: ...
  60. def settracemask(mask: int) -> None: ...
  61. def transferback(obj: wrapper) -> None: ...
  62. def transferto(obj: wrapper, owner: wrapper) -> None: ...
  63. def unwrapinstance(obj: simplewrapper) -> None: ...
  64. def wrapinstance(addr: int, type: wrappertype) -> simplewrapper: ...