basedpyright 1.28.3 → 1.28.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 (375) hide show
  1. package/dist/pyright-langserver.js +1 -1
  2. package/dist/pyright-langserver.js.map +1 -1
  3. package/dist/pyright.js +1 -1
  4. package/dist/pyright.js.map +1 -1
  5. package/dist/typeshed-fallback/commit.txt +1 -1
  6. package/dist/typeshed-fallback/stdlib/_hashlib.pyi +15 -2
  7. package/dist/typeshed-fallback/stdlib/_socket.pyi +2 -2
  8. package/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi +7 -4
  9. package/dist/typeshed-fallback/stdlib/asyncio/__init__.pyi +2 -178
  10. package/dist/typeshed-fallback/stdlib/asyncio/base_events.pyi +3 -2
  11. package/dist/typeshed-fallback/stdlib/asyncio/events.pyi +3 -2
  12. package/dist/typeshed-fallback/stdlib/builtins.pyi +51 -33
  13. package/dist/typeshed-fallback/stdlib/configparser.pyi +61 -42
  14. package/dist/typeshed-fallback/stdlib/contextlib.pyi +5 -5
  15. package/dist/typeshed-fallback/stdlib/distutils/cmd.pyi +1 -1
  16. package/dist/typeshed-fallback/stdlib/distutils/dist.pyi +3 -3
  17. package/dist/typeshed-fallback/stdlib/distutils/fancy_getopt.pyi +15 -5
  18. package/dist/typeshed-fallback/stdlib/functools.pyi +18 -13
  19. package/dist/typeshed-fallback/stdlib/getopt.pyi +15 -3
  20. package/dist/typeshed-fallback/stdlib/hashlib.pyi +2 -1
  21. package/dist/typeshed-fallback/stdlib/heapq.pyi +2 -2
  22. package/dist/typeshed-fallback/stdlib/hmac.pyi +2 -2
  23. package/dist/typeshed-fallback/stdlib/http/server.pyi +2 -1
  24. package/dist/typeshed-fallback/stdlib/importlib/metadata/__init__.pyi +1 -1
  25. package/dist/typeshed-fallback/stdlib/importlib/readers.pyi +11 -7
  26. package/dist/typeshed-fallback/stdlib/inspect.pyi +10 -10
  27. package/dist/typeshed-fallback/stdlib/logging/config.pyi +6 -1
  28. package/dist/typeshed-fallback/stdlib/math.pyi +33 -3
  29. package/dist/typeshed-fallback/stdlib/multiprocessing/connection.pyi +9 -9
  30. package/dist/typeshed-fallback/stdlib/pathlib.pyi +13 -9
  31. package/dist/typeshed-fallback/stdlib/pkgutil.pyi +6 -6
  32. package/dist/typeshed-fallback/stdlib/shutil.pyi +9 -5
  33. package/dist/typeshed-fallback/stdlib/socketserver.pyi +8 -8
  34. package/dist/typeshed-fallback/stdlib/statistics.pyi +14 -15
  35. package/dist/typeshed-fallback/stdlib/tarfile.pyi +181 -162
  36. package/dist/typeshed-fallback/stdlib/types.pyi +27 -4
  37. package/dist/typeshed-fallback/stdlib/typing.pyi +10 -7
  38. package/dist/typeshed-fallback/stdlib/typing_extensions.pyi +95 -48
  39. package/dist/typeshed-fallback/stdlib/unittest/case.pyi +5 -1
  40. package/dist/typeshed-fallback/stdlib/xml/dom/NodeFilter.pyi +7 -4
  41. package/dist/typeshed-fallback/stdlib/xml/dom/__init__.pyi +84 -53
  42. package/dist/typeshed-fallback/stdlib/xml/dom/expatbuilder.pyi +66 -45
  43. package/dist/typeshed-fallback/stdlib/xml/dom/minidom.pyi +524 -193
  44. package/dist/typeshed-fallback/stdlib/xml/dom/pulldom.pyi +70 -55
  45. package/dist/typeshed-fallback/stdlib/xml/dom/xmlbuilder.pyi +20 -49
  46. package/dist/typeshed-fallback/stdlib/xml/etree/ElementInclude.pyi +13 -10
  47. package/dist/typeshed-fallback/stdlib/xml/etree/ElementPath.pyi +19 -12
  48. package/dist/typeshed-fallback/stdlib/xml/etree/ElementTree.pyi +83 -41
  49. package/dist/typeshed-fallback/stdlib/xml/sax/_exceptions.pyi +5 -5
  50. package/dist/typeshed-fallback/stdlib/xml/sax/expatreader.pyi +53 -24
  51. package/dist/typeshed-fallback/stdlib/xml/sax/handler.pyi +48 -17
  52. package/dist/typeshed-fallback/stdlib/xml/sax/saxutils.pyi +24 -16
  53. package/dist/typeshed-fallback/stdlib/xml/sax/xmlreader.pyi +59 -56
  54. package/dist/typeshed-fallback/stdlib/zipfile/__init__.pyi +0 -8
  55. package/dist/typeshed-fallback/stdlib/zipfile/_path/__init__.pyi +32 -52
  56. package/dist/typeshed-fallback/stubs/Deprecated/deprecated/classic.pyi +6 -1
  57. package/dist/typeshed-fallback/stubs/Deprecated/deprecated/sphinx.pyi +1 -0
  58. package/dist/typeshed-fallback/stubs/Pygments/METADATA.toml +1 -1
  59. package/dist/typeshed-fallback/stubs/Pygments/pygments/plugin.pyi +11 -3
  60. package/dist/typeshed-fallback/stubs/RPi.GPIO/RPi/GPIO/__init__.pyi +1 -1
  61. package/dist/typeshed-fallback/stubs/WTForms/wtforms/validators.pyi +13 -5
  62. package/dist/typeshed-fallback/stubs/WebOb/webob/__init__.pyi +15 -0
  63. package/dist/typeshed-fallback/stubs/WebOb/webob/_types.pyi +21 -0
  64. package/dist/typeshed-fallback/stubs/WebOb/webob/acceptparse.pyi +496 -285
  65. package/dist/typeshed-fallback/stubs/WebOb/webob/byterange.pyi +2 -0
  66. package/dist/typeshed-fallback/stubs/WebOb/webob/cachecontrol.pyi +75 -75
  67. package/dist/typeshed-fallback/stubs/WebOb/webob/client.pyi +2 -0
  68. package/dist/typeshed-fallback/stubs/WebOb/webob/compat.pyi +24 -0
  69. package/dist/typeshed-fallback/stubs/WebOb/webob/cookies.pyi +39 -34
  70. package/dist/typeshed-fallback/stubs/WebOb/webob/datetime_utils.pyi +16 -0
  71. package/dist/typeshed-fallback/stubs/WebOb/webob/dec.pyi +40 -40
  72. package/dist/typeshed-fallback/stubs/WebOb/webob/descriptors.pyi +23 -34
  73. package/dist/typeshed-fallback/stubs/WebOb/webob/etag.pyi +11 -18
  74. package/dist/typeshed-fallback/stubs/WebOb/webob/exc.pyi +70 -7
  75. package/dist/typeshed-fallback/stubs/WebOb/webob/headers.pyi +20 -2
  76. package/dist/typeshed-fallback/stubs/WebOb/webob/multidict.pyi +97 -31
  77. package/dist/typeshed-fallback/stubs/WebOb/webob/request.pyi +70 -79
  78. package/dist/typeshed-fallback/stubs/WebOb/webob/response.pyi +62 -62
  79. package/dist/typeshed-fallback/stubs/WebOb/webob/static.pyi +12 -9
  80. package/dist/typeshed-fallback/stubs/WebOb/webob/util.pyi +2 -5
  81. package/dist/typeshed-fallback/stubs/atheris/METADATA.toml +4 -0
  82. package/dist/typeshed-fallback/stubs/boltons/boltons/dictutils.pyi +1 -3
  83. package/dist/typeshed-fallback/stubs/boltons/boltons/tbutils.pyi +13 -13
  84. package/dist/typeshed-fallback/stubs/braintree/METADATA.toml +1 -1
  85. package/dist/typeshed-fallback/stubs/braintree/braintree/__init__.pyi +1 -0
  86. package/dist/typeshed-fallback/stubs/braintree/braintree/braintree_gateway.pyi +2 -0
  87. package/dist/typeshed-fallback/stubs/braintree/braintree/credit_card.pyi +1 -0
  88. package/dist/typeshed-fallback/stubs/braintree/braintree/error_codes.pyi +40 -0
  89. package/dist/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource.pyi +10 -0
  90. package/dist/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource_gateway.pyi +10 -0
  91. package/dist/typeshed-fallback/stubs/braintree/braintree/test/credit_card_numbers.pyi +1 -0
  92. package/dist/typeshed-fallback/stubs/braintree/braintree/test/nonces.pyi +1 -0
  93. package/dist/typeshed-fallback/stubs/cffi/METADATA.toml +2 -2
  94. package/dist/typeshed-fallback/stubs/cffi/_cffi_backend.pyi +8 -8
  95. package/dist/typeshed-fallback/stubs/cffi/cffi/recompiler.pyi +1 -0
  96. package/dist/typeshed-fallback/stubs/corus/METADATA.toml +4 -0
  97. package/dist/typeshed-fallback/stubs/dirhash/METADATA.toml +2 -0
  98. package/dist/typeshed-fallback/stubs/dirhash/dirhash/__init__.pyi +93 -0
  99. package/dist/typeshed-fallback/stubs/dirhash/dirhash/cli.pyi +5 -0
  100. package/dist/typeshed-fallback/stubs/fanstatic/METADATA.toml +1 -1
  101. package/dist/typeshed-fallback/stubs/fanstatic/fanstatic/registry.pyi +8 -3
  102. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/fonts.pyi +2 -8
  103. package/dist/typeshed-fallback/stubs/geopandas/geopandas/geodataframe.pyi +1 -1
  104. package/dist/typeshed-fallback/stubs/geopandas/geopandas/io/sql.pyi +0 -3
  105. package/dist/typeshed-fallback/stubs/gevent/gevent/hub.pyi +1 -1
  106. package/dist/typeshed-fallback/stubs/gevent/gevent/libev/corecext.pyi +1 -1
  107. package/dist/typeshed-fallback/stubs/gevent/gevent/libev/corecffi.pyi +1 -1
  108. package/dist/typeshed-fallback/stubs/gevent/gevent/libuv/loop.pyi +1 -1
  109. package/dist/typeshed-fallback/stubs/google-cloud-ndb/METADATA.toml +0 -1
  110. package/dist/typeshed-fallback/stubs/greenlet/greenlet/_greenlet.pyi +5 -1
  111. package/dist/typeshed-fallback/stubs/hdbcli/hdbcli/dbapi.pyi +1 -1
  112. package/dist/typeshed-fallback/stubs/hnswlib/METADATA.toml +1 -1
  113. package/dist/typeshed-fallback/stubs/hnswlib/hnswlib.pyi +8 -6
  114. package/dist/typeshed-fallback/stubs/humanfriendly/METADATA.toml +3 -0
  115. package/dist/typeshed-fallback/stubs/ibm-db/METADATA.toml +1 -1
  116. package/dist/typeshed-fallback/stubs/icalendar/icalendar/__init__.pyi +6 -6
  117. package/dist/typeshed-fallback/stubs/mock/METADATA.toml +1 -1
  118. package/dist/typeshed-fallback/stubs/mock/mock/backports.pyi +6 -1
  119. package/dist/typeshed-fallback/stubs/mock/mock/mock.pyi +1 -1
  120. package/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/_mysql.pyi +32 -32
  121. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/__init__.pyi +3 -0
  122. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clique.pyi +5 -4
  123. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clustering_coefficient.pyi +3 -3
  124. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/connectivity.pyi +5 -3
  125. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/distance_measures.pyi +3 -3
  126. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/dominating_set.pyi +3 -4
  127. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/kcomponents.pyi +2 -1
  128. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/matching.pyi +2 -1
  129. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/maxcut.pyi +8 -2
  130. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/ramsey.pyi +2 -1
  131. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/steinertree.pyi +4 -2
  132. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/traveling_salesman.pyi +33 -23
  133. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/treewidth.pyi +4 -2
  134. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/vertex_cover.pyi +2 -3
  135. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/connectivity.pyi +3 -1
  136. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/correlation.pyi +6 -4
  137. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/mixing.pyi +16 -8
  138. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/neighbor_degree.pyi +7 -1
  139. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/pairs.pyi +6 -3
  140. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/asteroidal.pyi +3 -2
  141. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/__init__.pyi +1 -0
  142. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/basic.pyi +8 -6
  143. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/centrality.pyi +4 -3
  144. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/cluster.pyi +5 -3
  145. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/covering.pyi +3 -1
  146. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/edgelist.pyi +13 -12
  147. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/extendability.pyi +5 -0
  148. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/generators.pyi +22 -8
  149. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matching.pyi +11 -5
  150. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matrix.pyi +9 -7
  151. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/projection.pyi +9 -5
  152. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/redundancy.pyi +3 -1
  153. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/spectral.pyi +2 -3
  154. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/boundary.pyi +53 -58
  155. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/bridges.pyi +5 -6
  156. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness.pyi +7 -5
  157. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness_subset.pyi +10 -2
  158. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/closeness.pyi +7 -7
  159. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness.pyi +9 -9
  160. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness_subset.pyi +16 -3
  161. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_closeness.pyi +2 -3
  162. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/eigenvector.pyi +10 -3
  163. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/flow_matrix.pyi +4 -0
  164. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/group.pyi +16 -12
  165. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/harmonic.pyi +3 -1
  166. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/katz.pyi +15 -10
  167. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/laplacian.pyi +6 -4
  168. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/load.pyi +3 -4
  169. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/percolation.pyi +6 -2
  170. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/reaching.pyi +9 -3
  171. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/second_order.pyi +2 -1
  172. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/subgraph_alg.pyi +5 -4
  173. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/trophic.pyi +5 -3
  174. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/voterank_alg.pyi +2 -3
  175. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/chordal.pyi +3 -3
  176. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/clique.pyi +9 -14
  177. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/cluster.pyi +10 -7
  178. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/equitable_coloring.pyi +2 -1
  179. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/greedy_coloring.pyi +2 -20
  180. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/communicability_alg.pyi +3 -2
  181. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/asyn_fluid.pyi +3 -3
  182. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/centrality.pyi +5 -2
  183. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/community_utils.pyi +2 -1
  184. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/divisive.pyi +5 -2
  185. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/kclique.pyi +2 -1
  186. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/kernighan_lin.pyi +7 -1
  187. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/label_propagation.pyi +4 -2
  188. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/louvain.pyi +13 -2
  189. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/lukes.pyi +2 -3
  190. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/modularity_max.pyi +3 -4
  191. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/community/quality.pyi +3 -2
  192. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/components/biconnected.pyi +5 -4
  193. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/components/connected.pyi +5 -4
  194. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/components/semiconnected.pyi +2 -3
  195. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/components/strongly_connected.pyi +5 -5
  196. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/components/weakly_connected.pyi +3 -3
  197. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/connectivity.pyi +29 -23
  198. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/cuts.pyi +21 -5
  199. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/disjoint_paths.pyi +17 -16
  200. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_augmentation.pyi +5 -4
  201. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_kcomponents.pyi +7 -5
  202. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcomponents.pyi +3 -2
  203. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcutsets.pyi +5 -3
  204. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/stoerwagner.pyi +2 -1
  205. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/core.pyi +9 -8
  206. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/covering.pyi +4 -2
  207. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/cuts.pyi +10 -9
  208. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/cycles.pyi +9 -6
  209. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/d_separation.pyi +3 -1
  210. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/dag.pyi +13 -10
  211. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_measures.pyi +8 -9
  212. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_regular.pyi +4 -3
  213. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/dominance.pyi +3 -2
  214. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/dominating.pyi +4 -2
  215. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/efficiency_measures.pyi +2 -1
  216. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/euler.pyi +8 -5
  217. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/boykovkolmogorov.pyi +6 -7
  218. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/capacityscaling.pyi +4 -1
  219. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/dinitz_alg.pyi +6 -7
  220. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/edmondskarp.pyi +6 -7
  221. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/gomory_hu.pyi +3 -2
  222. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/maxflow.pyi +34 -5
  223. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/mincost.pyi +7 -4
  224. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/networksimplex.pyi +3 -1
  225. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/preflowpush.pyi +5 -6
  226. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/shortestaugmentingpath.pyi +6 -7
  227. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/utils.pyi +1 -0
  228. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/graph_hashing.pyi +12 -4
  229. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/graphical.pyi +9 -6
  230. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/hierarchy.pyi +1 -3
  231. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/hybrid.pyi +3 -2
  232. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/isolate.pyi +4 -3
  233. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/ismags.pyi +1 -0
  234. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorph.pyi +11 -4
  235. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorphvf2.pyi +5 -0
  236. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/temporalisomorphvf2.pyi +2 -0
  237. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/tree_isomorphism.pyi +2 -1
  238. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2pp.pyi +6 -3
  239. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2userfunc.pyi +2 -0
  240. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/hits_alg.pyi +9 -2
  241. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/pagerank_alg.pyi +16 -14
  242. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/link_prediction.pyi +9 -10
  243. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/lowest_common_ancestors.pyi +5 -3
  244. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/matching.pyi +7 -6
  245. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/minors/contraction.pyi +10 -7
  246. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/mis.pyi +6 -1
  247. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/moral.pyi +2 -1
  248. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/node_classification.pyi +3 -2
  249. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/non_randomness.pyi +2 -3
  250. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/all.pyi +7 -4
  251. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/binary.pyi +11 -11
  252. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/product.pyi +14 -7
  253. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/unary.pyi +2 -2
  254. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/planarity.pyi +6 -3
  255. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/polynomials.pyi +3 -2
  256. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/reciprocity.pyi +4 -3
  257. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/regular.pyi +4 -3
  258. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/richclub.pyi +3 -3
  259. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/astar.pyi +22 -3
  260. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/dense.pyi +7 -5
  261. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/generic.pyi +33 -11
  262. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/unweighted.pyi +9 -8
  263. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/weighted.pyi +116 -30
  264. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/similarity.pyi +69 -55
  265. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/simple_paths.pyi +11 -8
  266. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/smallworld.pyi +6 -6
  267. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/smetric.pyi +2 -1
  268. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/sparsifiers.pyi +3 -3
  269. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/structuralholes.pyi +5 -3
  270. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/summarization.pyi +5 -3
  271. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/swap.pyi +8 -5
  272. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/threshold.pyi +3 -4
  273. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/time_dependent.pyi +5 -0
  274. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/tournament.pyi +8 -8
  275. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/beamsearch.pyi +5 -2
  276. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/breadth_first_search.pyi +16 -7
  277. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/depth_first_search.pyi +20 -8
  278. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgebfs.pyi +2 -3
  279. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgedfs.pyi +2 -3
  280. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/branchings.pyi +13 -6
  281. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/coding.pyi +8 -4
  282. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/mst.pyi +22 -6
  283. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/operations.pyi +2 -1
  284. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/recognition.pyi +6 -4
  285. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/triads.pyi +11 -8
  286. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/vitality.pyi +2 -1
  287. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/voronoi.pyi +10 -1
  288. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/walks.pyi +5 -0
  289. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/wiener.pyi +2 -3
  290. package/dist/typeshed-fallback/stubs/networkx/networkx/classes/coreviews.pyi +3 -1
  291. package/dist/typeshed-fallback/stubs/networkx/networkx/classes/graph.pyi +4 -3
  292. package/dist/typeshed-fallback/stubs/networkx/networkx/classes/multidigraph.pyi +2 -0
  293. package/dist/typeshed-fallback/stubs/networkx/networkx/classes/multigraph.pyi +3 -0
  294. package/dist/typeshed-fallback/stubs/networkx/networkx/classes/reportviews.pyi +39 -9
  295. package/dist/typeshed-fallback/stubs/networkx/networkx/generators/__init__.pyi +2 -0
  296. package/dist/typeshed-fallback/stubs/networkx/networkx/generators/time_series.pyi +4 -0
  297. package/dist/typeshed-fallback/stubs/passlib/passlib/hosts.pyi +3 -1
  298. package/dist/typeshed-fallback/stubs/peewee/peewee.pyi +19 -19
  299. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor.pyi +6 -0
  300. package/dist/typeshed-fallback/stubs/psycopg2/psycopg2/_psycopg.pyi +1 -1
  301. package/dist/typeshed-fallback/stubs/pycurl/METADATA.toml +1 -1
  302. package/dist/typeshed-fallback/stubs/pycurl/pycurl.pyi +18 -0
  303. package/dist/typeshed-fallback/stubs/pygit2/METADATA.toml +2 -0
  304. package/dist/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/build_main.pyi +19 -7
  305. package/dist/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/splash.pyi +18 -16
  306. package/dist/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/__init__.pyi +1 -1
  307. package/dist/typeshed-fallback/stubs/pynput/METADATA.toml +1 -1
  308. package/dist/typeshed-fallback/stubs/pynput/pynput/_util.pyi +4 -4
  309. package/dist/typeshed-fallback/stubs/pynput/pynput/keyboard/__init__.pyi +4 -2
  310. package/dist/typeshed-fallback/stubs/pynput/pynput/keyboard/_base.pyi +3 -0
  311. package/dist/typeshed-fallback/stubs/pynput/pynput/mouse/__init__.pyi +6 -3
  312. package/dist/typeshed-fallback/stubs/pyserial/serial/tools/miniterm.pyi +2 -2
  313. package/dist/typeshed-fallback/stubs/pytz/pytz/tzinfo.pyi +3 -3
  314. package/dist/typeshed-fallback/stubs/pywin32/METADATA.toml +1 -1
  315. package/dist/typeshed-fallback/stubs/pywin32/pythoncom.pyi +19 -2
  316. package/dist/typeshed-fallback/stubs/pywin32/win32/lib/win32con.pyi +4895 -4764
  317. package/dist/typeshed-fallback/stubs/pywin32/win32/lib/win32timezone.pyi +81 -42
  318. package/dist/typeshed-fallback/stubs/pywin32/win32/lib/winerror.pyi +7258 -2574
  319. package/dist/typeshed-fallback/stubs/pywin32/win32/servicemanager.pyi +1 -1
  320. package/dist/typeshed-fallback/stubs/pywin32/win32/win32trace.pyi +1 -1
  321. package/dist/typeshed-fallback/stubs/pywin32/win32/win32ts.pyi +1 -0
  322. package/dist/typeshed-fallback/stubs/pywin32/win32com/client/__init__.pyi +3 -1
  323. package/dist/typeshed-fallback/stubs/regex/regex/regex.pyi +5 -5
  324. package/dist/typeshed-fallback/stubs/requests/requests/__init__.pyi +12 -13
  325. package/dist/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_auth.pyi +3 -0
  326. package/dist/typeshed-fallback/stubs/setuptools/METADATA.toml +4 -3
  327. package/dist/typeshed-fallback/stubs/setuptools/distutils/ccompiler.pyi +11 -0
  328. package/dist/typeshed-fallback/stubs/setuptools/distutils/compilers/C/base.pyi +1 -0
  329. package/dist/typeshed-fallback/stubs/setuptools/distutils/compilers/C/errors.pyi +1 -0
  330. package/dist/typeshed-fallback/stubs/setuptools/distutils/compilers/C/msvc.pyi +1 -0
  331. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_msvccompiler.pyi +2 -21
  332. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/archive_util.pyi +1 -1
  333. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/ccompiler.pyi +13 -178
  334. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist_rpm.pyi +6 -6
  335. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build.pyi +2 -2
  336. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_clib.pyi +2 -2
  337. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_ext.pyi +2 -2
  338. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_py.pyi +3 -3
  339. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install.pyi +5 -5
  340. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_data.pyi +1 -1
  341. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_lib.pyi +4 -4
  342. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_scripts.pyi +2 -2
  343. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/sdist.pyi +6 -6
  344. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compat/__init__.pyi +6 -1
  345. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/base.pyi +196 -0
  346. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/errors.pyi +6 -0
  347. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/msvc.pyi +24 -0
  348. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dist.pyi +23 -20
  349. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/errors.pyi +12 -6
  350. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/filelist.pyi +12 -11
  351. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/spawn.pyi +6 -1
  352. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/util.pyi +6 -6
  353. package/dist/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_wheel.pyi +0 -2
  354. package/dist/typeshed-fallback/stubs/simplejson/simplejson/encoder.pyi +1 -1
  355. package/dist/typeshed-fallback/stubs/six/six/moves/builtins.pyi +0 -1
  356. package/dist/typeshed-fallback/stubs/tqdm/METADATA.toml +4 -1
  357. package/dist/typeshed-fallback/stubs/tqdm/tqdm/asyncio.pyi +4 -3
  358. package/dist/typeshed-fallback/stubs/tqdm/tqdm/std.pyi +10 -3
  359. package/dist/typeshed-fallback/stubs/tree-sitter-languages/METADATA.toml +6 -0
  360. package/dist/typeshed-fallback/stubs/vobject/vobject/vcard.pyi +15 -8
  361. package/dist/typeshed-fallback/stubs/watchpoints/METADATA.toml +2 -0
  362. package/dist/typeshed-fallback/stubs/watchpoints/watchpoints/__init__.pyi +10 -0
  363. package/dist/typeshed-fallback/stubs/watchpoints/watchpoints/ast_monkey.pyi +3 -0
  364. package/dist/typeshed-fallback/stubs/watchpoints/watchpoints/util.pyi +6 -0
  365. package/dist/typeshed-fallback/stubs/watchpoints/watchpoints/watch.pyi +68 -0
  366. package/dist/typeshed-fallback/stubs/watchpoints/watchpoints/watch_element.pyi +56 -0
  367. package/dist/typeshed-fallback/stubs/watchpoints/watchpoints/watch_print.pyi +24 -0
  368. package/dist/typeshed-fallback/stubs/zstd/METADATA.toml +1 -1
  369. package/package.json +1 -1
  370. package/dist/typeshed-fallback/stubs/setuptools/pkg_resources/__init__.pyi +0 -543
  371. package/dist/typeshed-fallback/stubs/setuptools/pkg_resources/_vendored_packaging/__init__.pyi +0 -8
  372. package/dist/typeshed-fallback/stubs/setuptools/pkg_resources/_vendored_packaging/markers.pyi +0 -13
  373. package/dist/typeshed-fallback/stubs/setuptools/pkg_resources/_vendored_packaging/requirements.pyi +0 -14
  374. package/dist/typeshed-fallback/stubs/setuptools/pkg_resources/_vendored_packaging/specifiers.pyi +0 -66
  375. package/dist/typeshed-fallback/stubs/setuptools/pkg_resources/_vendored_packaging/version.pyi +0 -49
