basedpyright 1.18.3 → 1.18.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +3 -3
  2. package/dist/pyright-langserver.js +1 -1
  3. package/dist/pyright-langserver.js.map +1 -1
  4. package/dist/pyright.js +1 -1
  5. package/dist/pyright.js.map +1 -1
  6. package/dist/typeshed-fallback/commit.txt +1 -1
  7. package/dist/typeshed-fallback/stdlib/VERSIONS +2 -0
  8. package/dist/typeshed-fallback/stdlib/_ast.pyi +140 -1667
  9. package/dist/typeshed-fallback/stdlib/_csv.pyi +14 -3
  10. package/dist/typeshed-fallback/stdlib/_curses.pyi +857 -65
  11. package/dist/typeshed-fallback/stdlib/_decimal.pyi +29 -820
  12. package/dist/typeshed-fallback/stdlib/_socket.pyi +4 -12
  13. package/dist/typeshed-fallback/stdlib/_sqlite3.pyi +387 -0
  14. package/dist/typeshed-fallback/stdlib/_ssl.pyi +406 -0
  15. package/dist/typeshed-fallback/stdlib/_weakref.pyi +2 -41
  16. package/dist/typeshed-fallback/stdlib/ast.pyi +1843 -172
  17. package/dist/typeshed-fallback/stdlib/builtins.pyi +5 -0
  18. package/dist/typeshed-fallback/stdlib/cProfile.pyi +3 -3
  19. package/dist/typeshed-fallback/stdlib/calendar.pyi +3 -3
  20. package/dist/typeshed-fallback/stdlib/concurrent/futures/process.pyi +3 -2
  21. package/dist/typeshed-fallback/stdlib/contextlib.pyi +6 -8
  22. package/dist/typeshed-fallback/stdlib/csv.pyi +4 -3
  23. package/dist/typeshed-fallback/stdlib/curses/__init__.pyi +7 -2
  24. package/dist/typeshed-fallback/stdlib/curses/panel.pyi +4 -4
  25. package/dist/typeshed-fallback/stdlib/curses/textpad.pyi +3 -3
  26. package/dist/typeshed-fallback/stdlib/decimal.pyi +840 -2
  27. package/dist/typeshed-fallback/stdlib/email/_policybase.pyi +27 -18
  28. package/dist/typeshed-fallback/stdlib/email/feedparser.pyi +5 -5
  29. package/dist/typeshed-fallback/stdlib/email/generator.pyi +46 -9
  30. package/dist/typeshed-fallback/stdlib/email/message.pyi +8 -6
  31. package/dist/typeshed-fallback/stdlib/email/parser.pyi +6 -4
  32. package/dist/typeshed-fallback/stdlib/email/policy.pyi +28 -10
  33. package/dist/typeshed-fallback/stdlib/http/client.pyi +3 -2
  34. package/dist/typeshed-fallback/stdlib/io.pyi +6 -22
  35. package/dist/typeshed-fallback/stdlib/multiprocessing/connection.pyi +27 -19
  36. package/dist/typeshed-fallback/stdlib/multiprocessing/context.pyi +5 -2
  37. package/dist/typeshed-fallback/stdlib/multiprocessing/managers.pyi +4 -2
  38. package/dist/typeshed-fallback/stdlib/multiprocessing/reduction.pyi +2 -2
  39. package/dist/typeshed-fallback/stdlib/profile.pyi +3 -3
  40. package/dist/typeshed-fallback/stdlib/pyexpat/__init__.pyi +1 -5
  41. package/dist/typeshed-fallback/stdlib/re.pyi +10 -1
  42. package/dist/typeshed-fallback/stdlib/socket.pyi +12 -4
  43. package/dist/typeshed-fallback/stdlib/sqlite3/__init__.pyi +739 -1
  44. package/dist/typeshed-fallback/stdlib/sqlite3/dbapi2.pyi +220 -884
  45. package/dist/typeshed-fallback/stdlib/sre_constants.pyi +1 -8
  46. package/dist/typeshed-fallback/stdlib/ssl.pyi +40 -128
  47. package/dist/typeshed-fallback/stdlib/tarfile.pyi +111 -6
  48. package/dist/typeshed-fallback/stdlib/tkinter/__init__.pyi +127 -21
  49. package/dist/typeshed-fallback/stdlib/tokenize.pyi +1 -1
  50. package/dist/typeshed-fallback/stdlib/typing.pyi +7 -7
  51. package/dist/typeshed-fallback/stdlib/typing_extensions.pyi +1 -1
  52. package/dist/typeshed-fallback/stdlib/unittest/mock.pyi +2 -2
  53. package/dist/typeshed-fallback/stdlib/weakref.pyi +49 -14
  54. package/dist/typeshed-fallback/stdlib/xml/parsers/expat/__init__.pyi +6 -0
  55. package/dist/typeshed-fallback/stdlib/xmlrpc/client.pyi +1 -1
  56. package/dist/typeshed-fallback/stdlib/xmlrpc/server.pyi +3 -2
  57. package/dist/typeshed-fallback/stdlib/zoneinfo/__init__.pyi +41 -44
  58. package/dist/typeshed-fallback/stdlib/zoneinfo/_common.pyi +13 -0
  59. package/dist/typeshed-fallback/stdlib/zoneinfo/_tzpath.pyi +13 -0
  60. package/dist/typeshed-fallback/stubs/Flask-SocketIO/METADATA.toml +1 -1
  61. package/dist/typeshed-fallback/stubs/braintree/METADATA.toml +1 -1
  62. package/dist/typeshed-fallback/stubs/braintree/braintree/error_codes.pyi +1 -0
  63. package/dist/typeshed-fallback/stubs/docutils/docutils/__init__.pyi +3 -1
  64. package/dist/typeshed-fallback/stubs/docutils/docutils/frontend.pyi +1 -2
  65. package/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/admonitions.pyi +15 -2
  66. package/dist/typeshed-fallback/stubs/docutils/docutils/readers/doctree.pyi +1 -1
  67. package/dist/typeshed-fallback/stubs/docutils/docutils/writers/__init__.pyi +21 -2
  68. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/fpdf.pyi +4 -4
  69. package/dist/typeshed-fallback/stubs/greenlet/METADATA.toml +1 -1
  70. package/dist/typeshed-fallback/stubs/hdbcli/METADATA.toml +1 -1
  71. package/dist/typeshed-fallback/stubs/icalendar/METADATA.toml +5 -2
  72. package/dist/typeshed-fallback/stubs/icalendar/icalendar/__init__.pyi +49 -5
  73. package/dist/typeshed-fallback/stubs/icalendar/icalendar/cal.pyi +32 -6
  74. package/dist/typeshed-fallback/stubs/icalendar/icalendar/caselessdict.pyi +2 -0
  75. package/dist/typeshed-fallback/stubs/icalendar/icalendar/parser.pyi +25 -1
  76. package/dist/typeshed-fallback/stubs/icalendar/icalendar/parser_tools.pyi +7 -3
  77. package/dist/typeshed-fallback/stubs/icalendar/icalendar/prop.pyi +112 -72
  78. package/dist/typeshed-fallback/stubs/icalendar/icalendar/timezone/__init__.pyi +8 -0
  79. package/dist/typeshed-fallback/stubs/icalendar/icalendar/timezone/provider.pyi +29 -0
  80. package/dist/typeshed-fallback/stubs/icalendar/icalendar/timezone/pytz.pyi +22 -0
  81. package/dist/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzp.pyi +30 -0
  82. package/dist/typeshed-fallback/stubs/icalendar/icalendar/timezone/zoneinfo.pyi +33 -0
  83. package/dist/typeshed-fallback/stubs/icalendar/icalendar/tools.pyi +2 -0
  84. package/dist/typeshed-fallback/stubs/icalendar/icalendar/version.pyi +8 -0
  85. package/dist/typeshed-fallback/stubs/jwcrypto/METADATA.toml +3 -0
  86. package/dist/typeshed-fallback/stubs/jwcrypto/jwcrypto/common.pyi +48 -0
  87. package/dist/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwa.pyi +35 -0
  88. package/dist/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwe.pyi +51 -0
  89. package/dist/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwk.pyi +115 -0
  90. package/dist/typeshed-fallback/stubs/jwcrypto/jwcrypto/jws.pyi +52 -0
  91. package/dist/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwt.pyi +78 -0
  92. package/dist/typeshed-fallback/stubs/m3u8/METADATA.toml +2 -0
  93. package/dist/typeshed-fallback/stubs/m3u8/m3u8/__init__.pyi +74 -0
  94. package/dist/typeshed-fallback/stubs/m3u8/m3u8/httpclient.pyi +19 -0
  95. package/dist/typeshed-fallback/stubs/m3u8/m3u8/mixins.pyi +25 -0
  96. package/dist/typeshed-fallback/stubs/m3u8/m3u8/model.pyi +406 -0
  97. package/dist/typeshed-fallback/stubs/m3u8/m3u8/parser.pyi +14 -0
  98. package/dist/typeshed-fallback/stubs/m3u8/m3u8/protocol.pyi +41 -0
  99. package/dist/typeshed-fallback/stubs/m3u8/m3u8/version_matching.pyi +5 -0
  100. package/dist/typeshed-fallback/stubs/m3u8/m3u8/version_matching_rules.pyi +24 -0
  101. package/dist/typeshed-fallback/stubs/paramiko/paramiko/transport.pyi +2 -1
  102. package/dist/typeshed-fallback/stubs/protobuf/METADATA.toml +2 -2
  103. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pb2.pyi +4 -3
  104. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/well_known_types.pyi +0 -1
  105. package/dist/typeshed-fallback/stubs/pytz/pytz/__init__.pyi +4 -4
  106. package/dist/typeshed-fallback/stubs/pytz/pytz/tzinfo.pyi +1 -1
  107. package/dist/typeshed-fallback/stubs/qrcode/METADATA.toml +3 -2
  108. package/dist/typeshed-fallback/stubs/redis/redis/client.pyi +18 -0
  109. package/dist/typeshed-fallback/stubs/reportlab/METADATA.toml +1 -1
  110. package/dist/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPDF.pyi +2 -2
  111. package/dist/typeshed-fallback/stubs/seaborn/METADATA.toml +9 -1
  112. package/dist/typeshed-fallback/stubs/vobject/vobject/__init__.pyi +4 -0
  113. package/dist/typeshed-fallback/stubs/vobject/vobject/base.pyi +11 -2
  114. package/dist/typeshed-fallback/stubs/vobject/vobject/behavior.pyi +1 -1
  115. package/dist/typeshed-fallback/stubs/vobject/vobject/change_tz.pyi +4 -0
  116. package/dist/typeshed-fallback/stubs/vobject/vobject/ics_diff.pyi +0 -3
  117. package/dist/typeshed-fallback/stubs/vobject/vobject/vcard.pyi +1 -1
  118. package/dist/typeshed-fallback/stubs/waitress/waitress/__init__.pyi +2 -2
  119. package/package.json +1 -1
  120. package/dist/typeshed-fallback/stubs/Pillow/METADATA.toml +0 -8
  121. package/dist/typeshed-fallback/stubs/Pillow/PIL/BdfFontFile.pyi +0 -11
  122. package/dist/typeshed-fallback/stubs/Pillow/PIL/BlpImagePlugin.pyi +0 -39
  123. package/dist/typeshed-fallback/stubs/Pillow/PIL/BmpImagePlugin.pyi +0 -25
  124. package/dist/typeshed-fallback/stubs/Pillow/PIL/BufrStubImagePlugin.pyi +0 -9
  125. package/dist/typeshed-fallback/stubs/Pillow/PIL/ContainerIO.pyi +0 -14
  126. package/dist/typeshed-fallback/stubs/Pillow/PIL/CurImagePlugin.pyi +0 -6
  127. package/dist/typeshed-fallback/stubs/Pillow/PIL/DcxImagePlugin.pyi +0 -13
  128. package/dist/typeshed-fallback/stubs/Pillow/PIL/DdsImagePlugin.pyi +0 -314
  129. package/dist/typeshed-fallback/stubs/Pillow/PIL/EpsImagePlugin.pyi +0 -34
  130. package/dist/typeshed-fallback/stubs/Pillow/PIL/ExifTags.pyi +0 -347
  131. package/dist/typeshed-fallback/stubs/Pillow/PIL/FitsImagePlugin.pyi +0 -7
  132. package/dist/typeshed-fallback/stubs/Pillow/PIL/FliImagePlugin.pyi +0 -9
  133. package/dist/typeshed-fallback/stubs/Pillow/PIL/FontFile.pyi +0 -16
  134. package/dist/typeshed-fallback/stubs/Pillow/PIL/FpxImagePlugin.pyi +0 -23
  135. package/dist/typeshed-fallback/stubs/Pillow/PIL/FtexImagePlugin.pyi +0 -15
  136. package/dist/typeshed-fallback/stubs/Pillow/PIL/GbrImagePlugin.pyi +0 -11
  137. package/dist/typeshed-fallback/stubs/Pillow/PIL/GdImageFile.pyi +0 -9
  138. package/dist/typeshed-fallback/stubs/Pillow/PIL/GifImagePlugin.pyi +0 -31
  139. package/dist/typeshed-fallback/stubs/Pillow/PIL/GimpGradientFile.pyi +0 -19
  140. package/dist/typeshed-fallback/stubs/Pillow/PIL/GimpPaletteFile.pyi +0 -7
  141. package/dist/typeshed-fallback/stubs/Pillow/PIL/GribStubImagePlugin.pyi +0 -9
  142. package/dist/typeshed-fallback/stubs/Pillow/PIL/Hdf5StubImagePlugin.pyi +0 -9
  143. package/dist/typeshed-fallback/stubs/Pillow/PIL/IcnsImagePlugin.pyi +0 -36
  144. package/dist/typeshed-fallback/stubs/Pillow/PIL/IcoImagePlugin.pyi +0 -26
  145. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImImagePlugin.pyi +0 -34
  146. package/dist/typeshed-fallback/stubs/Pillow/PIL/Image.pyi +0 -342
  147. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageChops.pyi +0 -23
  148. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageCms.pyi +0 -84
  149. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageColor.pyi +0 -10
  150. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageDraw.pyi +0 -155
  151. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageDraw2.pyi +0 -37
  152. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageEnhance.pyi +0 -25
  153. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageFile.pyi +0 -89
  154. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageFilter.pyi +0 -136
  155. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageFont.pyi +0 -114
  156. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageGrab.pyi +0 -36
  157. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageMath.pyi +0 -49
  158. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageMode.pyi +0 -10
  159. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageMorph.pyi +0 -26
  160. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageOps.pyi +0 -53
  161. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImagePalette.pyi +0 -26
  162. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImagePath.pyi +0 -3
  163. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageQt.pyi +0 -26
  164. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageSequence.pyi +0 -14
  165. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageShow.pyi +0 -58
  166. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageStat.pyi +0 -14
  167. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageTk.pyi +0 -51
  168. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageTransform.pyi +0 -21
  169. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageWin.pyi +0 -38
  170. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImtImagePlugin.pyi +0 -10
  171. package/dist/typeshed-fallback/stubs/Pillow/PIL/IptcImagePlugin.pyi +0 -23
  172. package/dist/typeshed-fallback/stubs/Pillow/PIL/Jpeg2KImagePlugin.pyi +0 -23
  173. package/dist/typeshed-fallback/stubs/Pillow/PIL/JpegImagePlugin.pyi +0 -30
  174. package/dist/typeshed-fallback/stubs/Pillow/PIL/JpegPresets.pyi +0 -3
  175. package/dist/typeshed-fallback/stubs/Pillow/PIL/McIdasImagePlugin.pyi +0 -7
  176. package/dist/typeshed-fallback/stubs/Pillow/PIL/MicImagePlugin.pyi +0 -18
  177. package/dist/typeshed-fallback/stubs/Pillow/PIL/MpegImagePlugin.pyi +0 -18
  178. package/dist/typeshed-fallback/stubs/Pillow/PIL/MpoImagePlugin.pyi +0 -15
  179. package/dist/typeshed-fallback/stubs/Pillow/PIL/MspImagePlugin.pyi +0 -10
  180. package/dist/typeshed-fallback/stubs/Pillow/PIL/PSDraw.pyi +0 -19
  181. package/dist/typeshed-fallback/stubs/Pillow/PIL/PaletteFile.pyi +0 -7
  182. package/dist/typeshed-fallback/stubs/Pillow/PIL/PalmImagePlugin.pyi +0 -5
  183. package/dist/typeshed-fallback/stubs/Pillow/PIL/PcdImagePlugin.pyi +0 -10
  184. package/dist/typeshed-fallback/stubs/Pillow/PIL/PcfFontFile.pyi +0 -25
  185. package/dist/typeshed-fallback/stubs/Pillow/PIL/PcxImagePlugin.pyi +0 -10
  186. package/dist/typeshed-fallback/stubs/Pillow/PIL/PdfParser.pyi +0 -167
  187. package/dist/typeshed-fallback/stubs/Pillow/PIL/PixarImagePlugin.pyi +0 -7
  188. package/dist/typeshed-fallback/stubs/Pillow/PIL/PngImagePlugin.pyi +0 -115
  189. package/dist/typeshed-fallback/stubs/Pillow/PIL/PpmImagePlugin.pyi +0 -17
  190. package/dist/typeshed-fallback/stubs/Pillow/PIL/PsdImagePlugin.pyi +0 -17
  191. package/dist/typeshed-fallback/stubs/Pillow/PIL/PyAccess.pyi +0 -69
  192. package/dist/typeshed-fallback/stubs/Pillow/PIL/QoiImagePlugin.pyi +0 -11
  193. package/dist/typeshed-fallback/stubs/Pillow/PIL/SgiImagePlugin.pyi +0 -13
  194. package/dist/typeshed-fallback/stubs/Pillow/PIL/SpiderImagePlugin.pyi +0 -28
  195. package/dist/typeshed-fallback/stubs/Pillow/PIL/SunImagePlugin.pyi +0 -7
  196. package/dist/typeshed-fallback/stubs/Pillow/PIL/TarIO.pyi +0 -12
  197. package/dist/typeshed-fallback/stubs/Pillow/PIL/TgaImagePlugin.pyi +0 -12
  198. package/dist/typeshed-fallback/stubs/Pillow/PIL/TiffImagePlugin.pyi +0 -295
  199. package/dist/typeshed-fallback/stubs/Pillow/PIL/TiffTags.pyi +0 -46
  200. package/dist/typeshed-fallback/stubs/Pillow/PIL/WalImageFile.pyi +0 -14
  201. package/dist/typeshed-fallback/stubs/Pillow/PIL/WebPImagePlugin.pyi +0 -18
  202. package/dist/typeshed-fallback/stubs/Pillow/PIL/WmfImagePlugin.pyi +0 -19
  203. package/dist/typeshed-fallback/stubs/Pillow/PIL/XVThumbImagePlugin.pyi +0 -9
  204. package/dist/typeshed-fallback/stubs/Pillow/PIL/XbmImagePlugin.pyi +0 -10
  205. package/dist/typeshed-fallback/stubs/Pillow/PIL/XpmImagePlugin.pyi +0 -11
  206. package/dist/typeshed-fallback/stubs/Pillow/PIL/__init__.pyi +0 -3
  207. package/dist/typeshed-fallback/stubs/Pillow/PIL/_binary.pyi +0 -13
  208. package/dist/typeshed-fallback/stubs/Pillow/PIL/_imaging.pyi +0 -29
  209. package/dist/typeshed-fallback/stubs/Pillow/PIL/_tkinter_finder.pyi +0 -2
  210. package/dist/typeshed-fallback/stubs/Pillow/PIL/_version.pyi +0 -1
  211. package/dist/typeshed-fallback/stubs/Pillow/PIL/features.pyi +0 -23
  212. package/dist/typeshed-fallback/stubs/icalendar/icalendar/timezone_cache.pyi +0 -0
  213. /package/dist/typeshed-fallback/stubs/icalendar/icalendar/{windows_to_olson.pyi → timezone/windows_to_olson.pyi} +0 -0
  214. /package/dist/typeshed-fallback/stubs/{Pillow/PIL/PdfImagePlugin.pyi → jwcrypto/jwcrypto/__init__.pyi} +0 -0
