+
    Qi                       a  R t+0 t R t^ RIHtHt ^ RIHtHtHtH	t	 ^ RI
t. t] ^ k R R ltR R ltR R	 ltR
t] ^k ]! 4       t] ^k ]! 4       t] ^k ]! 4       t] ^k  ]'       d   ^ RIHt ^ RIt^ RIHt ^ RIHtHtHt ^ RIHtH t  ]].]PB                  PD                  3,          t#] ^k R R lt$R R lt%R R lt& ! R R] 4      t'R R lt(R#   ]) d   t*R R lt( Rt*A*R# Rt*A*ii ; i)aK  A mypy_ plugin for managing a number of platform-specific annotations.
Its functionality can be split into three distinct parts:

* Assigning the (platform-dependent) precisions of certain `~numpy.number`
  subclasses, including the likes of `~numpy.int_`, `~numpy.intp` and
  `~numpy.longlong`. See the documentation on
  :ref:`scalar types <arrays.scalars.built-in>` for a comprehensive overview
  of the affected classes. Without the plugin the precision of all relevant
  classes will be inferred as `~typing.Any`.
* Removing all extended-precision `~numpy.number` subclasses that are
  unavailable for the platform in question. Most notably this includes the
  likes of `~numpy.float128` and `~numpy.complex256`. Without the plugin *all*
  extended-precision types will, as far as mypy is concerned, be available
  to all platforms.
* Assigning the (platform-dependent) precision of `~numpy.ctypeslib.c_intp`.
  Without the plugin the type will default to `ctypes.c_int64`.

  .. versionadded:: 1.22

.. deprecated:: 2.3
    The :mod:`numpy.typing.mypy_plugin` entry-point is deprecated in favor of
    platform-agnostic static type inference. Remove
    ``numpy.typing.mypy_plugin`` from the ``plugins`` section of your mypy
    configuration; if that surfaces new errors, please open an issue with a
    minimal reproducer.

Examples
--------
To enable the plugin, one must add it to their mypy `configuration file`_:

.. code-block:: ini

    [mypy]
    plugins = numpy.typing.mypy_plugin

.. _mypy: https://mypy-lang.org/
.. _configuration file: https://mypy.readthedocs.io/en/stable/config_file.html

)CallableIterable)TYPE_CHECKINGFinal	TypeAliascastNc                F    V ^8  d   QhR\         \        \        3,          /#    return)dictstr)formats   "^/Users/mibo/.openclaw/workspace/.venv/lib/python3.14/site-packages/numpy/typing/mypy_plugin.py__annotate__r   1   s      T#s(^     c                     R \         P                  3R\         P                  3R\         P                  3R\         P                  3R\         P
                  3R\         P                  3R\         P                  3R\         P                  3R\         P                  3R	\         P                  3R
\         P                  3.p / pV  FD  w  r#^\         P                  ! V4      P                  ,          p\         RV R2V\         RV 2&   KF  	  V# )	_NBitByte
_NBitShort	_NBitIntC	_NBitIntP_NBitInt	_NBitLong_NBitLongLong	_NBitHalf_NBitSingle_NBitDouble_NBitLongDoublez._nbit_base._Bit._nbit.)npbyteshortintcintpint_longlonglonghalfsingledouble
longdoubledtypeitemsize_MODULE)namesretnametypns        r   _get_precision_dictr4   1   s    	bgg	rxx 	bgg	bgg	RWW	bgg	"++&	bgg			"			"	BMM*E C	&&&,39M!C)Hwiwtf%&  Jr   c                :    V ^8  d   QhR\         \        ,          /# r	   )listr   )r   s   "r   r   r   G   s     9 9d3i 9r   c                  h    . ROp V  Uu. uF  p\        \        V4      '       g   K  VNK  	  up# u upi )float96)r8   float128
complex192
complex256)hasattrr    )extended_namesis     r   _get_extended_precision_listr?   G   s-    N &8~!QAA~888s   //c                $    V ^8  d   QhR\         /# r	   )r   )r   s   "r   r   r   P   s     ( (# (r   c                  n    R RRRRR/P                  \        P                  ! R4      P                  R4      # )r>   c_intlc_longq
c_longlongr3   )getr    r,   char r   r   _get_c_intp_namerJ   P   s9     	WX\ 
c"((3-

h'	(r   znumpy._typing)TypeAnalyser)PRI_MED)
ImportFromMypyFile	Statement)AnalyzeTypeContextPluginc                X    V ^8  d   QhR\         R\        P                  P                  /# )r
   ctxr   )rP   mypytypesType)r   s   "r   r   r   x   s#     > >% >$**// >r   c                    V w  rpVP                   P                  R4      R,          p\        \         RV 2,          p\	        RV4      P                  V4      # )z;Replace a type-alias with a concrete ``NBitBase`` subclass..r   rK   )r1   split_PRECISION_DICTr.   r   
