pythonnet 3.0.3__tar.gz → 3.0.5__tar.gz

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 (434) hide show
  1. {pythonnet-3.0.3 → pythonnet-3.0.5}/AUTHORS.md +2 -0
  2. {pythonnet-3.0.3/pythonnet.egg-info → pythonnet-3.0.5}/PKG-INFO +4 -5
  3. {pythonnet-3.0.3 → pythonnet-3.0.5}/pyproject.toml +13 -2
  4. {pythonnet-3.0.3 → pythonnet-3.0.5/pythonnet.egg-info}/PKG-INFO +4 -5
  5. pythonnet-3.0.5/pythonnet.egg-info/SOURCES.txt +201 -0
  6. pythonnet-3.0.5/pythonnet.egg-info/requires.txt +1 -0
  7. {pythonnet-3.0.3 → pythonnet-3.0.5}/pythonnet.sln +0 -2
  8. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/AssemblyManager.cs +7 -0
  9. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/ClassManager.cs +4 -2
  10. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/CollectionWrappers/IterableWrapper.cs +13 -9
  11. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Converter.cs +9 -2
  12. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Exceptions.cs +2 -2
  13. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Finalizer.cs +4 -4
  14. pythonnet-3.0.5/src/runtime/InternalPythonnetException.cs +9 -0
  15. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Loader.cs +3 -3
  16. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/MethodBinder.cs +10 -5
  17. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/CustomMarshaler.cs +1 -1
  18. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/NativeTypeSpec.cs +1 -1
  19. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/StrPtr.cs +2 -0
  20. pythonnet-3.0.5/src/runtime/Native/TypeOffset313.cs +152 -0
  21. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonEngine.cs +1 -1
  22. pythonnet-3.0.5/src/runtime/PythonTypes/PyFloat.IComparable.cs +34 -0
  23. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyFloat.cs +3 -1
  24. pythonnet-3.0.5/src/runtime/PythonTypes/PyInt.IComparable.cs +136 -0
  25. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyInt.cs +1 -1
  26. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyModule.cs +12 -1
  27. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyObject.cs +18 -1
  28. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyString.cs +20 -1
  29. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyType.cs +1 -1
  30. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Runtime.Delegates.cs +12 -4
  31. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Runtime.cs +38 -42
  32. pythonnet-3.0.5/src/runtime/StateSerialization/NoopFormatter.cs +14 -0
  33. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/RuntimeData.cs +132 -6
  34. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ClrObject.cs +8 -0
  35. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/MethodBinding.cs +1 -0
  36. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/MethodObject.cs +5 -5
  37. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/OperatorMethod.cs +6 -12
  38. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ReflectedClrType.cs +19 -12
  39. pythonnet-3.0.5/src/runtime/Util/Encodings.cs +10 -0
  40. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_conversion.py +3 -0
  41. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_method.py +1 -0
  42. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_module.py +14 -0
  43. pythonnet-3.0.5/version.txt +1 -0
  44. pythonnet-3.0.3/.editorconfig +0 -44
  45. pythonnet-3.0.3/.github/ISSUE_TEMPLATE.md +0 -26
  46. pythonnet-3.0.3/.github/PULL_REQUEST_TEMPLATE.md +0 -21
  47. pythonnet-3.0.3/.github/workflows/ARM.yml +0 -56
  48. pythonnet-3.0.3/.github/workflows/docs.yml +0 -40
  49. pythonnet-3.0.3/.github/workflows/main.yml +0 -96
  50. pythonnet-3.0.3/.github/workflows/nuget-preview.yml +0 -63
  51. pythonnet-3.0.3/.gitignore +0 -71
  52. pythonnet-3.0.3/.mention-bot +0 -35
  53. pythonnet-3.0.3/CHANGELOG.md +0 -952
  54. pythonnet-3.0.3/CONTRIBUTING.md +0 -48
  55. pythonnet-3.0.3/demo/DynamicGrid.py +0 -23
  56. pythonnet-3.0.3/demo/DynamicGrid.xaml +0 -34
  57. pythonnet-3.0.3/demo/helloform.py +0 -63
  58. pythonnet-3.0.3/demo/splitter.py +0 -94
  59. pythonnet-3.0.3/demo/wordpad.py +0 -422
  60. pythonnet-3.0.3/doc/.gitignore +0 -2
  61. pythonnet-3.0.3/doc/Doxyfile +0 -2656
  62. pythonnet-3.0.3/doc/Makefile +0 -20
  63. pythonnet-3.0.3/doc/make.bat +0 -35
  64. pythonnet-3.0.3/doc/requirements.txt +0 -12
  65. pythonnet-3.0.3/doc/source/_static/.keep +0 -0
  66. pythonnet-3.0.3/doc/source/codecs.rst +0 -69
  67. pythonnet-3.0.3/doc/source/conf.py +0 -60
  68. pythonnet-3.0.3/doc/source/dotnet.rst +0 -125
  69. pythonnet-3.0.3/doc/source/index.rst +0 -68
  70. pythonnet-3.0.3/doc/source/pyreference.rst +0 -10
  71. pythonnet-3.0.3/doc/source/python.rst +0 -566
  72. pythonnet-3.0.3/doc/source/reference.rst +0 -42
  73. pythonnet-3.0.3/pythonnet/.gitignore +0 -3
  74. pythonnet-3.0.3/pythonnet/runtime/.gitkeep +0 -0
  75. pythonnet-3.0.3/pythonnet.egg-info/SOURCES.txt +0 -423
  76. pythonnet-3.0.3/pythonnet.egg-info/requires.txt +0 -1
  77. pythonnet-3.0.3/requirements.txt +0 -14
  78. pythonnet-3.0.3/src/console/Console.csproj +0 -27
  79. pythonnet-3.0.3/src/console/python-clear.ico +0 -0
  80. pythonnet-3.0.3/src/console/python-clear.png +0 -0
  81. pythonnet-3.0.3/src/console/pythonconsole.cs +0 -82
  82. pythonnet-3.0.3/src/embed_tests/CallableObject.cs +0 -87
  83. pythonnet-3.0.3/src/embed_tests/ClassManagerTests.cs +0 -40
  84. pythonnet-3.0.3/src/embed_tests/CodecGroups.cs +0 -132
  85. pythonnet-3.0.3/src/embed_tests/Codecs.cs +0 -536
  86. pythonnet-3.0.3/src/embed_tests/ExtensionTypes.cs +0 -32
  87. pythonnet-3.0.3/src/embed_tests/GlobalTestsSetup.cs +0 -37
  88. pythonnet-3.0.3/src/embed_tests/Inheritance.cs +0 -225
  89. pythonnet-3.0.3/src/embed_tests/Inspect.cs +0 -59
  90. pythonnet-3.0.3/src/embed_tests/Modules.cs +0 -405
  91. pythonnet-3.0.3/src/embed_tests/NumPyTests.cs +0 -97
  92. pythonnet-3.0.3/src/embed_tests/Python.EmbeddingTest.csproj +0 -35
  93. pythonnet-3.0.3/src/embed_tests/References.cs +0 -47
  94. pythonnet-3.0.3/src/embed_tests/StateSerialization/MethodSerialization.cs +0 -46
  95. pythonnet-3.0.3/src/embed_tests/TestCallbacks.cs +0 -33
  96. pythonnet-3.0.3/src/embed_tests/TestConverter.cs +0 -214
  97. pythonnet-3.0.3/src/embed_tests/TestCustomMarshal.cs +0 -35
  98. pythonnet-3.0.3/src/embed_tests/TestDomainReload.cs +0 -402
  99. pythonnet-3.0.3/src/embed_tests/TestFinalizer.cs +0 -244
  100. pythonnet-3.0.3/src/embed_tests/TestGILState.cs +0 -33
  101. pythonnet-3.0.3/src/embed_tests/TestInstanceWrapping.cs +0 -68
  102. pythonnet-3.0.3/src/embed_tests/TestInterrupt.cs +0 -98
  103. pythonnet-3.0.3/src/embed_tests/TestNamedArguments.cs +0 -64
  104. pythonnet-3.0.3/src/embed_tests/TestNativeTypeOffset.cs +0 -45
  105. pythonnet-3.0.3/src/embed_tests/TestOperator.cs +0 -530
  106. pythonnet-3.0.3/src/embed_tests/TestPyBuffer.cs +0 -161
  107. pythonnet-3.0.3/src/embed_tests/TestPyFloat.cs +0 -130
  108. pythonnet-3.0.3/src/embed_tests/TestPyInt.cs +0 -224
  109. pythonnet-3.0.3/src/embed_tests/TestPyIter.cs +0 -37
  110. pythonnet-3.0.3/src/embed_tests/TestPyList.cs +0 -172
  111. pythonnet-3.0.3/src/embed_tests/TestPyNumber.cs +0 -35
  112. pythonnet-3.0.3/src/embed_tests/TestPyObject.cs +0 -111
  113. pythonnet-3.0.3/src/embed_tests/TestPySequence.cs +0 -95
  114. pythonnet-3.0.3/src/embed_tests/TestPyString.cs +0 -116
  115. pythonnet-3.0.3/src/embed_tests/TestPyTuple.cs +0 -171
  116. pythonnet-3.0.3/src/embed_tests/TestPyType.cs +0 -47
  117. pythonnet-3.0.3/src/embed_tests/TestPyWith.cs +0 -88
  118. pythonnet-3.0.3/src/embed_tests/TestPythonEngineProperties.cs +0 -234
  119. pythonnet-3.0.3/src/embed_tests/TestPythonException.cs +0 -180
  120. pythonnet-3.0.3/src/embed_tests/TestRuntime.cs +0 -130
  121. pythonnet-3.0.3/src/embed_tests/dynamic.cs +0 -163
  122. pythonnet-3.0.3/src/embed_tests/fixtures/PyImportTest/__init__.py +0 -1
  123. pythonnet-3.0.3/src/embed_tests/fixtures/PyImportTest/cast_global_var.py +0 -7
  124. pythonnet-3.0.3/src/embed_tests/fixtures/PyImportTest/sysargv.py +0 -5
  125. pythonnet-3.0.3/src/embed_tests/fixtures/PyImportTest/test/__init__.py +0 -1
  126. pythonnet-3.0.3/src/embed_tests/fixtures/PyImportTest/test/one.py +0 -1
  127. pythonnet-3.0.3/src/embed_tests/pyimport.cs +0 -113
  128. pythonnet-3.0.3/src/embed_tests/pyinitialize.cs +0 -157
  129. pythonnet-3.0.3/src/embed_tests/pyrunstring.cs +0 -74
  130. pythonnet-3.0.3/src/perf_tests/BaselineComparisonBenchmarkBase.cs +0 -74
  131. pythonnet-3.0.3/src/perf_tests/BaselineComparisonConfig.cs +0 -53
  132. pythonnet-3.0.3/src/perf_tests/BenchmarkTests.cs +0 -74
  133. pythonnet-3.0.3/src/perf_tests/Python.PerformanceTests.csproj +0 -48
  134. pythonnet-3.0.3/src/perf_tests/PythonCallingNetBenchmark.cs +0 -58
  135. pythonnet-3.0.3/src/perf_tests/baseline/.gitkeep +0 -0
  136. pythonnet-3.0.3/src/python_tests_runner/Python.PythonTestsRunner.csproj +0 -26
  137. pythonnet-3.0.3/src/python_tests_runner/PythonTestRunner.cs +0 -84
  138. pythonnet-3.0.3/src/testing/CodecTest.cs +0 -56
  139. pythonnet-3.0.3/src/testing/InheritanceTest.cs +0 -14
  140. pythonnet-3.0.3/src/testing/Python.Test.csproj +0 -13
  141. pythonnet-3.0.3/src/testing/ReprTest.cs +0 -108
  142. pythonnet-3.0.3/src/testing/arraytest.cs +0 -329
  143. pythonnet-3.0.3/src/testing/callbacktest.cs +0 -44
  144. pythonnet-3.0.3/src/testing/classtest.cs +0 -74
  145. pythonnet-3.0.3/src/testing/constructortests.cs +0 -86
  146. pythonnet-3.0.3/src/testing/conversiontest.cs +0 -97
  147. pythonnet-3.0.3/src/testing/delegatetest.cs +0 -103
  148. pythonnet-3.0.3/src/testing/doctest.cs +0 -58
  149. pythonnet-3.0.3/src/testing/enumtest.cs +0 -101
  150. pythonnet-3.0.3/src/testing/eventtest.cs +0 -160
  151. pythonnet-3.0.3/src/testing/exceptiontest.cs +0 -145
  152. pythonnet-3.0.3/src/testing/fieldtest.cs +0 -53
  153. pythonnet-3.0.3/src/testing/generictest.cs +0 -147
  154. pythonnet-3.0.3/src/testing/globaltest.cs +0 -7
  155. pythonnet-3.0.3/src/testing/indexertest.cs +0 -449
  156. pythonnet-3.0.3/src/testing/interfacetest.cs +0 -117
  157. pythonnet-3.0.3/src/testing/methodtest.cs +0 -777
  158. pythonnet-3.0.3/src/testing/moduletest.cs +0 -30
  159. pythonnet-3.0.3/src/testing/mp_lengthtest.cs +0 -171
  160. pythonnet-3.0.3/src/testing/nonexportable.cs +0 -8
  161. pythonnet-3.0.3/src/testing/propertytest.cs +0 -84
  162. pythonnet-3.0.3/src/testing/subclasstest.cs +0 -127
  163. pythonnet-3.0.3/src/testing/threadtest.cs +0 -69
  164. pythonnet-3.0.3/tests/__init__.py +0 -1
  165. pythonnet-3.0.3/tests/_missing_import.py +0 -3
  166. pythonnet-3.0.3/tests/conftest.py +0 -120
  167. pythonnet-3.0.3/tests/domain_tests/App.config +0 -6
  168. pythonnet-3.0.3/tests/domain_tests/Python.DomainReloadTests.csproj +0 -26
  169. pythonnet-3.0.3/tests/domain_tests/TestRunner.cs +0 -1373
  170. pythonnet-3.0.3/tests/domain_tests/test_domain_reload.py +0 -90
  171. pythonnet-3.0.3/tests/fixtures/argv-fixture.py +0 -12
  172. pythonnet-3.0.3/tests/importtest.py +0 -13
  173. pythonnet-3.0.3/tests/leaktest.py +0 -332
  174. pythonnet-3.0.3/tests/profile.py +0 -40
  175. pythonnet-3.0.3/tests/runtests.py +0 -38
  176. pythonnet-3.0.3/tests/stress.py +0 -77
  177. pythonnet-3.0.3/tests/stresstest.py +0 -58
  178. pythonnet-3.0.3/tests/tests.pyproj +0 -65
  179. pythonnet-3.0.3/tests/utils.py +0 -135
  180. pythonnet-3.0.3/tools/geninterop/fake_libc_include/_ansi.h +0 -2
  181. pythonnet-3.0.3/tools/geninterop/fake_libc_include/_fake_defines.h +0 -46
  182. pythonnet-3.0.3/tools/geninterop/fake_libc_include/_fake_typedefs.h +0 -155
  183. pythonnet-3.0.3/tools/geninterop/fake_libc_include/_syslist.h +0 -2
  184. pythonnet-3.0.3/tools/geninterop/fake_libc_include/alloca.h +0 -2
  185. pythonnet-3.0.3/tools/geninterop/fake_libc_include/ar.h +0 -2
  186. pythonnet-3.0.3/tools/geninterop/fake_libc_include/argz.h +0 -2
  187. pythonnet-3.0.3/tools/geninterop/fake_libc_include/arpa/inet.h +0 -2
  188. pythonnet-3.0.3/tools/geninterop/fake_libc_include/asm-generic/int-ll64.h +0 -2
  189. pythonnet-3.0.3/tools/geninterop/fake_libc_include/assert.h +0 -2
  190. pythonnet-3.0.3/tools/geninterop/fake_libc_include/complex.h +0 -2
  191. pythonnet-3.0.3/tools/geninterop/fake_libc_include/crypt.h +0 -1
  192. pythonnet-3.0.3/tools/geninterop/fake_libc_include/ctype.h +0 -2
  193. pythonnet-3.0.3/tools/geninterop/fake_libc_include/dirent.h +0 -2
  194. pythonnet-3.0.3/tools/geninterop/fake_libc_include/dlfcn.h +0 -2
  195. pythonnet-3.0.3/tools/geninterop/fake_libc_include/endian.h +0 -2
  196. pythonnet-3.0.3/tools/geninterop/fake_libc_include/envz.h +0 -2
  197. pythonnet-3.0.3/tools/geninterop/fake_libc_include/errno.h +0 -2
  198. pythonnet-3.0.3/tools/geninterop/fake_libc_include/fastmath.h +0 -2
  199. pythonnet-3.0.3/tools/geninterop/fake_libc_include/fcntl.h +0 -2
  200. pythonnet-3.0.3/tools/geninterop/fake_libc_include/features.h +0 -2
  201. pythonnet-3.0.3/tools/geninterop/fake_libc_include/fenv.h +0 -2
  202. pythonnet-3.0.3/tools/geninterop/fake_libc_include/float.h +0 -2
  203. pythonnet-3.0.3/tools/geninterop/fake_libc_include/getopt.h +0 -2
  204. pythonnet-3.0.3/tools/geninterop/fake_libc_include/grp.h +0 -2
  205. pythonnet-3.0.3/tools/geninterop/fake_libc_include/iconv.h +0 -2
  206. pythonnet-3.0.3/tools/geninterop/fake_libc_include/ieeefp.h +0 -2
  207. pythonnet-3.0.3/tools/geninterop/fake_libc_include/inttypes.h +0 -2
  208. pythonnet-3.0.3/tools/geninterop/fake_libc_include/io.h +0 -0
  209. pythonnet-3.0.3/tools/geninterop/fake_libc_include/iso646.h +0 -2
  210. pythonnet-3.0.3/tools/geninterop/fake_libc_include/langinfo.h +0 -2
  211. pythonnet-3.0.3/tools/geninterop/fake_libc_include/libgen.h +0 -2
  212. pythonnet-3.0.3/tools/geninterop/fake_libc_include/libintl.h +0 -2
  213. pythonnet-3.0.3/tools/geninterop/fake_libc_include/limits.h +0 -2
  214. pythonnet-3.0.3/tools/geninterop/fake_libc_include/linux/socket.h +0 -2
  215. pythonnet-3.0.3/tools/geninterop/fake_libc_include/linux/version.h +0 -2
  216. pythonnet-3.0.3/tools/geninterop/fake_libc_include/locale.h +0 -2
  217. pythonnet-3.0.3/tools/geninterop/fake_libc_include/malloc.h +0 -2
  218. pythonnet-3.0.3/tools/geninterop/fake_libc_include/math.h +0 -2
  219. pythonnet-3.0.3/tools/geninterop/fake_libc_include/netdb.h +0 -2
  220. pythonnet-3.0.3/tools/geninterop/fake_libc_include/netinet/in.h +0 -2
  221. pythonnet-3.0.3/tools/geninterop/fake_libc_include/netinet/tcp.h +0 -2
  222. pythonnet-3.0.3/tools/geninterop/fake_libc_include/newlib.h +0 -2
  223. pythonnet-3.0.3/tools/geninterop/fake_libc_include/openssl/err.h +0 -2
  224. pythonnet-3.0.3/tools/geninterop/fake_libc_include/openssl/evp.h +0 -2
  225. pythonnet-3.0.3/tools/geninterop/fake_libc_include/openssl/hmac.h +0 -2
  226. pythonnet-3.0.3/tools/geninterop/fake_libc_include/openssl/ssl.h +0 -2
  227. pythonnet-3.0.3/tools/geninterop/fake_libc_include/openssl/x509v3.h +0 -2
  228. pythonnet-3.0.3/tools/geninterop/fake_libc_include/paths.h +0 -2
  229. pythonnet-3.0.3/tools/geninterop/fake_libc_include/process.h +0 -2
  230. pythonnet-3.0.3/tools/geninterop/fake_libc_include/pthread.h +0 -2
  231. pythonnet-3.0.3/tools/geninterop/fake_libc_include/pwd.h +0 -2
  232. pythonnet-3.0.3/tools/geninterop/fake_libc_include/reent.h +0 -2
  233. pythonnet-3.0.3/tools/geninterop/fake_libc_include/regdef.h +0 -2
  234. pythonnet-3.0.3/tools/geninterop/fake_libc_include/regex.h +0 -2
  235. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sched.h +0 -2
  236. pythonnet-3.0.3/tools/geninterop/fake_libc_include/search.h +0 -2
  237. pythonnet-3.0.3/tools/geninterop/fake_libc_include/semaphore.h +0 -2
  238. pythonnet-3.0.3/tools/geninterop/fake_libc_include/setjmp.h +0 -2
  239. pythonnet-3.0.3/tools/geninterop/fake_libc_include/signal.h +0 -2
  240. pythonnet-3.0.3/tools/geninterop/fake_libc_include/stdarg.h +0 -2
  241. pythonnet-3.0.3/tools/geninterop/fake_libc_include/stdbool.h +0 -2
  242. pythonnet-3.0.3/tools/geninterop/fake_libc_include/stddef.h +0 -2
  243. pythonnet-3.0.3/tools/geninterop/fake_libc_include/stdint.h +0 -2
  244. pythonnet-3.0.3/tools/geninterop/fake_libc_include/stdio.h +0 -2
  245. pythonnet-3.0.3/tools/geninterop/fake_libc_include/stdlib.h +0 -2
  246. pythonnet-3.0.3/tools/geninterop/fake_libc_include/string.h +0 -2
  247. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/ioctl.h +0 -2
  248. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/mman.h +0 -2
  249. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/poll.h +0 -2
  250. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/resource.h +0 -2
  251. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/select.h +0 -2
  252. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/socket.h +0 -2
  253. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/stat.h +0 -2
  254. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/sysctl.h +0 -2
  255. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/time.h +0 -2
  256. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/types.h +0 -2
  257. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/uio.h +0 -2
  258. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/un.h +0 -2
  259. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/utsname.h +0 -2
  260. pythonnet-3.0.3/tools/geninterop/fake_libc_include/sys/wait.h +0 -2
  261. pythonnet-3.0.3/tools/geninterop/fake_libc_include/syslog.h +0 -2
  262. pythonnet-3.0.3/tools/geninterop/fake_libc_include/tar.h +0 -2
  263. pythonnet-3.0.3/tools/geninterop/fake_libc_include/termios.h +0 -2
  264. pythonnet-3.0.3/tools/geninterop/fake_libc_include/tgmath.h +0 -2
  265. pythonnet-3.0.3/tools/geninterop/fake_libc_include/time.h +0 -2
  266. pythonnet-3.0.3/tools/geninterop/fake_libc_include/unctrl.h +0 -2
  267. pythonnet-3.0.3/tools/geninterop/fake_libc_include/unistd.h +0 -2
  268. pythonnet-3.0.3/tools/geninterop/fake_libc_include/utime.h +0 -2
  269. pythonnet-3.0.3/tools/geninterop/fake_libc_include/utmp.h +0 -2
  270. pythonnet-3.0.3/tools/geninterop/fake_libc_include/wchar.h +0 -2
  271. pythonnet-3.0.3/tools/geninterop/fake_libc_include/wctype.h +0 -2
  272. pythonnet-3.0.3/tools/geninterop/fake_libc_include/zlib.h +0 -2
  273. pythonnet-3.0.3/tools/geninterop/geninterop.py +0 -377
  274. pythonnet-3.0.3/version.txt +0 -1
  275. {pythonnet-3.0.3 → pythonnet-3.0.5}/Directory.Build.props +0 -0
  276. {pythonnet-3.0.3 → pythonnet-3.0.5}/LICENSE +0 -0
  277. {pythonnet-3.0.3 → pythonnet-3.0.5}/MANIFEST.in +0 -0
  278. {pythonnet-3.0.3 → pythonnet-3.0.5}/README.rst +0 -0
  279. {pythonnet-3.0.3 → pythonnet-3.0.5}/clr.py +0 -0
  280. {pythonnet-3.0.3 → pythonnet-3.0.5}/pythonnet/__init__.py +0 -0
  281. {pythonnet-3.0.3 → pythonnet-3.0.5}/pythonnet.egg-info/dependency_links.txt +0 -0
  282. {pythonnet-3.0.3 → pythonnet-3.0.5}/pythonnet.egg-info/not-zip-safe +0 -0
  283. {pythonnet-3.0.3 → pythonnet-3.0.5}/pythonnet.egg-info/top_level.txt +0 -0
  284. {pythonnet-3.0.3 → pythonnet-3.0.5}/setup.cfg +0 -0
  285. {pythonnet-3.0.3 → pythonnet-3.0.5}/setup.py +0 -0
  286. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/pythonnet.snk +0 -0
  287. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/DecoderGroup.cs +0 -0
  288. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/EncoderGroup.cs +0 -0
  289. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/EnumPyIntCodec.cs +0 -0
  290. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/IPyObjectDecoder.cs +0 -0
  291. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/IPyObjectEncoder.cs +0 -0
  292. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/IterableDecoder.cs +0 -0
  293. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/ListDecoder.cs +0 -0
  294. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/PyObjectConversions.cs +0 -0
  295. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/RawProxyEncoder.cs +0 -0
  296. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/SequenceDecoder.cs +0 -0
  297. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Codecs/TupleCodecs.cs +0 -0
  298. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/CollectionWrappers/ListWrapper.cs +0 -0
  299. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/CollectionWrappers/SequenceWrapper.cs +0 -0
  300. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/DefaultBaseTypeProvider.cs +0 -0
  301. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/DelegateManager.cs +0 -0
  302. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/IPythonBaseTypeProvider.cs +0 -0
  303. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/ImportHook.cs +0 -0
  304. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Interfaces.cs +0 -0
  305. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/InternString.cs +0 -0
  306. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Interop.cs +0 -0
  307. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/InteropConfiguration.cs +0 -0
  308. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Mixins/CollectionMixinsProvider.cs +0 -0
  309. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Mixins/collections.py +0 -0
  310. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/ABI.cs +0 -0
  311. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/BorrowedReference.cs +0 -0
  312. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/GeneratedTypeOffsets.cs +0 -0
  313. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/ITypeOffsets.cs +0 -0
  314. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/LibDL.cs +0 -0
  315. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/LibraryLoader.cs +0 -0
  316. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/NativeCall.cs +0 -0
  317. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/NativeFunc.cs +0 -0
  318. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/NewReference.cs +0 -0
  319. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyBufferInterface.cs +0 -0
  320. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyCompilerFlags.cs +0 -0
  321. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyGILState.cs +0 -0
  322. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyIdentifier_.cs +0 -0
  323. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyIdentifier_.tt +0 -0
  324. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyInterpreterState.cs +0 -0
  325. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyMemberFlags.cs +0 -0
  326. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyMemberType.cs +0 -0
  327. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyMethodFlags.cs +0 -0
  328. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/PyThreadState.cs +0 -0
  329. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/ReferenceExtensions.cs +0 -0
  330. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/StolenReference.cs +0 -0
  331. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/TypeOffset.cs +0 -0
  332. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/TypeOffset310.cs +0 -0
  333. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/TypeOffset311.cs +0 -0
  334. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/TypeOffset312.cs +0 -0
  335. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/TypeOffset37.cs +0 -0
  336. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/TypeOffset38.cs +0 -0
  337. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Native/TypeOffset39.cs +0 -0
  338. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Properties/AssemblyInfo.cs +0 -0
  339. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Py.cs +0 -0
  340. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PyExportAttribute.cs +0 -0
  341. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Python.Runtime.csproj +0 -0
  342. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonBaseTypeProviderGroup.cs +0 -0
  343. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonException.cs +0 -0
  344. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyBuffer.cs +0 -0
  345. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyDict.cs +0 -0
  346. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyIter.cs +0 -0
  347. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyIterable.cs +0 -0
  348. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyList.cs +0 -0
  349. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyNumber.cs +0 -0
  350. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyObject.IConvertible.cs +0 -0
  351. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PySequence.cs +0 -0
  352. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/PyTuple.cs +0 -0
  353. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/PythonTypes/TypeSpec.cs +0 -0
  354. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/README.md +0 -0
  355. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Resources/clr.py +0 -0
  356. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Resources/interop.py +0 -0
  357. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/RuntimeState.cs +0 -0
  358. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/CLRMappedItem.cs +0 -0
  359. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/CLRWrapperCollection.cs +0 -0
  360. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/ClassManagerState.cs +0 -0
  361. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/ICLRObjectStorer.cs +0 -0
  362. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/ImportHookState.cs +0 -0
  363. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/MaybeMemberInfo.cs +0 -0
  364. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/MaybeMethodBase.cs +0 -0
  365. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/MaybeType.cs +0 -0
  366. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/MetatypeState.cs +0 -0
  367. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/PythonNetState.cs +0 -0
  368. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/SharedObjectsState.cs +0 -0
  369. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/TypeManagerState.cs +0 -0
  370. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/StateSerialization/UnloadedClass.cs +0 -0
  371. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/TypeManager.cs +0 -0
  372. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ArrayObject.cs +0 -0
  373. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ClassBase.cs +0 -0
  374. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ClassDerived.cs +0 -0
  375. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ClassObject.cs +0 -0
  376. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ClrModule.cs +0 -0
  377. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/DelegateObject.cs +0 -0
  378. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/EventBinding.cs +0 -0
  379. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/EventObject.cs +0 -0
  380. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ExceptionClassObject.cs +0 -0
  381. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ExtensionType.cs +0 -0
  382. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/FieldObject.cs +0 -0
  383. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/GenericType.cs +0 -0
  384. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/Indexer.cs +0 -0
  385. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/InterfaceObject.cs +0 -0
  386. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/Iterator.cs +0 -0
  387. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ManagedType.cs +0 -0
  388. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ManagedTypes.cd +0 -0
  389. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/MetaType.cs +0 -0
  390. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ModuleFunctionObject.cs +0 -0
  391. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ModuleObject.cs +0 -0
  392. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/ModulePropertyObject.cs +0 -0
  393. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/MpLengthSlot.cs +0 -0
  394. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/OverloadMapper.cs +0 -0
  395. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/PropertyObject.cs +0 -0
  396. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Types/UnsafeReferenceWithRun.cs +0 -0
  397. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/CodeGenerator.cs +0 -0
  398. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/DebugUtil.cs +0 -0
  399. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/EventHandlerCollection.cs +0 -0
  400. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/GenericUtil.cs +0 -0
  401. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/InitOnly.cs +0 -0
  402. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/NonCopyableAttribute.cs +0 -0
  403. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/NullOnly.cs +0 -0
  404. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/OpsHelper.cs +0 -0
  405. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/ParameterHelper.cs +0 -0
  406. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/PythonReferenceComparer.cs +0 -0
  407. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/ReflectionPolyfills.cs +0 -0
  408. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/ReflectionUtil.cs +0 -0
  409. {pythonnet-3.0.3 → pythonnet-3.0.5}/src/runtime/Util/Util.cs +0 -0
  410. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_array.py +0 -0
  411. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_callback.py +0 -0
  412. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_class.py +0 -0
  413. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_clrmethod.py +0 -0
  414. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_codec.py +0 -0
  415. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_collection_mixins.py +0 -0
  416. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_constructors.py +0 -0
  417. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_delegate.py +0 -0
  418. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_docstring.py +0 -0
  419. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_engine.py +0 -0
  420. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_enum.py +0 -0
  421. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_event.py +0 -0
  422. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_exceptions.py +0 -0
  423. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_field.py +0 -0
  424. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_generic.py +0 -0
  425. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_import.py +0 -0
  426. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_indexer.py +0 -0
  427. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_interface.py +0 -0
  428. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_mp_length.py +0 -0
  429. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_property.py +0 -0
  430. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_recursive_types.py +0 -0
  431. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_repr.py +0 -0
  432. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_subclass.py +0 -0
  433. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_sysargv.py +0 -0
  434. {pythonnet-3.0.3 → pythonnet-3.0.5}/tests/test_thread.py +0 -0
