[Python.NET] Re: Python to c# long conversion time

LOST _ <[email protected]> Mon, 27 Jun 2022 09:51:58 -0700
Newsgroups gmane.comp.python.dotnet
Message-ID <[email protected]>
--===============4761720716168974284==
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta ht=
tp-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta name=
=3DGenerator content=3D"Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
	{font-family:"Lucida Console";
	panose-1:2 11 6 9 4 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:645015053;
	mso-list-template-ids:-1;}
@list l0:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1
	{mso-list-id:1252203000;
	mso-list-template-ids:-1;}
@list l1:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style></head><body lang=3DEN-US link=3Dblue vlink=3D"#954F72" style=3D=
'word-wrap:break-word'><div class=3DWordSection1><p class=3DMsoNormal>Pleas=
e, use myPyByteArray.GetBuffer() and the PyBuffer.Read method to copy from =
a NumPy array.</p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoN=
ormal>I created <a href=3D"https://github.com/pythonnet/pythonnet/issues/18=
38">a feature request</a> to make the default conversion mechanism take adv=
antage of PyBuffer some time in the future.</p><p class=3DMsoNormal><o:p>&n=
bsp;</o:p></p><p class=3DMsoNormal>Regards,</p><p class=3DMsoNormal>Victor<=
/p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><div style=3D'mso-element:para=
-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0i=
n 0in'><p class=3DMsoNormal style=3D'border:none;padding:0in'><b>From: </b>=
<a href=3D"mailto:[email protected]">Jordan GUILLOT</a><br><b>Sent:=
 </b>Monday, June 27, 2022 8:19 AM<br><b>To: </b><a href=3D"mailto:pythonne=
[email protected]">[email protected]</a><br><b>Subject: </b>[Python.NET] [Pyt=
honnet] Python to c# long conversion time</p></div><p class=3DMsoNormal><o:=
p>&nbsp;</o:p></p><p class=3DMsoNormal><span lang=3DEN-GB>Hi,</span><span l=
ang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB>&nbs=
p;</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal><span l=
ang=3DEN-GB>I=E2=80=99m using Pythonnet to import proprietary python packag=
e from Windows Application.</span><span lang=3DFR><o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB>When my python package return a large =
byte array in C# world, the type conversion takes lot of time.</span><span =
lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB>&nb=
sp;</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-GB>To illustrate this long conversion time, I made a simple examp=
le:</span><span lang=3DFR><o:p></o:p></span></p><ol style=3D'margin-top:0in=
' start=3D1 type=3D1><li class=3DMsoListParagraph style=3D'margin-left:0in;=
mso-list:l0 level1 lfo1'><span lang=3DEN-GB>A Python package with a method =
which return a byte array:</span><span lang=3DFR><o:p></o:p></span></li></o=
l><p class=3DMsoNormal style=3D'text-indent:35.4pt'><span lang=3DEN-GB>clas=
s MyClass:</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal=
><span lang=3DEN-GB>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @staticmethod</span><span lang=3DFR><o:p>=
</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB>&nbsp;&nbsp;&nbsp;=
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; def =
get_bytes_from_py():</span><span lang=3DFR><o:p></o:p></span></p><p class=
=3DMsoNormal><span lang=3DEN-GB>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array =3D np.a=
range(0, 720000, dtype=3Dnp.uint8)</span><span lang=3DFR><o:p></o:p></span>=
</p><p class=3DMsoNormal><span lang=3DEN-GB>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; re=
turn bytes(array)</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMs=
oNormal><span lang=3DEN-GB>&nbsp;</span><span lang=3DFR><o:p></o:p></span><=
/p><ol style=3D'margin-top:0in' start=3D2 type=3D1><li class=3DMsoListParag=
raph style=3D'margin-left:0in;mso-list:l0 level1 lfo1'><span lang=3DEN-GB>A=
n application console to call my Python package and which convert =E2=80=98=
bytes=E2=80=99 type into =E2=80=98byte[]=E2=80=99 type</span><span lang=3DF=
R><o:p></o:p></span></li></ol><p class=3DMsoNormal><span lang=3DEN-GB>&nbsp=
;</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal style=3D=
'text-autospace:none'><span lang=3DEN-GB style=3D'font-size:9.5pt;font-fami=
ly:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>=
<span lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;color:blue=
'>static</span><span lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Cons=
olas;color:black'> </span><span lang=3DEN-GB style=3D'font-size:9.5pt;font-=
family:Consolas;color:blue'>void</span><span lang=3DEN-GB style=3D'font-siz=
e:9.5pt;font-family:Consolas;color:black'> Main(</span><span lang=3DEN-GB s=
tyle=3D'font-size:9.5pt;font-family:Consolas;color:blue'>string</span><span=
 lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;color:black'>[]=
 args)</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal sty=