@@ -1,18 +1,25 @@
1
1
  from collections.abc import Callable, Iterable
2
2
  from datetime import date, datetime, timedelta
3
3
  from time import _TimeTuple, struct_time
4
- from typing import Any, Generic, NamedTuple, TypeVar, overload
4
+ from typing import Any, NamedTuple, TypeVar, overload
5
5
  from typing_extensions import TypeAlias
6
6
 
7
+ from webob._types import AsymmetricProperty, AsymmetricPropertyWithDelete, SymmetricProperty, SymmetricPropertyWithDelete
7
8
  from webob.byterange import ContentRange, Range
8
9
  from webob.etag import IfRange, IfRangeDate
9
10
 
10
- _T = TypeVar("_T")
11
11
  _DefaultT = TypeVar("_DefaultT")
12
12
  _GetterReturnType = TypeVar("_GetterReturnType")
13
13
  _SetterValueType = TypeVar("_SetterValueType")
14
14
  _ConvertedGetterReturnType = TypeVar("_ConvertedGetterReturnType")
15
15
  _ConvertedSetterValueType = TypeVar("_ConvertedSetterValueType")
16
+ _DescriptorT = TypeVar("_DescriptorT", bound=AsymmetricPropertyWithDelete[Any, Any])
17
+
18
+ _StringProperty: TypeAlias = SymmetricPropertyWithDelete[str | None]
19
+ _ListProperty: TypeAlias = AsymmetricPropertyWithDelete[tuple[str, ...] | None, Iterable[str] | str | None]
20
+ _DateProperty: TypeAlias = AsymmetricPropertyWithDelete[
21
+ datetime | None, date | datetime | timedelta | _TimeTuple | struct_time | float | str | None
22
+ ]
16
23
  _ContentRangeParams: TypeAlias = (
17
24
  ContentRange
18
25
  | list[int]
@@ -26,66 +33,48 @@ _ContentRangeParams: TypeAlias = (
26
33
  | None
27
34
  )
28
35
 
29
- class _AsymmetricProperty(Generic[_GetterReturnType, _SetterValueType]):
30
- @overload
31
- def __get__(self, obj: None, type: type | None = ..., /) -> property: ...
32
- @overload
33
- def __get__(self, obj: Any, type: type | None = ..., /) -> _GetterReturnType: ...
34
- def __set__(self, obj: Any, value: _SetterValueType, /) -> None: ...
35
-
36
- class _AsymmetricPropertyWithDelete(_AsymmetricProperty[_GetterReturnType, _SetterValueType]):
37
- def __delete__(self, obj: Any, /) -> None: ...
38
-
39
- class _SymmetricProperty(_AsymmetricProperty[_T, _T]): ...
40
- class _SymmetricPropertyWithDelete(_AsymmetricPropertyWithDelete[_T, _T]): ...
41
- class _StringProperty(_SymmetricPropertyWithDelete[str | None]): ...
42
- class _ListProperty(_AsymmetricPropertyWithDelete[tuple[str, ...] | None, Iterable[str] | str | None]): ...
43
- class _DateProperty(
44
- _AsymmetricPropertyWithDelete[datetime | None, date | datetime | timedelta | _TimeTuple | struct_time | float | str | None]
45
- ): ...
46
-
47
36
  @overload
48
- def environ_getter(key: str, default: None, rfc_section: str | None = None) -> _SymmetricPropertyWithDelete[Any | None]: ...
37
+ def environ_getter(key: str, *, rfc_section: str | None = None) -> SymmetricProperty[Any]: ...
38
+ @overload
39
+ def environ_getter(key: str, default: None, rfc_section: str | None = None) -> SymmetricPropertyWithDelete[Any | None]: ...
49
40
  @overload
50
41
  def environ_getter(
51
42
  key: str, default: _DefaultT, rfc_section: str | None = None
52
- ) -> _AsymmetricPropertyWithDelete[Any | _DefaultT, Any | _DefaultT | None]: ...
43
+ ) -> AsymmetricPropertyWithDelete[Any | _DefaultT, Any | _DefaultT | None]: ...
53
44
  @overload