named_type)rS   r2   _apir1   name_news   &     r   _hookr`   x   sO    xx~~c"2&"gYgdV#<=NC(33H==r   c                R    V ^8  d   QhR\         \        ,          R\        R\        /# )r
   iterableidr   )r   rO   r   int)r   s   "r   r   r      s&     ; ;), ;# ;# ;r   c                t    \        V 4       F  w  r#\        VRR4      V8X  g   K  Vu # 	  \        RV: 24      h)z>Identify the first ``ImportFrom`` instance the specified `id`.rc   NzBFailed to identify a `ImportFrom` instance with the following id: )	enumerategetattr
ValueError)rb   rc   r>   values   &&  r   _indexrj      sG    !(+HAudD)R/ ,  335&: ; 	;r   c          
          V ^8  d   QhR\         R\        R\        \        \        \        R,          3,          ,          RR/# )r
   filemoduleimportsNr   )rN   r   r6   tuple)r   s   "r   r   r      sB           eCtO,-  
	 r   c                    \        V^ VR7      pRVn        V P                  \        RV P                  4      3 F  p\        WA4      pW4V&   K  	  R# )z<Override the first `module`-based import with new `imports`.)r/   Tzlist[Statement]N)rM   is_top_leveldefsr   rn   rj   )rl   rm   rn   
import_objlstr>   s   &&&   r   _override_importsru      sM      9
"&
 IIt$5t||DECs#AF Fr   c                   H   a  ] tR t^t o RtV 3R lR ltV 3R lR ltRtV tR# )_NumpyPluginz>A mypy plugin for handling versus numpy-specific typing tasks.c                4   < V ^8  d   QhRS[ RS[R,          /# )r
   fullnamer   N)r   	_HookFunc)r   __classdict__s   "r   r   _NumpyPlugin.__annotate__   s      	 	# 	)d:J 	r   c                (    V\         9   d   \        # R# )zSet the precision of platform-specific `numpy.number`
subclasses.

For example: `numpy.int_`, `numpy.longlong` and `numpy.longdouble`.
N)r[   r`   )selfry   s   &&r   get_type_analyze_hook"_NumpyPlugin.get_type_analyze_hook   s     ?*r   c                P   < V ^8  d   QhRS[ RS[S[S[S[S[3,          ,          /# )r
   rl   r   )rN   r6   ro   rd   r   )r   r{   s   "r   r   r|      s-     	- 	- 	-%S#&'	-r   c           	         VP                   pVR8X  d,   \        T\         R2\         Uu. uF  q3V3NK  	  upR7       MVR8X  d   \        VR\        R3.R7       \
        VR3.# u upi )zHandle all import-based overrides.

* Import platform-specific extended-precision `numpy.number`
  subclasses (*e.g.* `numpy.float96` and `numpy.float128`).
* Import the appropriate `ctypes` equivalent to `numpy.intp`.

numpyz._extended_precision)rn   znumpy.ctypeslibctypes_c_intprY   )ry   ru   r.   _EXTENDED_PRECISION_LIST_C_INTPrL   )r~   rl   ry   vs   &&  r   get_additional_deps _NumpyPlugin.get_additional_deps   s}     }}H7"!i34-EF-EV-EF
 ..!%y12
 h+,, Gs   A%rI   N)	__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes____classdictcell__)r{   s   @r   rw   rw      s     L	 		- 	-r   rw   c                0    V ^8  d   QhR\         R\        /# r
   versionr   r   type)r   s   "r   r   r      s        r   c                 \    ^ RI pRpRV RV R2pVP                  V\        ^R7       \        # )    Nznumpy.typing.mypy_plugin`zS` is deprecated, and will be removed in a future release. Please remove `plugins = z/` in your mypy config.(deprecated in NumPy 2.3))
stacklevel)warningswarnDeprecationWarningrw   )r   r   pluginwarn_msgs   &   r   r   r      sG    + x 117 9() 	
 	h 2qAr   c                0    V ^8  d   QhR\         R\        /# r   r   )r   s   "r   r   r   q   s        r   c                     \         h)N)e)r   s   &r   r   r   q   s    r   c                   V ^8  d   Qh/ ^ \         9   d   \        \        ,          ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   # )r
   __all__r.   r[   r   r   rz   )__conditional_annotations__r6   r   r   r   )r   s   "r   r   r      s     & &Z  c [&p !    q&x / . .y&~ A @% @&D $ # #E&j KJyJk&r   ),r   r   collections.abcr   r   typingr   r   r   r   r   r    r   r4   r?   rJ   r.   r[   r   r   mypy.typeanalrK   
mypy.typesrT   
mypy.buildrL   
mypy.nodesrM   rN   rO   mypy.pluginrP   rQ   rU   rV   rz   r`   rj   ru   rw   r   ModuleNotFoundErrorr   r   )r   s   @r   <module>r      s   &P / 8 8  ,9( !   -. . #?"@  @ "# #b."::6 $%7$8$**//$IJIJ>; $-v $-L[   s   !C )"C C,C''C,