@@ -0,0 +1,406 @@
1
+ import datetime as dt
2
+ from _typeshed import Incomplete, StrOrBytesPath
3
+ from collections.abc import Callable, Mapping
4
+ from typing import ClassVar, Literal, Protocol, TypeVar, type_check_only
5
+ from typing_extensions import TypeAlias
6
+
7
+ from m3u8.mixins import BasePathMixin, GroupedBasePathMixin
8
+ from m3u8.protocol import ext_x_map, ext_x_session_key
9
+
10
+ _T = TypeVar("_T")
11
+ _CustomTagsParser: TypeAlias = Callable[[str, int, dict[str, Incomplete], dict[str, Incomplete]], object]
12
+
13
+ @type_check_only
14
+ class _PlaylistProtocol(Protocol):
15
+ base_uri: str | None
16
+ uri: str | None
17
+ @property
18
+ def absolute_uri(self) -> str: ...
19
+ @property
20
+ def base_path(self) -> str: ...
21
+ @base_path.setter
22
+ def base_path(self, newbase_path: str) -> None: ...
23
+ def get_path_from_uri(self) -> str: ...
24
+
25
+ _PlaylistAnyT = TypeVar("_PlaylistAnyT", bound=_PlaylistProtocol)
26
+
27
+ class MalformedPlaylistError(Exception): ...
28
+
29
+ class M3U8:
30
+ simple_attributes: list[tuple[str, str]]
31
+ data: dict[str, Incomplete]
32
+ keys: list[Key]
33
+ segment_map: list[InitializationSection]
34
+ segments: SegmentList
35
+ files: list[str | None]
36
+ media: MediaList
37
+ playlists: PlaylistList[Playlist]
38
+ iframe_playlists: PlaylistList[IFramePlaylist]
39
+ image_playlists: PlaylistList[ImagePlaylist]
40
+ start: Start
41
+ server_control: ServerControl
42
+ part_inf: PartInformation
43
+ skip: Skip
44
+ rendition_reports: RenditionReportList
45
+ session_data: SessionDataList
46
+ session_keys: list[SessionKey | None]
47
+ preload_hint: PreloadHint
48
+ content_steering: ContentSteering
49
+
50
+ # inserted via setattr()
51
+
52
+ is_variant: bool | None
53
+ is_endlist: bool | None
54
+ is_i_frames_only: bool | None
55
+ target_duration: float | None
56
+ media_sequence: int | None
57
+ program_date_time: str | None
58
+ is_independent_segments: bool | None
59
+ version: str | None
60
+ allow_cache: str | None
61
+ playlist_type: str | None
62
+ discontinuity_sequence: Incomplete | None # undocmented
63
+ is_images_only: bool | None
64
+
65
+ def __init__(
66
+ self,
67
+ content: str | None = None,
68
+ base_path: str | None = None,
69
+ base_uri: str | None = None,
70
+ strict: bool = False,
71
+ custom_tags_parser: _CustomTagsParser | None = None,
72
+ ) -> None: ...
73
+ @property
74
+ def base_uri(self) -> str | None: ...
75
+ @base_uri.setter
76
+ def base_uri(self, new_base_uri: str) -> None: ...
77
+ @property
78
+ def base_path(self) -> str | None: ...
79
+ @base_path.setter
80
+ def base_path(self, newbase_path: str) -> None: ...
81
+ def add_playlist(self, playlist: Playlist) -> None: ...
82
+ def add_iframe_playlist(self, iframe_playlist: IFramePlaylist) -> None: ...
83
+ def add_image_playlist(self, image_playlist: ImagePlaylist) -> None: ...
84
+ def add_media(self, media: Media) -> None: ...
85
+ def add_segment(self, segment: Segment) -> None: ...
86
+ def add_rendition_report(self, report: RenditionReport) -> None: ...
87
+ def dumps(self, timespec: str = "milliseconds", infspec: str = "auto") -> str: ...
88
+ def dump(self, filename: StrOrBytesPath) -> None: ...
89
+ def __unicode__(self) -> str: ...
90
+
91
+ class Segment(BasePathMixin):
92
+ media_sequence: int | None
93
+ uri: str | None
94
+ duration: float | None
95
+ title: str
96
+ bitrate: int | None
97
+ byterange: str | None
98
+ program_date_time: dt.datetime | None
99
+ current_program_date_time: dt.datetime | None
100
+ discontinuity: bool
101
+ cue_out_start: bool
102
+ cue_out_explicitly_duration: bool
103
+ cue_out: bool
104
+ cue_in: bool
105
+ scte35: str | None
106
+ oatcls_scte35: str | None
107
+ scte35_duration: float | None
108
+ scte35_elapsedtime: Incomplete | None
109
+ asset_metadata: dict[str, Incomplete] | None
110
+ key: Key | None
111
+ parts: PartialSegmentList
112
+ init_section: InitializationSection | None
113
+ dateranges: DateRangeList
114
+ gap_tag: Incomplete | None
115
+ custom_parser_values: dict[str, Incomplete]
116
+ def __init__(
117
+ self,
118
+ uri: str | None = None,
119
+ base_uri: str | None = None,
120
+ program_date_time: dt.datetime | None = None,
121
+ current_program_date_time=None,
122
+ duration: float | None = None,
123
+ title: str | None = None,
124
+ bitrate=None,
125
+ byterange=None,
126
+ cue_out: bool = False,
127
+ cue_out_start: bool = False,
128
+ cue_out_explicitly_duration: bool = False,
129
+ cue_in: bool = False,
130
+ discontinuity: bool = False,
131
+ key=None,
132
+ scte35=None,
133
+ oatcls_scte35: str | None = None,
134
+ scte35_duration=None,
135
+ scte35_elapsedtime=None,
136
+ asset_metadata: Mapping[str, str] | None = None,
137
+ keyobject: Key | None = None,
138
+ parts: list[Mapping[str, Incomplete]] | None = None,
139
+ init_section: Mapping[str, Incomplete] | None = None,
140
+ dateranges=None,
141
+ gap_tag: list[Mapping[str, Incomplete]] | None = None,
142
+ media_sequence: int | None = None,
143
+ custom_parser_values=None,
144
+ ) -> None: ...
145
+ def add_part(self, part: PartialSegment) -> None: ...
146
+ def dumps(self, last_segment: PartialSegment | None, timespec: str = "milliseconds", infspec: str = "auto") -> str: ...
147
+ @property
148
+ def base_path(self) -> str: ...
149
+ @base_path.setter
150
+ def base_path(self, newbase_path: str) -> None: ...
151
+ @property
152
+ def base_uri(self) -> str: ...
153
+ @base_uri.setter
154
+ def base_uri(self, newbase_uri: str) -> None: ...
155
+
156
+ class SegmentList(list[Segment], GroupedBasePathMixin[Segment]):
157
+ def dumps(self, timespec: str = "milliseconds", infspec: str = "auto") -> str: ...
158
+ @property
159
+ def uri(self) -> list[str | None]: ...
160
+ def by_key(self, key: Key) -> list[Segment]: ...
161
+
162
+ class PartialSegment(BasePathMixin):
163
+ base_uri: str
164
+ uri: str | None
165
+ duration: float | None
166
+ program_date_time: dt.datetime | None
167
+ current_program_date_time: dt.datetime | None
168
+ byterange: str | None
169
+ independent: bool
170
+ gap: str | None
171
+ dateranges: DateRangeList
172
+ gap_tag: str | None
173
+
174
+ def __init__(
175
+ self,
176
+ base_uri: str,
177
+ uri: str | None,
178
+ duration: float | None,
179
+ program_date_time: dt.datetime | None = None,
180
+ current_program_date_time: Incomplete | None = None,
181
+ byterange: Incomplete | None = None,
182
+ independent: Incomplete | None = None,
183
+ gap: Incomplete | None = None,
184
+ dateranges: list[Mapping[str, Incomplete]] | None = None,
185
+ gap_tag: Incomplete | None = None,
186
+ ) -> None: ...
187
+ def dumps(self, last_segment) -> str: ...
188
+
189
+ class PartialSegmentList(list[PartialSegment], GroupedBasePathMixin[PartialSegment]): ...
190
+
191
+ class Key(BasePathMixin):
192
+ tag: ClassVar[str] = ...
193
+ method: str
194
+ base_uri: str
195
+ uri: str | None
196
+ iv: str | None
197
+ keyformat: str | None
198
+ keyformatversions: str | None
199
+
200
+ def __init__(
201
+ self,
202
+ method: str,
203
+ base_uri: str,
204
+ uri: str | None = None,
205
+ iv: str | None = None,
206
+ keyformat: str | None = None,
207
+ keyformatversions: str | None = None,
208
+ **kwargs,
209
+ ) -> None: ...
210
+ def __eq__(self, other: object) -> bool: ...
211
+ def __ne__(self, other: object) -> bool: ...
212
+
213
+ class InitializationSection(BasePathMixin):
214
+ tag = ext_x_map
215
+ base_uri: str
216
+ uri: str | None
217
+ byterange: str | None
218
+ def __init__(self, base_uri: str, uri: str | None, byterange: str | None = None) -> None: ...
219
+ def __eq__(self, other: object) -> bool: ...
220
+ def __ne__(self, other: object) -> bool: ...
221
+
222
+ class SessionKey(Key):
223
+ tag = ext_x_session_key
224
+
225
+ class Playlist(_PlaylistProtocol):
226
+ base_uri: str | None
227
+ uri: str | None
228
+ stream_info: StreamInfo
229
+ media: MediaList
230
+ def __init__(self, uri: str | None, stream_info: Mapping[str, Incomplete], media: MediaList, base_uri: str) -> None: ...
231
+
232
+ class IFramePlaylist(_PlaylistProtocol):
233
+ uri: str | None
234
+ base_uri: str | None
235
+ iframe_stream_info: StreamInfo
236
+ def __init__(self, base_uri: str, uri: str | None, iframe_stream_info: Mapping[str, Incomplete]) -> None: ...
237
+
238
+ class StreamInfo:
239
+ bandwidth: int | None
240
+ closed_captions: Incomplete | None
241
+ average_bandwidth: int | None
242
+ program_id: int | None
243
+ resolution: tuple[int, int] | None
244
+ codecs: str | None
245
+ audio: str | None
246
+ video: str | None
247
+ subtitles: str | None
248
+ frame_rate: float | None
249
+ video_range: str | None
250
+ hdcp_level: str | None
251
+ pathway_id: str | None
252
+ stable_variant_id: str | None
253
+ req_video_layout: str | None
254
+ def __init__(self, **kwargs) -> None: ...
255
+
256
+ class Media(BasePathMixin):
257
+ base_uri: str | None
258
+ uri: str | None
259
+ type: str | None
260
+ group_id: str | None
261
+ language: str | None
262
+ name: str | None
263
+ default: str | None
264
+ autoselect: str | None
265
+ forced: str | None
266
+ assoc_language: str | None
267
+ instream_id: str | None
268
+ characteristics: str | None
269
+ channels: str | None
270
+ stable_rendition_id: str | None
271
+ extras: dict[str, Incomplete]
272
+
273
+ def __init__(
274
+ self,
275
+ uri: str | None = None,
276
+ type: str | None = None,
277
+ group_id: str | None = None,
278
+ language: str | None = None,
279
+ name: str | None = None,
280
+ default: str | None = None,
281
+ autoselect: str | None = None,
282
+ forced: str | None = None,
283
+ characteristics: str | None = None,
284
+ channels: str | None = None,
285
+ stable_rendition_id: str | None = None,
286
+ assoc_language: str | None = None,
287
+ instream_id: str | None = None,
288
+ base_uri: str | None = None,
289
+ **extras,
290
+ ) -> None: ...
291
+ def dumps(self) -> str: ...
292
+
293
+ class TagList(list[_T]): ...
294
+
295
+ class MediaList(TagList[Media], list[Media], GroupedBasePathMixin[Media]):
296
+ @property
297
+ def uri(self) -> list[str | None]: ...
298
+
299
+ class PlaylistList(TagList[_PlaylistAnyT], list[_PlaylistAnyT], GroupedBasePathMixin[_PlaylistAnyT]): ...
300
+ class SessionDataList(TagList[SessionData], list[SessionData]): ...
301
+
302
+ class Start:
303
+ time_offset: float
304
+ precise: Literal["YES", "NO"]
305
+ def __init__(self, time_offset: float, precise: Literal["YES", "NO"] | None = None) -> None: ...
306
+
307
+ class RenditionReport(BasePathMixin):
308
+ base_uri: str | None
309
+ uri: str | None
310
+ last_msn: int
311
+ last_part: int | None
312
+ def __init__(self, base_uri: str | None, uri: str | None, last_msn: int, last_part: int | None = None) -> None: ...
313
+ def dumps(self) -> str: ...
314
+
315
+ class RenditionReportList(list[RenditionReport], GroupedBasePathMixin[RenditionReport]): ...
316
+
317
+ class ServerControl:
318
+ can_skip_until: float | None
319
+ can_block_reload: str | None
320
+ hold_back: float | None
321
+ part_hold_back: float | None
322
+ can_skip_dateranges: str | None
323
+ def __init__(
324
+ self,
325
+ can_skip_until: float | None = None,
326
+ can_block_reload: str | None = None,
327
+ hold_back: float | None = None,
328
+ part_hold_back: float | None = None,
329
+ can_skip_dateranges: str | None = None,
330
+ ) -> None: ...
331
+ def __getitem__(self, item: str): ...
332
+ def dumps(self) -> str: ...
333
+
334
+ class Skip:
335
+ skipped_segments: int | None
336
+ recently_removed_dateranges: str | None
337
+ def __init__(self, skipped_segments: int, recently_removed_dateranges: str | None = None) -> None: ...
338
+ def dumps(self) -> str: ...
339
+
340
+ class PartInformation:
341
+ part_target: float | None
342
+ def __init__(self, part_target: float | None = None) -> None: ...
343
+ def dumps(self) -> str: ...
344
+
345
+ class PreloadHint(BasePathMixin):
346
+ hint_type: str | None
347
+ base_uri: str | None
348
+ uri: str | None
349
+ byterange_start: int | None
350
+ byterange_length: int | None
351
+ def __init__(
352
+ self,
353
+ type: str | None,
354
+ base_uri: str | None,
355
+ uri: str | None,
356
+ byterange_start: int | None = None,
357
+ byterange_length: int | None = None,
358
+ ) -> None: ...
359
+ def __getitem__(self, item: str) -> str: ...
360
+ def dumps(self) -> str: ...
361
+
362
+ class SessionData:
363
+ data_id: str
364
+ value: str | None
365
+ uri: str | None
366
+ language: str | None
367
+ def __init__(self, data_id: str, value: str | None = None, uri: str | None = None, language: str | None = None) -> None: ...
368
+ def dumps(self) -> str: ...
369
+
370
+ class DateRangeList(TagList[DateRange]): ...
371
+
372
+ class DateRange:
373
+ id: str
374
+ start_date: str | None
375
+ class_: str | None
376
+ end_date: str | None
377
+ duration: float | None
378
+ planned_duration: float | None
379
+ scte35_cmd: str | None
380
+ scte35_out: str | None
381
+ scte35_in: str | None
382
+ end_on_next: Incomplete
383
+ x_client_attrs: list[tuple[str, str]]
384
+ def __init__(self, **kwargs) -> None: ...
385
+ def dumps(self) -> str: ...
386
+
387
+ class ContentSteering(BasePathMixin):
388
+ base_uri: str | None
389
+ uri: str | None
390
+ pathway_id: str | None
391
+ def __init__(self, base_uri: str | None, server_uri: str | None, pathway_id: str | None = None) -> None: ...
392
+ def dumps(self) -> str: ...
393
+
394
+ class ImagePlaylist(_PlaylistProtocol):
395
+ uri: str | None
396
+ base_uri: str | None
397
+ image_stream_info: StreamInfo
398
+ def __init__(self, base_uri: str | None, uri: str | None, image_stream_info: Mapping[str, Incomplete]) -> None: ...
399
+
400
+ class Tiles(BasePathMixin): # this is unused in runtime, so this is (temporary) has incomplete
401
+ uri: str | None
402
+ resolution: Incomplete
403
+ layout: Incomplete
404
+ duration: Incomplete
405
+ def __init__(self, resolution, layout, duration) -> None: ...
406
+ def dumps(self) -> str: ...
@@ -0,0 +1,14 @@
1
+ from collections.abc import Callable
2
+ from re import Pattern
3
+ from typing import Any
4
+ from typing_extensions import TypeAlias
5
+
6
+ ATTRIBUTELISTPATTERN: Pattern[str]
7
+ _CustomTagsParser: TypeAlias = Callable[[str, int, dict[str, Any], dict[str, Any]], object]
8
+
9
+ class ParseError(Exception):
10
+ lineno: int
11
+ line: str
12
+ def __init__(self, lineno: int, line: str) -> None: ...
13
+
14
+ def parse(content: str, strict: bool = False, custom_tags_parser: _CustomTagsParser | None = None) -> dict[str, Any]: ...
@@ -0,0 +1,41 @@
1
+ ext_m3u: str
2
+ ext_x_targetduration: str
3
+ ext_x_media_sequence: str
4
+ ext_x_discontinuity_sequence: str
5
+ ext_x_program_date_time: str
6
+ ext_x_media: str
7
+ ext_x_playlist_type: str
8
+ ext_x_key: str
9
+ ext_x_stream_inf: str
10
+ ext_x_version: str
11
+ ext_x_allow_cache: str
12
+ ext_x_endlist: str
13
+ extinf: str
14
+ ext_i_frames_only: str
15
+ ext_x_asset: str
16
+ ext_x_bitrate: str
17
+ ext_x_byterange: str
18
+ ext_x_i_frame_stream_inf: str
19
+ ext_x_discontinuity: str
20
+ ext_x_cue_out: str
21
+ ext_x_cue_out_cont: str
22
+ ext_x_cue_in: str
23
+ ext_x_cue_span: str
24
+ ext_oatcls_scte35: str
25
+ ext_is_independent_segments: str
26
+ ext_x_map: str
27
+ ext_x_start: str
28
+ ext_x_server_control: str
29
+ ext_x_part_inf: str
30
+ ext_x_part: str
31
+ ext_x_rendition_report: str
32
+ ext_x_skip: str
33
+ ext_x_session_data: str
34
+ ext_x_session_key: str
35
+ ext_x_preload_hint: str
36
+ ext_x_daterange: str
37
+ ext_x_gap: str
38
+ ext_x_content_steering: str
39
+ ext_x_image_stream_inf: str
40
+ ext_x_images_only: str
41
+ ext_x_tiles: str
@@ -0,0 +1,5 @@
1
+ from m3u8.version_matching_rules import VersionMatchingError
2
+
3
+ def get_version(file_lines: list[str]) -> float | None: ...
4
+ def valid_in_all_rules(line_number: int, line: str, version: float) -> list[VersionMatchingError]: ...
5
+ def validate(file_lines: list[str]) -> list[VersionMatchingError]: ...
@@ -0,0 +1,24 @@
1
+ from dataclasses import dataclass
2
+
3
+ @dataclass
4
+ class VersionMatchingError(Exception):
5
+ line_number: int
6
+ line: str
7
+ how_to_fix: str = ...
8
+ description: str = ...
9
+
10
+ class VersionMatchRuleBase:
11
+ description: str
12
+ how_to_fix: str
13
+ version: float
14
+ line_number: int
15
+ line: str
16
+ def __init__(self, version: float, line_number: int, line: str) -> None: ...
17
+ def validate(self) -> bool: ...
18
+ def get_error(self) -> VersionMatchingError: ...
19
+
20
+ class ValidIVInEXTXKEY(VersionMatchRuleBase): ...
21
+ class ValidFloatingPointEXTINF(VersionMatchRuleBase): ...
22
+ class ValidEXTXBYTERANGEOrEXTXIFRAMESONLY(VersionMatchRuleBase): ...
23
+
24
+ available_rules: list[type[VersionMatchRuleBase]]
@@ -12,13 +12,14 @@ from paramiko.channel import Channel
12
12
  from paramiko.message import Message