54
- def environ_getter(key: str, *, rfc_section: str | None = None) -> _SymmetricProperty[Any]: ...
45
+ def environ_decoder(key: str, *, rfc_section: str | None = None, encattr: str | None = None) -> SymmetricProperty[str]: ...
55
46
  @overload
56
47
  def environ_decoder(
57
48
  key: str, default: str, rfc_section: str | None = None, encattr: str | None = None
58
- ) -> _AsymmetricPropertyWithDelete[str, str | None]: ...
49
+ ) -> AsymmetricPropertyWithDelete[str, str | None]: ...
59
50
  @overload
60
51
  def environ_decoder(
61
52
  key: str, default: None, rfc_section: str | None = None, encattr: str | None = None
62
- ) -> _SymmetricPropertyWithDelete[str | None]: ...
63
- @overload
64
- def environ_decoder(key: str, *, rfc_section: str | None = None, encattr: str | None = None) -> _SymmetricProperty[str]: ...
65
- def upath_property(key: str) -> _SymmetricProperty[str]: ...
66
- def deprecated_property(attr: _T, name: str, text: str, version: str) -> _T: ...
53
+ ) -> SymmetricPropertyWithDelete[str | None]: ...
54
+ def upath_property(key: str) -> SymmetricProperty[str]: ...
55
+ def deprecated_property(attr: _DescriptorT, name: str, text: str, version: str) -> _DescriptorT: ...
67
56
  def header_getter(header: str, rfc_section: str) -> _StringProperty: ...