le=3D'text-autospace:none'><span lang=3DEN-GB style=3D'font-size:9.5pt;font=
-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<=
/span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal style=3D't=
ext-autospace:none'><span lang=3DEN-GB style=3D'font-size:9.5pt;font-family=
:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; Runtime.PythonDLL =3D </span><span lang=3DEN-GB style=3D'fon=
t-size:9.5pt;font-family:Consolas;color:#A31515'>&quot;c:\\Python38\\python=
38.dll&quot;</span><span lang=3DEN-GB style=3D'font-size:9.5pt;font-family:=
Consolas;color:black'>;</span><span lang=3DFR><o:p></o:p></span></p><p clas=
s=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-GB style=3D'fon=
t-size:9.5pt;font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PythonEngine.Initialize();</span><sp=
an lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal style=3D'text-autos=
pace:none'><span lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas=
;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal sty=
le=3D'text-autospace:none'><span lang=3DEN-GB style=3D'font-size:9.5pt;font=
-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;Stopwatch st =3D </span><span lang=3DEN-GB style=
=3D'font-size:9.5pt;font-family:Consolas;color:blue'>new</span><span lang=
=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;color:black'> Stopwa=
tch();</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal sty=
le=3D'text-autospace:none'><span lang=3DEN-GB style=3D'font-size:9.5pt;font=
-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; st.Start();</span><span lang=3DFR><o:p></o:p></span><=
/p><p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-GB st=
yle=3D'font-size:9.5pt;font-family:Consolas;color:black'>&nbsp;</span><span=
 lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal style=3D'text-autospa=