@@ -38,6 +38,7 @@
38
38
  - Dmitriy Se ([@dmitriyse](https://github.com/dmitriyse))
39
39
  - Félix Bourbonnais ([@BadSingleton](https://github.com/BadSingleton))
40
40
  - Florian Treurniet ([@ftreurni](https://github.com/ftreurni))
41
+ - Frank Witscher ([@Frawak](https://github.com/Frawak))
41
42
  - He-chien Tsai ([@t3476](https://github.com/t3476))
42
43
  - Inna Wiesel ([@inna-w](https://github.com/inna-w))
43
44
  - Ivan Cronyn ([@cronan](https://github.com/cronan))
@@ -86,3 +87,4 @@
86
87
  - ([@gpetrou](https://github.com/gpetrou))
87
88
  - Ehsan Iran-Nejad ([@eirannejad](https://github.com/eirannejad))
88
89
  - ([@legomanww](https://github.com/legomanww))
90
+ - ([@gertdreyer](https://github.com/gertdreyer))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pythonnet
3
- Version: 3.0.3
3
+ Version: 3.0.5
4
4
  Summary: .NET and Mono integration for Python
5
5
  Author-email: "The Contributors of the Python.NET Project" <pythonnet@python.org>
6
6
  License: MIT
@@ -17,14 +17,13 @@ Classifier: Programming Language :: Python :: 3.9
17
17
  Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
20
21
  Classifier: Operating System :: Microsoft :: Windows
21
22
  Classifier: Operating System :: POSIX :: Linux
22
23
  Classifier: Operating System :: MacOS :: MacOS X
23
- Requires-Python: <3.13,>=3.7
24
+ Requires-Python: <3.14,>=3.7
24
25
  Description-Content-Type: text/x-rst
25
- License-File: LICENSE
26
- License-File: AUTHORS.md
27
- Requires-Dist: clr_loader<0.3.0,>=0.2.6
26
+ Requires-Dist: clr_loader<0.3.0,>=0.2.7
28
27
 
29
28
  pythonnet - Python.NET
30
29
  ===========================
@@ -10,10 +10,10 @@ license = {text = "MIT"}
10
10
  readme = "README.rst"
11
11
 
12
12
  dependencies = [
13
- "clr_loader>=0.2.6,<0.3.0"
13
+ "clr_loader>=0.2.7,<0.3.0"
14
14
  ]
15
15
 
16
- requires-python = ">=3.7, <3.13"
16
+ requires-python = ">=3.7, <3.14"
17
17
 
18
18
  classifiers = [
19
19
  "Development Status :: 5 - Production/Stable",
@@ -27,6 +27,7 @@ classifiers = [
27
27
  "Programming Language :: Python :: 3.10",
28
28
  "Programming Language :: Python :: 3.11",
29
29
  "Programming Language :: Python :: 3.12",
30
+ "Programming Language :: Python :: 3.13",
30
31
  "Operating System :: Microsoft :: Windows",
31
32
  "Operating System :: POSIX :: Linux",
32
33
  "Operating System :: MacOS :: MacOS X",
@@ -34,6 +35,15 @@ classifiers = [
34
35
 
35
36
  dynamic = ["version"]
36
37
 
38
+ [dependency-groups]
39
+ dev = [
40
+ "pytest >= 6",
41
+ "find_libpython >= 0.3.0",
42
+ "numpy >=2 ; python_version >= '3.10'",
43
+ "numpy <2 ; python_version < '3.10'",
44
+ "psutil"
45
+ ]
46
+
37
47
  [[project.authors]]
38
48
  name = "The Contributors of the Python.NET Project"
39
49
  email = "pythonnet@python.org"
@@ -45,6 +55,7 @@ Sources = "https://github.com/pythonnet/pythonnet"
45
55
  [tool.setuptools]
46
56
  zip-safe = false
47
57
  py-modules = ["clr"]
58
+ license-files = []
48
59
 
49
60
  [tool.setuptools.dynamic.version]
50
61
  file = "version.txt"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pythonnet
3
- Version: 3.0.3
3
+ Version: 3.0.5
4
4
  Summary: .NET and Mono integration for Python
5
5
  Author-email: "The Contributors of the Python.NET Project" <pythonnet@python.org>
6
6
  License: MIT
@@ -17,14 +17,13 @@ Classifier: Programming Language :: Python :: 3.9
17
17
  Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
20
21
  Classifier: Operating System :: Microsoft :: Windows
21
22
  Classifier: Operating System :: POSIX :: Linux
22
23
  Classifier: Operating System :: MacOS :: MacOS X
23
- Requires-Python: <3.13,>=3.7
24
+ Requires-Python: <3.14,>=3.7
24
25
  Description-Content-Type: text/x-rst
25
- License-File: LICENSE
26
- License-File: AUTHORS.md
27
- Requires-Dist: clr_loader<0.3.0,>=0.2.6
26
+ Requires-Dist: clr_loader<0.3.0,>=0.2.7
28
27
 
29
28
  pythonnet - Python.NET
30
29
  ===========================
@@ -0,0 +1,201 @@
1
+ AUTHORS.md
2
+ Directory.Build.props
3
+ LICENSE
4
+ MANIFEST.in
5
+ README.rst
6
+ clr.py
7
+ pyproject.toml
8
+ pythonnet.sln
9
+ setup.py
10
+ version.txt
11
+ pythonnet/__init__.py
12
+ pythonnet.egg-info/PKG-INFO
13
+ pythonnet.egg-info/SOURCES.txt
14
+ pythonnet.egg-info/dependency_links.txt
15
+ pythonnet.egg-info/not-zip-safe
16
+ pythonnet.egg-info/requires.txt
17
+ pythonnet.egg-info/top_level.txt
18
+ src/pythonnet.snk
19
+ src/runtime/AssemblyManager.cs
20
+ src/runtime/ClassManager.cs
21
+ src/runtime/Converter.cs
22
+ src/runtime/DefaultBaseTypeProvider.cs
23
+ src/runtime/DelegateManager.cs
24
+ src/runtime/Exceptions.cs
25
+ src/runtime/Finalizer.cs
26
+ src/runtime/IPythonBaseTypeProvider.cs
27
+ src/runtime/ImportHook.cs
28
+ src/runtime/Interfaces.cs
29
+ src/runtime/InternString.cs
30
+ src/runtime/InternalPythonnetException.cs
31
+ src/runtime/Interop.cs
32
+ src/runtime/InteropConfiguration.cs
33
+ src/runtime/Loader.cs
34
+ src/runtime/MethodBinder.cs
35
+ src/runtime/Py.cs
36
+ src/runtime/PyExportAttribute.cs
37
+ src/runtime/Python.Runtime.csproj
38
+ src/runtime/PythonBaseTypeProviderGroup.cs
39
+ src/runtime/PythonEngine.cs
40
+ src/runtime/PythonException.cs
41
+ src/runtime/README.md
42
+ src/runtime/Runtime.Delegates.cs
43
+ src/runtime/Runtime.cs
44
+ src/runtime/RuntimeState.cs
45
+ src/runtime/TypeManager.cs
46
+ src/runtime/Codecs/DecoderGroup.cs
47
+ src/runtime/Codecs/EncoderGroup.cs
48
+ src/runtime/Codecs/EnumPyIntCodec.cs
49
+ src/runtime/Codecs/IPyObjectDecoder.cs
50
+ src/runtime/Codecs/IPyObjectEncoder.cs
51
+ src/runtime/Codecs/IterableDecoder.cs
52
+ src/runtime/Codecs/ListDecoder.cs
53
+ src/runtime/Codecs/PyObjectConversions.cs
54
+ src/runtime/Codecs/RawProxyEncoder.cs
55
+ src/runtime/Codecs/SequenceDecoder.cs
56
+ src/runtime/Codecs/TupleCodecs.cs
57
+ src/runtime/CollectionWrappers/IterableWrapper.cs
58
+ src/runtime/CollectionWrappers/ListWrapper.cs
59
+ src/runtime/CollectionWrappers/SequenceWrapper.cs
60
+ src/runtime/Mixins/CollectionMixinsProvider.cs
61
+ src/runtime/Mixins/collections.py
62
+ src/runtime/Native/ABI.cs
63
+ src/runtime/Native/BorrowedReference.cs
64
+ src/runtime/Native/CustomMarshaler.cs
65
+ src/runtime/Native/GeneratedTypeOffsets.cs
66
+ src/runtime/Native/ITypeOffsets.cs
67
+ src/runtime/Native/LibDL.cs
68
+ src/runtime/Native/LibraryLoader.cs
69
+ src/runtime/Native/NativeCall.cs
70
+ src/runtime/Native/NativeFunc.cs
71
+ src/runtime/Native/NativeTypeSpec.cs
72
+ src/runtime/Native/NewReference.cs
73
+ src/runtime/Native/PyBufferInterface.cs
74
+ src/runtime/Native/PyCompilerFlags.cs
75
+ src/runtime/Native/PyGILState.cs
76
+ src/runtime/Native/PyIdentifier_.cs
77
+ src/runtime/Native/PyIdentifier_.tt
78
+ src/runtime/Native/PyInterpreterState.cs
79
+ src/runtime/Native/PyMemberFlags.cs
80
+ src/runtime/Native/PyMemberType.cs
81
+ src/runtime/Native/PyMethodFlags.cs
82
+ src/runtime/Native/PyThreadState.cs
83
+ src/runtime/Native/ReferenceExtensions.cs
84
+ src/runtime/Native/StolenReference.cs
85
+ src/runtime/Native/StrPtr.cs
86
+ src/runtime/Native/TypeOffset.cs
87
+ src/runtime/Native/TypeOffset310.cs
88
+ src/runtime/Native/TypeOffset311.cs
89
+ src/runtime/Native/TypeOffset312.cs
90
+ src/runtime/Native/TypeOffset313.cs
91
+ src/runtime/Native/TypeOffset37.cs
92
+ src/runtime/Native/TypeOffset38.cs
93
+ src/runtime/Native/TypeOffset39.cs
94
+ src/runtime/Properties/AssemblyInfo.cs
95
+ src/runtime/PythonTypes/PyBuffer.cs
96
+ src/runtime/PythonTypes/PyDict.cs
97
+ src/runtime/PythonTypes/PyFloat.IComparable.cs
98
+ src/runtime/PythonTypes/PyFloat.cs
99
+ src/runtime/PythonTypes/PyInt.IComparable.cs
100
+ src/runtime/PythonTypes/PyInt.cs
101
+ src/runtime/PythonTypes/PyIter.cs
102
+ src/runtime/PythonTypes/PyIterable.cs
103
+ src/runtime/PythonTypes/PyList.cs
104
+ src/runtime/PythonTypes/PyModule.cs
105
+ src/runtime/PythonTypes/PyNumber.cs
106
+ src/runtime/PythonTypes/PyObject.IConvertible.cs
107
+ src/runtime/PythonTypes/PyObject.cs
108
+ src/runtime/PythonTypes/PySequence.cs
109
+ src/runtime/PythonTypes/PyString.cs
110
+ src/runtime/PythonTypes/PyTuple.cs
111
+ src/runtime/PythonTypes/PyType.cs
112
+ src/runtime/PythonTypes/TypeSpec.cs
113
+ src/runtime/Resources/clr.py
114
+ src/runtime/Resources/interop.py
115
+ src/runtime/StateSerialization/CLRMappedItem.cs
116
+ src/runtime/StateSerialization/CLRWrapperCollection.cs
117
+ src/runtime/StateSerialization/ClassManagerState.cs
118
+ src/runtime/StateSerialization/ICLRObjectStorer.cs
119
+ src/runtime/StateSerialization/ImportHookState.cs
120
+ src/runtime/StateSerialization/MaybeMemberInfo.cs
121
+ src/runtime/StateSerialization/MaybeMethodBase.cs
122
+ src/runtime/StateSerialization/MaybeType.cs
123
+ src/runtime/StateSerialization/MetatypeState.cs
124
+ src/runtime/StateSerialization/NoopFormatter.cs
125
+ src/runtime/StateSerialization/PythonNetState.cs
126
+ src/runtime/StateSerialization/RuntimeData.cs
127
+ src/runtime/StateSerialization/SharedObjectsState.cs
128
+ src/runtime/StateSerialization/TypeManagerState.cs
129
+ src/runtime/StateSerialization/UnloadedClass.cs
130
+ src/runtime/Types/ArrayObject.cs
131
+ src/runtime/Types/ClassBase.cs
132
+ src/runtime/Types/ClassDerived.cs
133
+ src/runtime/Types/ClassObject.cs
134
+ src/runtime/Types/ClrModule.cs
135
+ src/runtime/Types/ClrObject.cs
136
+ src/runtime/Types/DelegateObject.cs
137
+ src/runtime/Types/EventBinding.cs
138
+ src/runtime/Types/EventObject.cs
139
+ src/runtime/Types/ExceptionClassObject.cs
140
+ src/runtime/Types/ExtensionType.cs
141
+ src/runtime/Types/FieldObject.cs
142
+ src/runtime/Types/GenericType.cs
143
+ src/runtime/Types/Indexer.cs
144
+ src/runtime/Types/InterfaceObject.cs
145
+ src/runtime/Types/Iterator.cs
146
+ src/runtime/Types/ManagedType.cs
147
+ src/runtime/Types/ManagedTypes.cd
148
+ src/runtime/Types/MetaType.cs
149
+ src/runtime/Types/MethodBinding.cs
150
+ src/runtime/Types/MethodObject.cs
151
+ src/runtime/Types/ModuleFunctionObject.cs
152
+ src/runtime/Types/ModuleObject.cs
153
+ src/runtime/Types/ModulePropertyObject.cs
154
+ src/runtime/Types/MpLengthSlot.cs
155
+ src/runtime/Types/OperatorMethod.cs
156
+ src/runtime/Types/OverloadMapper.cs
157
+ src/runtime/Types/PropertyObject.cs
158
+ src/runtime/Types/ReflectedClrType.cs
159
+ src/runtime/Types/UnsafeReferenceWithRun.cs
160
+ src/runtime/Util/CodeGenerator.cs
161
+ src/runtime/Util/DebugUtil.cs
162
+ src/runtime/Util/Encodings.cs
163
+ src/runtime/Util/EventHandlerCollection.cs
164
+ src/runtime/Util/GenericUtil.cs
165
+ src/runtime/Util/InitOnly.cs
166
+ src/runtime/Util/NonCopyableAttribute.cs
167
+ src/runtime/Util/NullOnly.cs
168
+ src/runtime/Util/OpsHelper.cs
169
+ src/runtime/Util/ParameterHelper.cs
170
+ src/runtime/Util/PythonReferenceComparer.cs
171
+ src/runtime/Util/ReflectionPolyfills.cs
172
+ src/runtime/Util/ReflectionUtil.cs
173
+ src/runtime/Util/Util.cs
174
+ tests/test_array.py
175
+ tests/test_callback.py
176
+ tests/test_class.py
177
+ tests/test_clrmethod.py
178
+ tests/test_codec.py
179
+ tests/test_collection_mixins.py
180
+ tests/test_constructors.py
181
+ tests/test_conversion.py
182
+ tests/test_delegate.py
183
+ tests/test_docstring.py
184
+ tests/test_engine.py
185
+ tests/test_enum.py
186
+ tests/test_event.py
187
+ tests/test_exceptions.py
188
+ tests/test_field.py
189
+ tests/test_generic.py
190
+ tests/test_import.py
191
+ tests/test_indexer.py
192
+ tests/test_interface.py
193
+ tests/test_method.py
194
+ tests/test_module.py
195
+ tests/test_mp_length.py
196
+ tests/test_property.py
197
+ tests/test_recursive_types.py
198
+ tests/test_repr.py
199
+ tests/test_subclass.py
200
+ tests/test_sysargv.py
201
+ tests/test_thread.py
@@ -0,0 +1 @@
1
+ clr_loader<0.3.0,>=0.2.7
@@ -4,8 +4,6 @@ VisualStudioVersion = 17.0.31912.275
4
4
  MinimumVisualStudioVersion = 15.0.26124.0
5
5
  Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.Runtime", "src\runtime\Python.Runtime.csproj", "{4E8C8FE2-0FB8-4517-B2D9-5FB2D5FC849B}"
6
6
  EndProject
7
- Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Console", "src\console\Console.csproj", "{E6B01706-00BA-4144-9029-186AC42FBE9A}"
8
- EndProject
9
7
  Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.EmbeddingTest", "src\embed_tests\Python.EmbeddingTest.csproj", "{819E089B-4770-400E-93C6-4F7A35F0EA12}"
10
8
  EndProject
11
9
  Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.Test", "src\testing\Python.Test.csproj", "{14EF9518-5BB7-4F83-8686-015BD2CC788E}"
@@ -200,6 +200,13 @@ namespace Python.Runtime
200
200
  }
201
201
  else
202
202
  {
203
+ int invalidCharIndex = head.IndexOfAny(Path.GetInvalidPathChars());
204
+ if (invalidCharIndex >= 0)
205
+ {
206
+ using var importWarning = Runtime.PyObject_GetAttrString(Exceptions.exceptions_module, "ImportWarning");
207
+ Exceptions.warn($"Path entry '{head}' has invalid char at position {invalidCharIndex}", importWarning.BorrowOrThrow());
208
+ continue;
209
+ }
203
210
  path = Path.Combine(head, name);
204
211
  }
205
212
 
@@ -290,11 +290,13 @@ namespace Python.Runtime
290
290
 
291
291
  internal static bool ShouldBindMethod(MethodBase mb)
292
292
  {
293
+ if (mb is null) throw new ArgumentNullException(nameof(mb));
293
294
  return (mb.IsPublic || mb.IsFamily || mb.IsFamilyOrAssembly);
294
295
  }
295
296
 
296
297
  internal static bool ShouldBindField(FieldInfo fi)
297
298
  {
299
+ if (fi is null) throw new ArgumentNullException(nameof(fi));
298
300
  return (fi.IsPublic || fi.IsFamily || fi.IsFamilyOrAssembly);
299
301
  }
300
302
 
@@ -326,7 +328,7 @@ namespace Python.Runtime
326
328
 
327
329
  internal static bool ShouldBindEvent(EventInfo ei)
328
330
  {
329
- return ShouldBindMethod(ei.GetAddMethod(true));
331
+ return ei.GetAddMethod(true) is { } add && ShouldBindMethod(add);
330
332
  }
331
333
 
332
334
  private static ClassInfo GetClassInfo(Type type, ClassBase impl)
@@ -546,7 +548,7 @@ namespace Python.Runtime
546
548
  ci.members[pyName] = new MethodObject(type, name, forwardMethods).AllocObject();
547
549
  // Only methods where only the right operand is the declaring type.
548
550
  if (reverseMethods.Length > 0)
549
- ci.members[pyNameReverse] = new MethodObject(type, name, reverseMethods).AllocObject();
551
+ ci.members[pyNameReverse] = new MethodObject(type, name, reverseMethods, argsReversed: true).AllocObject();
550
552
  }
551
553
  }
552
554
 
@@ -24,18 +24,22 @@ namespace Python.Runtime.CollectionWrappers
24
24
  {
25
25
  iterObject = PyIter.GetIter(pyObject);
26
26
  }
27
-
28
- using var _ = iterObject;
29
- while (true)
27
+ try
30
28
  {
31
- using var GIL = Py.GIL();
32
-
33
- if (!iterObject.MoveNext())
29
+ while (true)
34
30
  {
35
- iterObject.Dispose();
36
- break;
31
+ using var _ = Py.GIL();
32
+ if (!iterObject.MoveNext())
33
+ {
34
+ break;
35
+ }
36
+ yield return iterObject.Current.As<T>()!;
37
37
  }
38
- yield return iterObject.Current.As<T>()!;
38
+ }
39
+ finally
40
+ {
41
+ using var _ = Py.GIL();
42
+ iterObject.Dispose();
39
43
  }
40
44
  }
41
45
  }
@@ -133,7 +133,8 @@ namespace Python.Runtime
133
133
  if (EncodableByUser(type, value))
134
134
  {
135
135
  var encoded = PyObjectConversions.TryEncode(value, type);
136
- if (encoded != null) {
136
+ if (encoded != null)
137
+ {
137
138
  return new NewReference(encoded);
138
139
  }
139
140
  }
@@ -334,7 +335,7 @@ namespace Python.Runtime
334
335
 
335
336
  if (obType.IsGenericType && obType.GetGenericTypeDefinition() == typeof(Nullable<>))
336
337
  {
337
- if( value == Runtime.PyNone )
338
+ if (value == Runtime.PyNone)
338
339
  {
339
340
  result = null;
340
341
  return true;
@@ -980,5 +981,11 @@ namespace Python.Runtime
980
981
  if (o is null) return Runtime.None;
981
982
  return Converter.ToPython(o, o.GetType()).MoveToPyObject();
982
983
  }
984
+
985
+ public static PyObject ToPythonAs<T>(this T? o)
986
+ {
987
+ if (o is null) return Runtime.None;
988
+ return Converter.ToPython(o, typeof(T)).MoveToPyObject();
989
+ }
983
990
  }
984
991
  }
@@ -270,7 +270,7 @@ namespace Python.Runtime
270
270
  }
271
271
 
272
272
  using var warn = Runtime.PyObject_GetAttrString(warnings_module.obj, "warn");
273
- Exceptions.ErrorCheck(warn.Borrow());
273
+ warn.BorrowOrThrow();
274
274
 
275
275
  using var argsTemp = Runtime.PyTuple_New(3);
276
276
  BorrowedReference args = argsTemp.BorrowOrThrow();
@@ -283,7 +283,7 @@ namespace Python.Runtime
283
283
  Runtime.PyTuple_SetItem(args, 2, level.StealOrThrow());
284
284
 
285
285
  using var result = Runtime.PyObject_CallObject(warn.Borrow(), args);
286
- Exceptions.ErrorCheck(result.Borrow());
286
+ result.BorrowOrThrow();
287
287
  }
288
288
 
289
289
  public static void warn(string message, BorrowedReference exception)
@@ -191,7 +191,7 @@ namespace Python.Runtime
191
191
  Instance.started = false;
192
192
  }
193
193
 
194
- internal nint DisposeAll()
194
+ internal nint DisposeAll(bool disposeObj = true, bool disposeDerived = true, bool disposeBuffer = true)
195
195
  {
196
196
  if (_objQueue.IsEmpty && _derivedQueue.IsEmpty && _bufferQueue.IsEmpty)
197
197
  return 0;
@@ -216,7 +216,7 @@ namespace Python.Runtime
216
216
 
217
217
  try
218
218
  {
219
- while (!_objQueue.IsEmpty)
219
+ if (disposeObj) while (!_objQueue.IsEmpty)
220
220
  {
221
221
  if (!_objQueue.TryDequeue(out var obj))
222
222
  continue;
@@ -240,7 +240,7 @@ namespace Python.Runtime
240
240
  }
241
241
  }
242
242
 
243
- while (!_derivedQueue.IsEmpty)
243
+ if (disposeDerived) while (!_derivedQueue.IsEmpty)
244
244
  {
245
245
  if (!_derivedQueue.TryDequeue(out var derived))
246
246
  continue;
@@ -258,7 +258,7 @@ namespace Python.Runtime
258
258
  collected++;
259
259
  }
260
260
 
261
- while (!_bufferQueue.IsEmpty)
261
+ if (disposeBuffer) while (!_bufferQueue.IsEmpty)
262
262
  {
263
263
  if (!_bufferQueue.TryDequeue(out var buffer))
264
264
  continue;
@@ -0,0 +1,9 @@
1
+ using System;
2
+
3
+ namespace Python.Runtime;
4
+
5
+ public class InternalPythonnetException : Exception
6
+ {
7
+ public InternalPythonnetException(string message, Exception innerException)
8
+ : base(message, innerException) { }
9
+ }
@@ -12,7 +12,7 @@ namespace Python.Runtime
12
12
  {
13
13
  try
14
14
  {
15
- var dllPath = Encoding.UTF8.GetString((byte*)data.ToPointer(), size);
15
+ var dllPath = Encodings.UTF8.GetString((byte*)data.ToPointer(), size);
16
16
 
17
17
  if (!string.IsNullOrEmpty(dllPath))
18
18
  {
@@ -33,7 +33,7 @@ namespace Python.Runtime
33
33
  );
34
34
  return 1;
35
35
  }
36
-
36
+
37
37
  return 0;
38
38
  }
39
39
 
@@ -41,7 +41,7 @@ namespace Python.Runtime
41
41
  {
42
42
  try
43
43
  {
44
- var command = Encoding.UTF8.GetString((byte*)data.ToPointer(), size);
44
+ var command = Encodings.UTF8.GetString((byte*)data.ToPointer(), size);
45
45
 
46
46
  if (command == "full_shutdown")
47
47
  {
@@ -28,9 +28,12 @@ namespace Python.Runtime
28
28
 
29
29
  [NonSerialized]
30
30
  public bool init = false;
31
+
31
32
  public const bool DefaultAllowThreads = true;
32
33
  public bool allow_threads = DefaultAllowThreads;
33
34
 
35
+ public bool argsReversed = false;
36
+
34
37
  internal MethodBinder()
35
38
  {
36
39
  list = new List<MaybeMethodBase>();
@@ -363,10 +366,10 @@ namespace Python.Runtime
363
366
  _methods = GetMethods();
364
367
  }
365
368
 
366
- return Bind(inst, args, kwargDict, _methods, matchGenerics: true);
369
+ return Bind(inst, args, kwargDict, _methods, matchGenerics: true, argsReversed);
367
370
  }
368
371
 
369
- static Binding? Bind(BorrowedReference inst, BorrowedReference args, Dictionary<string, PyObject> kwargDict, MethodBase[] methods, bool matchGenerics)
372
+ private static Binding? Bind(BorrowedReference inst, BorrowedReference args, Dictionary<string, PyObject> kwargDict, MethodBase[] methods, bool matchGenerics, bool argsReversed = false)
370
373
  {
371
374
  var pynargs = (int)Runtime.PyTuple_Size(args);
372
375
  var isGeneric = false;
@@ -386,7 +389,7 @@ namespace Python.Runtime
386
389
  // Binary operator methods will have 2 CLR args but only one Python arg
387
390
  // (unary operators will have 1 less each), since Python operator methods are bound.
388
391
  isOperator = isOperator && pynargs == pi.Length - 1;
389
- bool isReverse = isOperator && OperatorMethod.IsReverse((MethodInfo)mi); // Only cast if isOperator.
392
+ bool isReverse = isOperator && argsReversed; // Only cast if isOperator.
390
393
  if (isReverse && OperatorMethod.IsComparisonOp((MethodInfo)mi))
391
394
  continue; // Comparison operators in Python have no reverse mode.
392
395
  if (!MatchesArgumentCount(pynargs, pi, kwargDict, out bool paramsArray, out ArrayList? defaultArgList, out int kwargsMatched, out int defaultsNeeded) && !isOperator)
@@ -394,12 +397,14 @@ namespace Python.Runtime
394
397
  continue;
395
398
  }
396
399
  // Preprocessing pi to remove either the first or second argument.
397
- if (isOperator && !isReverse) {
400
+ if (isOperator && !isReverse)
401
+ {
398
402
  // The first Python arg is the right operand, while the bound instance is the left.
399
403
  // We need to skip the first (left operand) CLR argument.
400
404
  pi = pi.Skip(1).ToArray();
401
405
  }
402
- else if (isOperator && isReverse) {
406
+ else if (isOperator && isReverse)
407
+ {
403
408
  // The first Python arg is the left operand.
404
409
  // We need to take the first CLR argument.
405
410
  pi = pi.Take(1).ToArray();
@@ -42,7 +42,7 @@ namespace Python.Runtime
42
42
  internal class UcsMarshaler : MarshalerBase
43
43
  {
44
44
  internal static readonly int _UCS = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? 2 : 4;
45
- internal static readonly Encoding PyEncoding = _UCS == 2 ? Encoding.Unicode : Encoding.UTF32;
45
+ internal static readonly Encoding PyEncoding = _UCS == 2 ? Encodings.UTF16 : Encodings.UTF32;
46
46
  private static readonly MarshalerBase Instance = new UcsMarshaler();
47
47
 
48
48
  public override IntPtr MarshalManagedToNative(object managedObj)
@@ -17,7 +17,7 @@ namespace Python.Runtime.Native
17
17
  {
18
18
  if (spec is null) throw new ArgumentNullException(nameof(spec));
19
19
 
20
- this.Name = new StrPtr(spec.Name, Encoding.UTF8);
20
+ this.Name = new StrPtr(spec.Name);
21
21
  this.BasicSize = spec.BasicSize;
22
22
  this.ItemSize = spec.ItemSize;
23
23
  this.Flags = (int)spec.Flags;
@@ -10,6 +10,8 @@ namespace Python.Runtime.Native
10
10
  public IntPtr RawPointer { get; set; }
11
11
  unsafe byte* Bytes => (byte*)this.RawPointer;
12
12
 
13
+ public unsafe StrPtr(string value) : this(value, Encodings.UTF8) {}
14
+
13
15
  public unsafe StrPtr(string value, Encoding encoding)
14
16
  {
15
17
  if (value is null) throw new ArgumentNullException(nameof(value));