68
57
  @overload
69
58
  def converter(
70
- prop: _AsymmetricPropertyWithDelete[_GetterReturnType, _SetterValueType],
59
+ prop: AsymmetricPropertyWithDelete[_GetterReturnType, _SetterValueType],
71
60
  parse: Callable[[_GetterReturnType], _ConvertedGetterReturnType],
72
61
  serialize: Callable[[_ConvertedSetterValueType], _SetterValueType],
73
62
  convert_name: str | None = None,
74
- ) -> _AsymmetricPropertyWithDelete[_ConvertedGetterReturnType, _ConvertedSetterValueType]: ...
63
+ ) -> AsymmetricPropertyWithDelete[_ConvertedGetterReturnType, _ConvertedSetterValueType | None]: ...
75
64
  @overload
76
65
  def converter(
77
- prop: _AsymmetricProperty[_GetterReturnType, _SetterValueType],
66
+ prop: AsymmetricProperty[_GetterReturnType, _SetterValueType],
78
67
  parse: Callable[[_GetterReturnType], _ConvertedGetterReturnType],
79
68
  serialize: Callable[[_ConvertedSetterValueType], _SetterValueType],
80
69
  convert_name: str | None = None,
81
- ) -> _AsymmetricProperty[_ConvertedGetterReturnType, _ConvertedSetterValueType]: ...
70
+ ) -> AsymmetricProperty[_ConvertedGetterReturnType, _ConvertedSetterValueType | None]: ...
82
71
  def list_header(header: str, rfc_section: str) -> _ListProperty: ...