13
13
  from paramiko.packet import Packetizer
14
14
  from paramiko.pkey import PKey
15
+ from paramiko.proxy import ProxyCommand
15
16
  from paramiko.server import ServerInterface, SubsystemHandler
16
17
  from paramiko.sftp_client import SFTPClient
17
18
  from paramiko.ssh_gss import _SSH_GSSAuth
18
19
  from paramiko.util import ClosingContextManager
19
20
 
20
21
  _Addr: TypeAlias = tuple[str, int]
21
- _SocketLike: TypeAlias = str | _Addr | socket | Channel
22
+ _SocketLike: TypeAlias = str | _Addr | socket | Channel | ProxyCommand
22
23
 
23
24
  class _KexEngine(Protocol):
24
25
  def start_kex(self) -> None: ...
@@ -1,8 +1,8 @@
1
1
  # Whenever you update version here, PACKAGE_VERSION should be updated
2
2
  # in scripts/sync_proto/google_protobuf.py and vice-versa.
3
- version = "5.27.*"
3
+ version = "5.28.*"
4
4
  upstream_repository = "https://github.com/protocolbuffers/protobuf"
5
- extra_description = "Partially generated using [mypy-protobuf==3.6.0](https://github.com/nipunn1313/mypy-protobuf/tree/v3.6.0) and libprotoc 26.1 on [protobuf v27.1](https://github.com/protocolbuffers/protobuf/releases/tag/v27.1) (python `protobuf==5.27.1`)."
5
+ extra_description = "Partially generated using [mypy-protobuf==3.6.0](https://github.com/nipunn1313/mypy-protobuf/tree/v3.6.0) and libprotoc 26.1 on [protobuf v28.2](https://github.com/protocolbuffers/protobuf/releases/tag/v28.2) (python `protobuf==5.28.2`)."
6
6
  partial_stub = true