ce:none'><span lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;c=
olor:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; </span><span lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas=
;color:blue'>using</span><span lang=3DEN-GB style=3D'font-size:9.5pt;font-f=
amily:Consolas;color:black'> (Py.GIL())</span><span lang=3DFR><o:p></o:p></=
span></p><p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN=
-GB style=3D'font-size:9.5pt;font-family:Consolas;color:black'>&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span><span lang=
=3DFR><o:p></o:p></span></p><p class=3DMsoNormal style=3D'text-autospace:no=
ne'><span lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;color:=
black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; dynamic myPackage =3D Py.Import(</span><span lang=3D=
EN-GB style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>&quot;my=
package&quot;</span><span lang=3DEN-GB style=3D'font-size:9.5pt;font-family=
:Consolas;color:black'>);</span><span lang=3DFR><o:p></o:p></span></p><p cl=
ass=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-GB style=3D'f=
ont-size:9.5pt;font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dynamic my=
Class =3D myPackage.MyClass();</span><span lang=3DFR><o:p></o:p></span></p>=
<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-GB style=
=3D'font-size:9.5pt;font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dynam=
ic myPyByteArray =3D myClass.get_bytes_from_py();</span><span lang=3DFR><o:=
p></o:p></span></p><p class=3DMsoNormal style=3D'text-autospace:none'><span=
 lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;color:black'>&n=
bsp;</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal style=
=3D'text-autospace:none'><span lang=3DEN-GB style=3D'font-size:9.5pt;font-f=
amily:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span lang=3DEN-GB style=
=3D'font-size:9.5pt;font-family:Consolas;color:blue'>long</span><span lang=
=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;color:black'> t0 =3D=
 st.ElapsedMilliseconds;</span><span lang=3DFR><o:p></o:p></span></p><p cla=
ss=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-GB style=3D'fo=
nt-size:9.5pt;font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><spa=
n lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;color:blue'>by=
te</span><span lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;c=
olor:black'>[] myCsharpByteArray =3D myPyByteArray;</span><span lang=3DFR><=
o:p></o:p></span></p><p class=3DMsoNormal style=3D'text-autospace:none'><sp=
an lang=3DEN-GB style=3D'font-size:9.5pt;font-family:Consolas;color:black'>=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; </span><span lang=3DFR style=3D'font-size:9.5pt;font-family=
:Consolas;color:blue'>long</span><span lang=3DFR style=3D'font-size:9.5pt;f=
ont-family:Consolas;color:black'> t1 =3D st.ElapsedMilliseconds;</span><spa=
n lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal style=3D'text-autosp=
ace:none'><span lang=3DFR style=3D'font-size:9.5pt;font-family:Consolas;col=
or:black'>&nbsp;</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMso=
Normal style=3D'text-autospace:none'><span lang=3DFR style=3D'font-size:9.5=
pt;font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(</sp=
an><span lang=3DFR style=3D'font-size:9.5pt;font-family:Consolas;color:#A31=
515'>&quot;Conversion takes {0}ms&quot;</span><span lang=3DFR style=3D'font=
-size:9.5pt;font-family:Consolas;color:black'>, t1-t0);</span><span lang=3D=
FR><o:p></o:p></span></p><p class=3DMsoNormal style=3D'text-autospace:none'=
><span lang=3DFR style=3D'font-size:9.5pt;font-family:Consolas;color:black'=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span=
><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal style=3D'text-a=
utospace:none'><span lang=3DFR style=3D'font-size:9.5pt;font-family:Consola=
s;color:black'>&nbsp;</span><span lang=3DFR><o:p></o:p></span></p><p class=
=3DMsoNormal style=3D'text-autospace:none'><span lang=3DFR style=3D'font-si=
ze:9.5pt;font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; st.Stop();</span><span lang=3DFR><o:p></=
o:p></span></p><p class=3DMsoNormal><span lang=3DFR style=3D'font-size:9.5p=
t;font-family:Consolas;color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; }</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal><spa=
n lang=3DEN-GB>&nbsp;</span><span lang=3DFR><o:p></o:p></span></p><ol style=
=3D'margin-top:0in' start=3D3 type=3D1><li class=3DMsoListParagraph style=
=3D'margin-left:0in;mso-list:l0 level1 lfo1'><span lang=3DEN-GB>The console=
 output:</span><span lang=3DFR><o:p></o:p></span></li></ol><p class=3DMsoLi=
stParagraph><span lang=3DEN-GB>=E2=80=9CConversion takes 303ms=E2=80=9D</sp=
an><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoListParagraph><span =
lang=3DEN-GB>&nbsp;</span><span lang=3DFR><o:p></o:p></span></p><p class=3D=
MsoNormal><span lang=3DEN-GB>Is this the right way for this conversion?</sp=
an><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal><span lang=3D=
EN-GB>&nbsp;</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNorm=
al><span lang=3DEN-GB style=3D'font-size:12.0pt'>Environment:</span><span l=
ang=3DFR><o:p></o:p></span></p><div><p class=3DMsoNormal><span lang=3DEN-GB=
 style=3D'mso-fareast-language:FR'>Python: v3.8.10</span><span lang=3DFR><o=
:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB style=3D'mso-fa=
reast-language:FR'>Pythonnet:</span><span lang=3DFR><o:p></o:p></span></p><=
ol style=3D'margin-top:0in' start=3D1 type=3D1><li class=3DMsoListParagraph=
 style=3D'margin-left:0in;mso-list:l1 level1 lfo2'><span lang=3DEN-GB style=
=3D'mso-fareast-language:FR'>Pypi: v</span><span lang=3DFR style=3D'font-si=
ze:9.0pt;font-family:"Lucida Console"'>2.5.2</span><span lang=3DFR><o:p></o=
:p></span></li><li class=3DMsoListParagraph style=3D'margin-left:0in;mso-li=
st:l1 level1 lfo2'><span lang=3DEN-GB style=3D'mso-fareast-language:FR'>Nug=
et&nbsp;: 3.0.0-preview2022-06-03</span><span lang=3DFR><o:p></o:p></span><=
/li></ol><p class=3DMsoNormal><span lang=3DEN-GB style=3D'mso-fareast-langu=
age:FR'>Windows 10 Pro</span><span lang=3DFR><o:p></o:p></span></p><p class=
=3DMsoNormal><span lang=3DEN-GB style=3D'mso-fareast-language:FR'>.NET fram=
ework 4.7.2</span><span lang=3DFR><o:p></o:p></span></p><p class=3DMsoListP=
aragraph><span lang=3DEN-GB style=3D'mso-fareast-language:FR'>&nbsp;</span>=
<span lang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-=
GB style=3D'mso-fareast-language:FR'>Regards,</span><span lang=3DFR><o:p></=
o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB style=3D'color:#0000=
7F;mso-fareast-language:FR'>Jordan GUILLOT</span><span lang=3DEN-GB style=
=3D'font-size:10.0pt;color:#000064;mso-fareast-language:FR'> </span><span l=
ang=3DFR><o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB styl=
e=3D'mso-fareast-language:FR'>&nbsp;</span><span lang=3DFR><o:p></o:p></spa=
n></p></div><p class=3DMsoNormal><span lang=3DEN-GB>&nbsp;</span><span lang=
=3DFR><o:p></o:p></span></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div=
></body></html>=


--===============4761720716168974284==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
PythonNet mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/pythonnet.python.org/
Member address: [email protected]

--===============4761720716168974284==--