83
72
  def parse_list(value: str | None) -> tuple[str, ...] | None: ...
84
73
  def serialize_list(value: Iterable[str] | str) -> str: ...
85
74
  def converter_date(prop: _StringProperty) -> _DateProperty: ...
86
75
  def date_header(header: str, rfc_section: str) -> _DateProperty: ...
87
76
  def parse_etag_response(value: str | None, strong: bool = False) -> str | None: ...
88
- def serialize_etag_response(value: str | tuple[str, bool]) -> str: ...
77
+ def serialize_etag_response(value: tuple[str, bool] | str) -> str: ...
89
78
  def serialize_if_range(value: IfRange | IfRangeDate | datetime | date | str) -> str | None: ...
90
79
  def parse_range(value: str | None) -> Range | None: ...
91
80
  def serialize_range(value: tuple[int, int | None] | list[int | None] | list[int] | str | None) -> str | None: ...
@@ -1,41 +1,34 @@
1
1
  from collections.abc import Collection
2
2
  from datetime import datetime
3
- from typing import Any, overload
3
+ from typing import Literal
4
4
  from typing_extensions import TypeAlias
5
5
 
6
+ from webob._types import AsymmetricPropertyWithDelete
6
7
  from webob.response import Response
7
8
 
8
- _ETag: TypeAlias = _AnyETag | _NoETag | ETagMatcher
9
+ __all__ = ["AnyETag", "NoETag", "ETagMatcher", "IfRange", "etag_property"]
9
10
 