7
7
 
8
8
  [tool.stubtest]
@@ -1304,12 +1304,13 @@ class FieldOptions(google.protobuf.message.Message):
1304
1304
  FEATURE_SUPPORT_FIELD_NUMBER: builtins.int
1305
1305
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
1306
1306
  ctype: global___FieldOptions.CType.ValueType
1307
- """The ctype option instructs the C++ code generator to use a different
1307
+ """NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
1308
+ The ctype option instructs the C++ code generator to use a different
1308
1309
  representation of the field than it normally would. See the specific
1309
1310
  options below. This option is only implemented to support use of
1310
1311
  [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
1311
- type "bytes" in the open source release -- sorry, we'll try to include
1312
- other types in a future version!
1312
+ type "bytes" in the open source release.
1313
+ TODO: make ctype actually deprecated.
1313
1314
  """
1314
1315
  packed: builtins.bool
1315
1316
  """The packed option can be enabled for repeated primitive fields to enable
@@ -73,7 +73,6 @@ _StructValueArg: TypeAlias = _StructValue | Mapping[str, _StructValueArg] | Sequ
73
73
 
74
74
  class Struct:
75
75
  def __getitem__(self, key: str) -> _StructValue: ...
76
- def __contains__(self, item: object) -> bool: ...
77
76
  def __setitem__(self, key: str, value: _StructValueArg) -> None: ...
78
77
  def __delitem__(self, key: str) -> None: ...
79
78
  def __len__(self) -> int: ...
@@ -13,8 +13,8 @@ from .tzinfo import BaseTzInfo as BaseTzInfo, DstTzInfo, StaticTzInfo
13
13
 
14
14
  # Actually named UTC and then masked with a singleton with the same name
15
15
  class _UTCclass(BaseTzInfo):
16
- def localize(self, dt: datetime.datetime, is_dst: bool | None = ...) -> datetime.datetime: ...
17
- def normalize(self, dt: datetime.datetime) -> datetime.datetime: ...
16
+ def localize(self, dt: datetime.datetime, is_dst: bool | None = False) -> datetime.datetime: ...
17
+ def normalize(self, dt: datetime.datetime, is_dst: bool | None = False) -> datetime.datetime: ...
18
18
  def tzname(self, dt: datetime.datetime | None) -> str: ...
19
19
  def utcoffset(self, dt: datetime.datetime | None) -> datetime.timedelta: ...
20
20
  def dst(self, dt: datetime.datetime | None) -> datetime.timedelta: ...
@@ -30,8 +30,8 @@ class _FixedOffset(datetime.tzinfo):
30
30
  def utcoffset(self, dt: Unused) -> datetime.timedelta | None: ...
31
31
  def dst(self, dt: Unused) -> datetime.timedelta: ...
32
32
  def tzname(self, dt: Unused) -> None: ...
33
- def localize(self, dt: datetime.datetime, is_dst: bool = False) -> datetime.datetime: ...
34
- def normalize(self, dt: datetime.datetime, is_dst: bool = False) -> datetime.datetime: ...
33
+ def localize(self, dt: datetime.datetime, is_dst: bool | None = False) -> datetime.datetime: ...
34
+ def normalize(self, dt: datetime.datetime, is_dst: bool | None = False) -> datetime.datetime: ...
35
35
 
36
36
  def FixedOffset(offset: int, _tzinfos: dict[int, _FixedOffset] = {}) -> _UTCclass | _FixedOffset: ...
37
37
 
@@ -9,7 +9,7 @@ class BaseTzInfo(datetime.tzinfo):
9
9
  # The following abstract methods don't exist in the implementation, but
10
10
  # are implemented by all sub-classes.
11
11
  @abstractmethod
12
- def localize(self, dt: datetime.datetime) -> datetime.datetime: ...
12
+ def localize(self, dt: datetime.datetime, is_dst: bool | None = ...) -> datetime.datetime: ...
13
13
  @abstractmethod
14
14
  def normalize(self, dt: datetime.datetime) -> datetime.datetime: ...
15
15
  @abstractmethod
@@ -1,6 +1,7 @@
1
- version = "7.4.*"
1
+ version = "8.0.*"
2
2
  upstream_repository = "https://github.com/lincolnloop/python-qrcode"
3
- requires = ["types-Pillow>=9.1.0"]
3
+ # must be a version of Pillow that is py.typed
4
+ requires = ["Pillow>=10.3.0"]
4
5
 
5
6
  [tool.stubtest]
6
7
  extras = ["pil"]
@@ -105,13 +105,22 @@ class Redis(AbstractRedis, RedisModuleCommands, CoreCommands[_StrType], Sentinel
105
105
  ssl_certfile: str | None = ...,
106
106
  ssl_cert_reqs: str | int | None = ...,
107
107
  ssl_ca_certs: str | None = ...,
108
+ ssl_ca_path: Incomplete | None = None,
109
+ ssl_ca_data: Incomplete | None = None,
108
110
  ssl_check_hostname: bool = ...,
111
+ ssl_password: Incomplete | None = None,
112
+ ssl_validate_ocsp: bool = False,
113
+ ssl_validate_ocsp_stapled: bool = False, # added in 4.1.1
114
+ ssl_ocsp_context: Incomplete | None = None, # added in 4.1.1
115
+ ssl_ocsp_expected_cert: Incomplete | None = None, # added in 4.1.1
109
116
  max_connections: int | None = ...,
110
117
  single_connection_client: bool = ...,
111
118
  health_check_interval: float = ...,
112
119
  client_name: str | None = ...,
113
120
  username: str | None = ...,
114
121
  retry: Retry | None = ...,
122
+ redis_connect_func: _ConnectFunc | None = None,
123
+ credential_provider: CredentialProvider | None = None,
115
124
  ) -> Redis[str]: ...
116
125
  @overload
117
126
  @classmethod
@@ -141,13 +150,22 @@ class Redis(AbstractRedis, RedisModuleCommands, CoreCommands[_StrType], Sentinel
141
150
  ssl_certfile: str | None = ...,
142
151
  ssl_cert_reqs: str | int | None = ...,
143
152
  ssl_ca_certs: str | None = ...,
153
+ ssl_ca_path: Incomplete | None = None,
154
+ ssl_ca_data: Incomplete | None = None,
144
155
  ssl_check_hostname: bool = ...,
156
+ ssl_password: Incomplete | None = None,
157
+ ssl_validate_ocsp: bool = False,
158
+ ssl_validate_ocsp_stapled: bool = False, # added in 4.1.1
159
+ ssl_ocsp_context: Incomplete | None = None, # added in 4.1.1
160
+ ssl_ocsp_expected_cert: Incomplete | None = None, # added in 4.1.1
145
161
  max_connections: int | None = ...,
146
162
  single_connection_client: bool = ...,
147
163
  health_check_interval: float = ...,
148
164
  client_name: str | None = ...,
149
165
  username: str | None = ...,
150
166
  retry: Retry | None = ...,
167
+ redis_connect_func: _ConnectFunc | None = None,
168
+ credential_provider: CredentialProvider | None = None,
151
169
  ) -> Redis[bytes]: ...
152
170
  connection_pool: Any
153
171
  response_callbacks: Any
@@ -1,4 +1,4 @@
1
- version = "4.2.2"
1
+ version = "4.2.5"
2
2
  # GitHub mirror of https://hg.reportlab.com/hg-public/reportlab/file
3
3
  upstream_repository = "https://github.com/MrBitBucket/reportlab-mirror"
4
4
 
@@ -34,6 +34,6 @@ class GraphicsFlowable(Flowable):
34
34
  def __init__(self, drawing) -> None: ...
35
35
  def draw(self) -> None: ...
36
36
 
37
- def drawToFile(d: Drawing, fn: str | IO[bytes], msg: str = "", showBoundary=..., autoSize: int = 1, canvasKwds={}) -> None: ...
38
- def drawToString(d: Drawing, msg: str = "", showBoundary=..., autoSize: int = 1, canvasKwds={}) -> str: ...
37
+ def drawToFile(d: Drawing, fn: str | IO[bytes], msg: str = "", showBoundary=..., autoSize: int = 1, **kwds) -> None: ...
38
+ def drawToString(d: Drawing, msg: str = "", showBoundary=..., autoSize: int = 1, **kwds) -> str: ...
39
39
  def test(outDir: str = "pdfout", shout: bool = False) -> None: ...
@@ -2,7 +2,15 @@ version = "0.13.2"
2
2
  # Requires a version of numpy and matplotlib with a `py.typed` file
3
3
  # see https://github.com/python/typeshed/issues/12551
4
4
  # on why we need the upper bound for numpy
5
- requires = ["matplotlib>=3.8", "numpy>=1.20,<2.1.0", "pandas-stubs"]
5
+ #
6
+ # TODO: Specifying the python-version for matplotlib should not be necessary,
7
+ # because of the requires_python field. However, this needs changes to
8
+ # get_typeshed_stub_version.py (see there).
9
+ requires = [
10
+ "matplotlib>=3.8; python_version>='3.9'",
11
+ "numpy>=1.20,<2.1.0",
12
+ "pandas-stubs",
13
+ ]
6
14
  # matplotlib>=3.8 requires Python >=3.9
7
15
  requires_python = ">=3.9"
8
16
  upstream_repository = "https://github.com/mwaskom/seaborn"