hyb
2025-11-07 cadac0a99d87c53805a07f3b4ca7fd11e524fe4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
Ë
@ñúhãóܗddlmZddlZddlZddlmZddlmZddlm    Z    ddl
Z ddl Z ddl Z d„ZeZerddl
mZne    e j$j «ZGd    „d
e«ZGd „d e«Zy) é)Ú annotationsN)Ú TYPE_CHECKING)ÚStrPathé)Ú get_unpatchedcóX—d}    t|dg¬«jy#t$rYywxYw)z0
    Return True if Cython can be imported.
    zCython.Distutils.build_extÚ    build_ext)ÚfromlistFT)Ú
__import__r    Ú    Exception)Ú cython_impls úGH:\Change_password\venv_build\Lib\site-packages\setuptools/extension.pyÚ _have_cythonrs9€ð/€Kðä;¨+¨Ô7×AÒAð øô òÙðús „    )¨))Ú    Extensioncóh‡—eZdZUdZded<ded<ded<ded<dd    œ                            d ˆfd
„Zd „ZˆxZS) ra–
    Describes a single extension module.
 
    This means that all source files will be compiled into a single binary file
    ``<module path>.<suffix>`` (with ``<module path>`` derived from ``name`` and
    ``<suffix>`` defined by one of the values in
    ``importlib.machinery.EXTENSION_SUFFIXES``).
 
    In the case ``.pyx`` files are passed as ``sources and`` ``Cython`` is **not**
    installed in the build environment, ``setuptools`` may also try to look for the
    equivalent ``.cpp`` or ``.c`` files.
 
    :arg str name:
      the full name of the extension, including any packages -- ie.
      *not* a filename or pathname, but Python dotted name
 
    :arg list[str|os.PathLike[str]] sources:
      list of source filenames, relative to the distribution root
      (where the setup script lives), in Unix form (slash-separated)
      for portability.  Source files may be C, C++, SWIG (.i),
      platform-specific resource files, or whatever else is recognized
      by the "build_ext" command as source for a Python extension.
 
    :keyword list[str] include_dirs:
      list of directories to search for C/C++ header files (in Unix
      form for portability)
 
    :keyword list[tuple[str, str|None]] define_macros:
      list of macros to define; each macro is defined using a 2-tuple:
      the first item corresponding to the name of the macro and the second
      item either a string with its value or None to
      define it without a particular value (equivalent of "#define
      FOO" in source or -DFOO on Unix C compiler command line)
 
    :keyword list[str] undef_macros:
      list of macros to undefine explicitly
 
    :keyword list[str] library_dirs:
      list of directories to search for C/C++ libraries at link time
 
    :keyword list[str] libraries:
      list of library names (not filenames or paths) to link against
 
    :keyword list[str] runtime_library_dirs:
      list of directories to search for C/C++ libraries at run time
      (for shared extensions, this is when the extension is loaded).
      Setting this will cause an exception during build on Windows
      platforms.
 
    :keyword list[str] extra_objects:
      list of extra files to link with (eg. object files not implied
      by 'sources', static library that must be explicitly specified,
      binary resource files, etc.)
 
    :keyword list[str] extra_compile_args:
      any extra platform- and compiler-specific information to use
      when compiling the source files in 'sources'.  For platforms and
      compilers where "command line" makes sense, this is typically a
      list of command-line arguments, but for other platforms it could
      be anything.
 
    :keyword list[str] extra_link_args:
      any extra platform- and compiler-specific information to use
      when linking object files together to create the extension (or
      to create a new static Python interpreter).  Similar
      interpretation as for 'extra_compile_args'.
 
    :keyword list[str] export_symbols:
      list of symbols to be exported from a shared extension.  Not
      used on all platforms, and not generally necessary for Python
      extensions, which typically export exactly one symbol: "init" +
      extension_name.
 
    :keyword list[str] swig_opts:
      any extra options to pass to SWIG if a source file has the .i
      extension.
 
    :keyword list[str] depends:
      list of files that the extension depends on
 
    :keyword str language:
      extension language (i.e. "c", "c++", "objc"). Will be detected
      from the source extensions if not provided.
 
    :keyword bool optional:
      specifies that a build failure in the extension should not abort the
      build process, but simply not install the failing extension.
 
    :keyword bool py_limited_api:
      opt-in flag for the usage of :doc:`Python's limited API <python:c-api/stable>`.
 
    :raises setuptools.errors.PlatformError: if ``runtime_library_dirs`` is
      specified on Windows. (since v63)
    ÚstrÚ
_full_nameÚboolÚ_links_to_dynamicÚ _needs_stubÚ
_file_nameF)Úpy_limited_apicó<•—||_t‰|||g|¢­i|¤Žy)N)rÚsuperÚ__init__)ÚselfÚnameÚsourcesrÚargsÚkwÚ    __class__s      €rrzExtension.__init__s4ø€ð-ˆÔÜ ‰ÑØ Ø ð    
ðò    
ðó        
ócóú—t«ry|jxsd}|j«dk(rdnd}tjt
j d|«}tt||j««|_    y)zÜ
        Replace sources with .pyx extensions to sources with the target
        language extension. This mechanism allows language authors to supply
        pre-converted sources but to prefer the .pyx sources.
        NÚzc++z.cppz.cz.pyx$)
rÚlanguageÚlowerÚ    functoolsÚpartialÚreÚsubÚlistÚmapr)rÚlangÚ
target_extr*s    rÚ_convert_pyx_sources_to_langz&Extension._convert_pyx_sources_to_lang¡s]€ô Œ>à Ø}‰}Ò" ˆØ#Ÿz™z›|¨uÒ4‘V¸$ˆ
Ü×Ѥ§¡¨°Ó<ˆÜœC  T§\¡\Ó2Ó3ˆ r")rrrz list[StrPath]rrÚreturnÚNone)Ú__name__Ú
__module__Ú __qualname__Ú__doc__Ú__annotations__rr/Ú __classcell__)r!s@rrr&sWø…ñ]ðFƒOØÓØÓ؃Oð %ñ 
àð
ðð
ð
ð 
ð
õ
ö$ 4r"rcó—eZdZdZy)ÚLibraryz=Just like a regular Extension, but built as a library insteadN)r2r3r4r5©r"rr9r9°s„ÚGr"r9)Ú
__future__rr'r)ÚtypingrÚsetuptools._pathrÚmonkeyrÚdistutils.coreÚ    distutilsÚdistutils.errorsÚdistutils.extensionrÚ
have_pyrexrÚ
_ExtensionÚcorer9r:r"rú<module>rFscðÝ"ãÛ    Ý å$å!ãÛÛò
ð€
Ùæ6á˜yŸ~™~×7Ñ7Ó8€JôG4
ôG4ôTHˆiõHr"