10
- class _ETagProperty:
11
- @overload
12
- def __get__(self, obj: None, type: type | None = ..., /) -> property: ...
13
- @overload
14
- def __get__(self, obj: Any, type: type | None = ..., /) -> _ETag: ...
15
- @overload
16
- def __set__(self, obj: Any, value: str | None, /) -> None: ...
17
- @overload
18
- def __set__(self, obj: Any, value: _ETag, /) -> None: ...
19
- def __delete__(self, obj: Any, /) -> None: ...
11
+ _ETag: TypeAlias = _AnyETag | _NoETag | ETagMatcher
12
+ _ETagProperty: TypeAlias = AsymmetricPropertyWithDelete[_ETag, _ETag | str | None]
20
13
 
21
14
  def etag_property(key: str, default: _ETag, rfc_section: str, strong: bool = True) -> _ETagProperty: ...
22
15
 
23
16
  class _AnyETag:
24
- def __bool__(self) -> bool: ...
25
- def __contains__(self, other: str) -> bool: ...
17
+ def __bool__(self) -> Literal[False]: ...
18
+ def __contains__(self, other: str | None) -> Literal[True]: ...
26
19
 
27
20
  AnyETag: _AnyETag
28
21
 
29
22
  class _NoETag:
30
- def __bool__(self) -> bool: ...
31
- def __contains__(self, other: str) -> bool: ...
23
+ def __bool__(self) -> Literal[False]: ...
24
+ def __contains__(self, other: str | None) -> Literal[False]: ...
32
25
 
33
26
  NoETag: _NoETag
34
27
 
35
28
  class ETagMatcher:
36
29
  etags: Collection[str]
37
30
  def __init__(self, etags: Collection[str]) -> None: ...
38
- def __contains__(self, other: str) -> bool: ...
31
+ def __contains__(self, other: str | None) -> bool: ...
39
32
  @classmethod
40
33
  def parse(cls, value: str, strong: bool = True) -> ETagMatcher | _AnyETag: ...
41
34
 
@@ -43,7 +36,7 @@ class IfRange:
43
36
  etag: _ETag
44
37
  def __init__(self, etag: _ETag) -> None: ...
45
38
  @classmethod
46
- def parse(cls, value: str) -> IfRange | IfRangeDate: ...
39
+ def parse(cls, value: str | None) -> IfRange | IfRangeDate: ...
47
40
  def __contains__(self, resp: Response) -> bool: ...
48
41
  def __bool__(self) -> bool: ...
49
42
 
@@ -3,12 +3,73 @@ from _typeshed.wsgi import StartResponse, WSGIApplication, WSGIEnvironment
3
3
  from collections.abc import Iterable
4
4
  from string import Template
5
5
  from typing import Any, Literal, Protocol
6
- from typing_extensions import Self
6
+ from typing_extensions import Self, TypeAlias
7
7
 
8
8
  from webob.response import Response
9
9
 
10
+ __all__ = [
11
+ "HTTPAccepted",
12
+ "HTTPBadGateway",
13
+ "HTTPBadRequest",
14
+ "HTTPClientError",
15
+ "HTTPConflict",
16
+ "HTTPCreated",
17
+ "HTTPError",
18
+ "HTTPExpectationFailed",
19
+ "HTTPFailedDependency",
20
+ "HTTPForbidden",
21
+ "HTTPFound",
22
+ "HTTPGatewayTimeout",
23
+ "HTTPGone",
24
+ "HTTPInsufficientStorage",
25
+ "HTTPInternalServerError",
26
+ "HTTPLengthRequired",
27
+ "HTTPLocked",
28
+ "HTTPMethodNotAllowed",
29
+ "HTTPMovedPermanently",
30
+ "HTTPMultipleChoices",
31
+ "HTTPNetworkAuthenticationRequired",
32
+ "HTTPNoContent",
33
+ "HTTPNonAuthoritativeInformation",
34
+ "HTTPNotAcceptable",
35
+ "HTTPNotFound",
36
+ "HTTPNotImplemented",
37
+ "HTTPNotModified",
38
+ "HTTPOk",
39
+ "HTTPPartialContent",
40
+ "HTTPPaymentRequired",
41
+ "HTTPPermanentRedirect",
42
+ "HTTPPreconditionFailed",
43
+ "HTTPPreconditionRequired",
44
+ "HTTPProxyAuthenticationRequired",
45
+ "HTTPRedirection",
46
+ "HTTPRequestEntityTooLarge",
47
+ "HTTPRequestHeaderFieldsTooLarge",
48
+ "HTTPRequestRangeNotSatisfiable",
49
+ "HTTPRequestTimeout",
50
+ "HTTPRequestURITooLong",
51
+ "HTTPResetContent",
52
+ "HTTPSeeOther",
53
+ "HTTPServerError",
54
+ "HTTPServiceUnavailable",
55
+ "HTTPTemporaryRedirect",
56
+ "HTTPTooManyRequests",
57
+ "HTTPUnauthorized",
58
+ "HTTPUnavailableForLegalReasons",
59
+ "HTTPUnprocessableEntity",
60
+ "HTTPUnsupportedMediaType",
61
+ "HTTPUseProxy",
62
+ "HTTPVersionNotSupported",
63
+ "WSGIHTTPException",
64
+ "HTTPException",
65
+ "HTTPExceptionMiddleware",
66
+ "status_map",
67
+ ]
68
+
69
+ _Headers: TypeAlias = SupportsItems[str, str] | SupportsKeysAndGetItem[str, str] | Iterable[tuple[str, str]]
70
+
10
71
  class _JSONFormatter(Protocol):
11
- def __call__(self, *, body: str, status: str, title: str, environ: WSGIEnvironment) -> str: ...
72
+ def __call__(self, *, body: str, status: str, title: str, environ: WSGIEnvironment) -> Any: ...
12
73
 
13
74
  class HTTPException(Exception):
14
75
  wsgi_response: Response
@@ -28,7 +89,7 @@ class WSGIHTTPException(Response, HTTPException):
28
89
  def __init__(
29
90
  self,
30
91
  detail: str | None = None,
31
- headers: SupportsItems[str, str] | SupportsKeysAndGetItem[str, str] | Iterable[tuple[str, str]] | None = None,
92
+ headers: _Headers | None = None,
32
93
  comment: str | None = None,
33
94
  body_template: str | None = None,
34
95
  json_formatter: _JSONFormatter | None = None,
@@ -36,9 +97,10 @@ class WSGIHTTPException(Response, HTTPException):
36
97
  ) -> None: ...
37
98
  def plain_body(self, environ: WSGIEnvironment) -> str: ...
38
99
  def html_body(self, environ: WSGIEnvironment) -> str: ...
39
- def json_formatter(self, body: str, status: str, title: str, environ: WSGIEnvironment) -> str: ...
40
- def json_body(self, environ: WSGIEnvironment) -> str: ...
100
+ def json_formatter(self, body: str, status: str, title: str, environ: WSGIEnvironment) -> Any: ...
101
+ def json_body(self, environ: WSGIEnvironment) -> str: ... # type: ignore[override]
41
102
  def generate_response(self, environ: WSGIEnvironment, start_response: StartResponse) -> Iterable[bytes]: ...
103
+ def __call__(self, environ: WSGIEnvironment, start_response: StartResponse) -> Iterable[bytes]: ...
42
104
  @property
43
105
  def wsgi_response(self) -> Self: ... # type: ignore[override]
44
106
  def __str__(self) -> str: ... # type: ignore[override] # noqa: Y029
@@ -64,12 +126,13 @@ class _HTTPMove(HTTPRedirection):
64
126
  def __init__(
65
127
  self,
66
128
  detail: str | None = None,
67
- headers: str | None = None,
129
+ headers: _Headers | None = None,
68
130
  comment: str | None = None,
69
131
  body_template: str | None = None,
70
132
  location: str | None = None,
71
133
  add_slash: bool = False,
72
134
  ) -> None: ...
135
+ def __call__(self, environ: WSGIEnvironment, start_response: StartResponse) -> Iterable[bytes]: ...
73
136
 
74
137
  class HTTPMultipleChoices(_HTTPMove): ...
75
138
  class HTTPMovedPermanently(_HTTPMove): ...
@@ -123,4 +186,4 @@ class HTTPExceptionMiddleware:
123
186
  def __init__(self, application: WSGIApplication) -> None: ...
124
187
  def __call__(self, environ: WSGIEnvironment, start_response: StartResponse) -> Iterable[bytes]: ...
125
188
 
126
- status_map: dict[int, type[WSGIHTTPException]]
189
+ status_map: dict[int, type[HTTPOk | HTTPRedirection | HTTPClientError | HTTPServerError]]
@@ -1,9 +1,27 @@
1
1
  from _typeshed.wsgi import WSGIEnvironment
2
2
  from collections.abc import Iterator, MutableMapping
3
+ from typing import TypeVar, overload
3
4
 
4
5
  from webob.multidict import MultiDict
5
6
 
6
- class ResponseHeaders(MultiDict[str, str]): ...
7
+ __all__ = ["ResponseHeaders", "EnvironHeaders"]
8
+
9
+ _T = TypeVar("_T")
10
+
11
+ class ResponseHeaders(MultiDict[str, str]):
12
+ def __getitem__(self, key: str) -> str: ...
13
+ def getall(self, key: str) -> list[str]: ...
14
+ def mixed(self) -> dict[str, str | list[str]]: ...
15
+ def dict_of_lists(self) -> dict[str, list[str]]: ...
16
+ def __setitem__(self, key: str, value: str) -> None: ...
17
+ def __delitem__(self, key: str) -> None: ...
18
+ def __contains__(self, key: object) -> bool: ...
19
+ has_key = __contains__
20
+ def setdefault(self, key: str, default: str) -> str: ... # type: ignore[override]
21
+ @overload
22
+ def pop(self, key: str) -> str: ...
23
+ @overload
24
+ def pop(self, key: str, default: _T) -> str | _T: ...
7
25
 
8
26
  class EnvironHeaders(MutableMapping[str, str]):
9
27
  environ: WSGIEnvironment
@@ -11,7 +29,7 @@ class EnvironHeaders(MutableMapping[str, str]):
11
29
  def __getitem__(self, hname: str) -> str: ...
12
30
  def __setitem__(self, hname: str, value: str) -> None: ...
13
31
  def __delitem__(self, hname: str) -> None: ...
14
- def keys(self) -> list[str]: ... # type: ignore[override]
32
+ def keys(self) -> Iterator[str]: ... # type: ignore[override]
15
33
  def __contains__(self, hname: object) -> bool: ...
16
34
  def __len__(self) -> int: ...
17
35
  def __iter__(self) -> Iterator[str]: ...
@@ -1,30 +1,49 @@
1
- import sys
2
- from _typeshed import SupportsItems, SupportsKeysAndGetItem
1
+ from _typeshed import SupportsKeysAndGetItem
3
2
  from _typeshed.wsgi import WSGIEnvironment
4
3
  from collections.abc import Collection, Iterable, Iterator, MutableMapping
5
- from typing import Any, Literal, TypeVar, overload
6
- from typing_extensions import Self, TypeAlias
4
+ from typing import Literal, Protocol, TypeVar, overload
5
+ from typing_extensions import Self
7
6
 
8
- if sys.version_info >= (3, 13):
9
- _FieldStorage: TypeAlias = Any
10
- else:
11
- from cgi import FieldStorage as _FieldStorage
7
+ from webob.compat import cgi_FieldStorage, cgi_FieldStorage as _FieldStorageWithFile
8
+
9
+ __all__ = ["MultiDict", "NestedMultiDict", "NoVars", "GetDict"]
12
10
 
13
11
  _T = TypeVar("_T")
14
12
  _KT = TypeVar("_KT")
15
13
  _VT = TypeVar("_VT")
14
+ _KT_co = TypeVar("_KT_co", covariant=True)
15
+ _VT_co = TypeVar("_VT_co", covariant=True)
16
+
17
+ class _SupportsItemsWithIterableResult(Protocol[_KT_co, _VT_co]):
18
+ def items(self) -> Iterable[tuple[_KT_co, _VT_co]]: ...
16
19
 
17
20
  class MultiDict(MutableMapping[_KT, _VT]):
18
21
  @overload
19
- def __init__(self, m: SupportsItems[_KT, _VT], /, **kwargs: _VT) -> None: ...
22
+ def __init__(self) -> None: ...
23
+ @overload
24
+ def __init__(self: MultiDict[str, _VT], **kwargs: _VT) -> None: ... # pyright: ignore[reportInvalidTypeVarUse] #11780
25
+ @overload
26
+ def __init__(self, m: _SupportsItemsWithIterableResult[_KT, _VT], /) -> None: ...
27
+ @overload
28
+ def __init__(
29
+ self: MultiDict[str, _VT], # pyright: ignore[reportInvalidTypeVarUse] #11780
30
+ m: _SupportsItemsWithIterableResult[str, _VT],
31
+ /,
32
+ **kwargs: _VT,
33
+ ) -> None: ...
20
34
  @overload
21
- def __init__(self, m: Iterable[tuple[_KT, _VT]], /, **kwargs: _VT) -> None: ...
35
+ def __init__(self, m: Iterable[tuple[_KT, _VT]], /) -> None: ...
22
36
  @overload
23
- def __init__(self, **kwargs: _VT) -> None: ...
37
+ def __init__(
38
+ self: MultiDict[str, _VT], # pyright: ignore[reportInvalidTypeVarUse] #11780
39
+ m: Iterable[tuple[str, _VT]],
40
+ /,
41
+ **kwargs: _VT,
42
+ ) -> None: ...
24
43
  @classmethod
25
- def view_list(cls, lst: list[tuple[_KT, _VT]]) -> MultiDict[_KT, _VT]: ...
44
+ def view_list(cls, lst: list[tuple[_KT, _VT]]) -> Self: ...
26
45
  @classmethod
27
- def from_fieldstorage(cls, fs: _FieldStorage) -> MultiDict[str, str | _FieldStorage]: ...
46
+ def from_fieldstorage(cls, fs: cgi_FieldStorage) -> MultiDict[str, str | _FieldStorageWithFile]: ...
28
47
  def __getitem__(self, key: _KT) -> _VT: ...
29
48
  def __setitem__(self, key: _KT, value: _VT) -> None: ...
30
49
  def add(self, key: _KT, value: _VT) -> None: ...
@@ -51,43 +70,90 @@ class MultiDict(MutableMapping[_KT, _VT]):
51
70
  def pop(self, key: _KT, default: _T) -> _VT | _T: ...
52
71
  def popitem(self) -> tuple[_KT, _VT]: ...
53
72
  @overload # type: ignore[override]
54
- def update(self, m: Collection[tuple[_KT, _VT]], /, **kwargs: _VT) -> None: ...
73
+ def update(self: MultiDict[str, _VT], **kwargs: _VT) -> None: ...
74
+ @overload
75
+ def update(self, m: Collection[tuple[_KT, _VT]], /) -> None: ...
76
+ @overload
77
+ def update(self: MultiDict[str, _VT], m: Collection[tuple[str, _VT]], /, **kwargs: _VT) -> None: ...
78
+ @overload
79
+ def extend(self, other: _SupportsItemsWithIterableResult[_KT, _VT]) -> None: ...
80
+ @overload
81
+ def extend(self: MultiDict[str, _VT], other: _SupportsItemsWithIterableResult[str, _VT], **kwargs: _VT) -> None: ...
55
82
  @overload
56
- def update(self, **kwargs: _VT) -> None: ...
83
+ def extend(self, other: Iterable[tuple[_KT, _VT]]) -> None: ...
57
84
  @overload
58
- def extend(self, other: SupportsItems[_KT, _VT], **kwargs: _VT) -> None: ...
85
+ def extend(self: MultiDict[str, _VT], other: Iterable[tuple[str, _VT]], **kwargs: _VT) -> None: ...
59
86
  @overload
60
- def extend(self, other: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT) -> None: ...
87
+ def extend(self, other: SupportsKeysAndGetItem[_KT, _VT]) -> None: ...
61
88
  @overload
62
- def extend(self, other: Iterable[tuple[_KT, _VT]], **kwargs: _VT) -> None: ...
89
+ def extend(self: MultiDict[str, _VT], other: SupportsKeysAndGetItem[str, _VT], **kwargs: _VT) -> None: ...
63
90
  @overload
64
- def extend(self, other: None = None, **kwargs: _VT) -> None: ...
91
+ def extend(self: MultiDict[str, _VT], other: None = None, **kwargs: _VT) -> None: ...
65
92
  def __len__(self) -> int: ...
66
93
  def keys(self) -> Iterator[_KT]: ... # type: ignore[override]
67
94
  __iter__ = keys
68
- def values(self) -> Iterator[_VT]: ... # type: ignore[override]
69
95
  def items(self) -> Iterator[tuple[_KT, _VT]]: ... # type: ignore[override]
96
+ def values(self) -> Iterator[_VT]: ... # type: ignore[override]
70
97
 
71
98
  class GetDict(MultiDict[str, str]):
72
99
  env: WSGIEnvironment
73
100
  @overload
74
- def __init__(self, data: SupportsItems[str, str], env: WSGIEnvironment) -> None: ...
101
+ def __init__(self, data: _SupportsItemsWithIterableResult[str, str], env: WSGIEnvironment) -> None: ...
75
102
  @overload
76
103
  def __init__(self, data: Iterable[tuple[str, str]], env: WSGIEnvironment) -> None: ...
77
104
  def on_change(self) -> None: ...
105
+ def __setitem__(self, key: str, value: str) -> None: ...
106
+ def add(self, key: str, value: str) -> None: ...
107
+ def __delitem__(self, key: str) -> None: ...
108
+ def clear(self) -> None: ...
109
+ def setdefault(self, key: str, default: str) -> str: ... # type: ignore[override]
110
+ @overload
111
+ def pop(self, key: str) -> str: ...
112
+ @overload
113
+ def pop(self, key: str, default: _T) -> str | _T: ...
114
+ def popitem(self) -> tuple[str, str]: ...
115
+ @overload # type: ignore[override]
116
+ def update(self, **kwargs: str) -> None: ...
117
+ @overload
118
+ def update(self, m: Collection[tuple[str, str]], /, **kwargs: str) -> None: ...
119
+ @overload
120
+ def extend(self, other: _SupportsItemsWithIterableResult[str, str], **kwargs: str) -> None: ...
121
+ @overload
122
+ def extend(self, other: Iterable[tuple[str, str]], **kwargs: str) -> None: ...
123
+ @overload
124
+ def extend(self, other: SupportsKeysAndGetItem[str, str], **kwargs: str) -> None: ...
125
+ @overload
126
+ def extend(self, other: None = None, **kwargs: str) -> None: ...
127
+ def copy(self) -> MultiDict[str, str]: ... # type: ignore[override]
78
128
 
79
129
  class NestedMultiDict(MultiDict[_KT, _VT]):
80
- dicts: tuple[MultiDict[_KT, _VT] | NoVars, ...]
81
- def __init__(self, *dicts: MultiDict[_KT, _VT] | NoVars) -> None: ...
82
- def __setitem__(self, key: _KT, value: _VT) -> None: ...
83
- def add(self, key: _KT, value: _VT) -> None: ...
84
- def __delitem__(self, key: _KT) -> None: ...
85
- def clear(self) -> None: ...
86
- def setdefault(self, key: _KT, default: _VT | None = ...) -> Any: ...
87
- def pop(self, key: _KT, default: Any = ...) -> Any: ...
88
- def popitem(self) -> tuple[_KT, _VT]: ...
89
- def update(self, *args: Any, **kwargs: _VT) -> None: ...
130
+ # FIXME: It would be more accurate to use a Protocol here, which has a
131
+ # covariant _VT, instead of MultiDict
132
+ dicts: tuple[MultiDict[_KT, _VT], ...]
133
+ def __init__(self, *dicts: MultiDict[_KT, _VT]) -> None: ...
134
+ def __getitem__(self, key: _KT) -> _VT: ...
135
+ # NOTE: These methods all return exceptions, so this will give us
136
+ # somewhat sane type checker errors, we would prefer to use
137
+ # something like @type_error here, if it existed.
138
+ # This is only really necessary, because the inheritance hierachy
139
+ # is a mess.
140
+ __setitem__: None # type: ignore[assignment]
141
+ add: None # type: ignore[assignment]
142
+ __delitem__: None # type: ignore[assignment]
143
+ clear: None # type: ignore[assignment]
144
+ setdefault: None # type: ignore[assignment]
145
+ pop: None # type: ignore[assignment]
146
+ popitem: None # type: ignore[assignment]
147
+ update: None # type: ignore[assignment]
148
+ def getall(self, key: _KT) -> list[_VT]: ...
90
149
  def copy(self) -> MultiDict[_KT, _VT]: ... # type: ignore[override]
150
+ def __contains__(self, key: object) -> bool: ...
151
+ has_key = __contains__
152
+ def __len__(self) -> int: ...
153
+ def items(self) -> Iterator[tuple[_KT, _VT]]: ... # type: ignore[override]
154
+ def values(self) -> Iterator[_VT]: ... # type: ignore[override]
155
+ def keys(self) -> Iterator[_KT]: ... # type: ignore[override]
156
+ __iter__ = keys
91
157
 
92
158
  class NoVars:
93
159
  reason: str