<div dir="ltr">I think this suggestion should result in a library on PyPi, which can then be considered for the standard library if it sees a lot of use.<div><br></div><div>Also, modern OpenGL does this just like Python does: all of the trigonometric functions take radians and a "radians" function is provided.</div><div><br></div><div>Best,</div><div><br></div><div>Neil<br><div><br>On Saturday, June 9, 2018 at 2:55:12 PM UTC-4, Robert Vanden Eynde wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">



<div>
<div dir="auto">
<div style="font-family:sans-serif" dir="auto">Indeed what we need for exact math for multiple of 90 (and 30) is ideas from the symbolic libraries (sympy, sage).</div>
<div dir="auto" style="font-family:sans-serif"><br>
</div>
<div dir="auto" style="font-family:sans-serif">Of course the symbolic lib can do more like :</div>
<div dir="auto" style="font-family:sans-serif"><br>
</div>
<div dir="auto" style="font-family:sans-serif">
<div dir="auto">sage: k = var('k', domain='integer')</div>
<div dir="auto">sage: cos(1 + 2*k*pi)</div>
<div dir="auto">cos(1)</div>
<div dir="auto">sage: cos(k*pi)</div>
<div dir="auto">cos(pi*k)</div>
<div dir="auto">sage: cos(pi/3 + 2*k*pi)</div>
<div dir="auto">1/2</div>
<div dir="auto"><br>
</div>
<div dir="auto">But that would concern symbolic lib only I think.</div>
<div dir="auto"><br>
</div>
<div dir="auto">For the naming convention, scipy using sindg (therefore Nor sind nor sindeg) will make the sind choice less obvious. However if Matlab and Julia chooses sind that's a good path to go, Matlab is pretty popular, as other pointed out, with Universities
 giving "free" licences and stuff. With that regards, scipy wanting to "be a replacement to Matlab in python and open source" it's interesting they chose sindg and not the Matlab name sind.</div>
<div dir="auto"><br>
</div>
<div dir="auto">For the "d" as suffix that would mean "d" as "double" like in opengl. Well, let's remember that in Python there's only One floating type, that's a double, and it's called float... So python programmers will not think "sind means it uses a python
 float and not a python float32 that C99 sinf would". Python programmers would be like "sin takes float in radians, sind takes float in degrees or int, because int can be converted to float when there's no overflow".</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">Le sam. 9 juin 2018 à 04:09, Wes Turner <<a href="javascript:" rel="nofollow" target="_blank" gdf-obfuscated-mailto="nn2hudZHAgAJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">wes.t...@gmail.com</a>> a écrit :<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div># Python, NumPy, SymPy, mpmath, sage trigonometric functions</div>
<div><a href="https://en.wikipedia.org/wiki/Trigonometric_functions" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTrigonometric_functions\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEIf4XNp_7szy7Yq0TU7JalKkH3mQ';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTrigonometric_functions\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEIf4XNp_7szy7Yq0TU7JalKkH3mQ';return true;">https://en.wikipedia.org/wiki/<wbr>Trigonometric_functions</a><br>
</div>
<div><br>
</div>
<div>## Python math module</div>
<div><a href="https://docs.python.org/3/library/math.html#trigonometric-functions" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.python.org%2F3%2Flibrary%2Fmath.html%23trigonometric-functions\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG08mBQl6jn8eC-ATWL0m33SfyJ5A';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.python.org%2F3%2Flibrary%2Fmath.html%23trigonometric-functions\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG08mBQl6jn8eC-ATWL0m33SfyJ5A';return true;">https://docs.python.org/3/<wbr>library/math.html#<wbr>trigonometric-functions</a></div>
<div>- degrees(radians): Float degrees</div>
<div>- radians(degrees): Float degrees</div>
<div><br>
</div>
<div>## NumPy</div>
<div><a href="https://docs.scipy.org/doc/numpy/reference/routines.math.html#trigonometric-functions" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.scipy.org%2Fdoc%2Fnumpy%2Freference%2Froutines.math.html%23trigonometric-functions\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFuM4WFwt_DJkQ1XpuDovsxWOe1XA';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.scipy.org%2Fdoc%2Fnumpy%2Freference%2Froutines.math.html%23trigonometric-functions\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFuM4WFwt_DJkQ1XpuDovsxWOe1XA';return true;">https://docs.scipy.org/doc/<wbr>numpy/reference/routines.math.<wbr>html#trigonometric-functions</a><br>
</div>
<div>- degrees(radians) : List[float] degrees</div>
<div><span style="color:rgb(34,34,34);font-family:sans-serif;font-size:13px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);float:none;display:inline">-
 rad2deg(radians): List[float] degrees</span><br>
</div>
<div>- radians(degrees) : List[float] radians</div>
<div>- deg2rad(degrees): List[float] radians</div>
<div><br>
</div>
<div><a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.sin.html" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.scipy.org%2Fdoc%2Fnumpy%2Freference%2Fgenerated%2Fnumpy.sin.html\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHlot0nbYlHyqWBB9zdyKegVSoSLg';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.scipy.org%2Fdoc%2Fnumpy%2Freference%2Fgenerated%2Fnumpy.sin.html\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHlot0nbYlHyqWBB9zdyKegVSoSLg';return true;">https://docs.scipy.org/doc/<wbr>numpy/reference/generated/<wbr>numpy.sin.html</a><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>## SymPy</div>
<div><a href="http://docs.sympy.org/latest/modules/functions/elementary.html#sympy-functions-elementary-trigonometric" rel="nofollow" target="_blank" onmousedown="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fdocs.sympy.org%2Flatest%2Fmodules%2Ffunctions%2Felementary.html%23sympy-functions-elementary-trigonometric\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNF8vOe2IEU4uxrxe6AfBEB_HO_zXQ';return true;" onclick="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fdocs.sympy.org%2Flatest%2Fmodules%2Ffunctions%2Felementary.html%23sympy-functions-elementary-trigonometric\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNF8vOe2IEU4uxrxe6AfBEB_HO_zXQ';return true;">http://docs.sympy.org/latest/<wbr>modules/functions/elementary.<wbr>html#sympy-functions-<wbr>elementary-trigonometric</a><br>
</div>
<a href="http://docs.sympy.org/latest/modules/functions/elementary.html#trionometric-functions" rel="nofollow" target="_blank" onmousedown="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fdocs.sympy.org%2Flatest%2Fmodules%2Ffunctions%2Felementary.html%23trionometric-functions\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGqSIgKiDuu8MMjfLhNhvJL6a8Cwg';return true;" onclick="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fdocs.sympy.org%2Flatest%2Fmodules%2Ffunctions%2Felementary.html%23trionometric-functions\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGqSIgKiDuu8MMjfLhNhvJL6a8Cwg';return true;">http://docs.sympy.org/latest/<wbr>modules/functions/elementary.<wbr>html#trionometric-functions</a>
<div><br>
</div>
<div>- sympy.mpmath.degrees(radians): Float degrees</div>
<div>- sympy.mpmath.radians(degrees): Float radians</div>
<div><br>
</div>
<div>- <a href="https://stackoverflow.com/questions/31072815/cosd-and-sind-with-sympy" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fstackoverflow.com%2Fquestions%2F31072815%2Fcosd-and-sind-with-sympy\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGMM7ll9JldOsE595BpQg2JxFx0Cg';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fstackoverflow.com%2Fquestions%2F31072815%2Fcosd-and-sind-with-sympy\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGMM7ll9JldOsE595BpQg2JxFx0Cg';return true;">https://stackoverflow.com/<wbr>questions/31072815/cosd-and-<wbr>sind-with-sympy</a></div>
<div>  - cosd, sind</div>
<div>  - <a href="https://stackoverflow.com/questions/31072815/cosd-and-sind-with-sympy#comment50176770_31072815" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fstackoverflow.com%2Fquestions%2F31072815%2Fcosd-and-sind-with-sympy%23comment50176770_31072815\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGwGzDqcw4JskAccp3TR-G1R8oCGQ';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fstackoverflow.com%2Fquestions%2F31072815%2Fcosd-and-sind-with-sympy%23comment50176770_31072815\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGwGzDqcw4JskAccp3TR-G1R8oCGQ';return true;">https://stackoverflow.com/<wbr>questions/31072815/cosd-and-<wbr>sind-with-sympy#<wbr>comment50176770_31072815</a></div>
<div><br>
</div>
<div>    > Let x, theta, phi, etc. be Symbols representing quantities in radians. Keep a list of these symbols: angles = [x, theta, phi]. Then, at the very end, use y.subs([(angle, angle*pi/180) for angle in angles]) to change the meaning of the symbols to
 degrees"<br>
<div><br>
</div>
<div><br>
</div>
<div>## mpmath</div>
<div><a href="http://mpmath.org/doc/current/functions/trigonometric.html" rel="nofollow" target="_blank" onmousedown="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fmpmath.org%2Fdoc%2Fcurrent%2Ffunctions%2Ftrigonometric.html\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHIZlGdvVuDTXkYGthAkTfXonIplg';return true;" onclick="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fmpmath.org%2Fdoc%2Fcurrent%2Ffunctions%2Ftrigonometric.html\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHIZlGdvVuDTXkYGthAkTfXonIplg';return true;">http://mpmath.org/doc/current/<wbr>functions/trigonometric.html</a></div>
<div>
<div style="color:rgb(34,34,34);font-family:sans-serif;font-size:13px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
- sympy.mpmath.degrees(radians): Float degrees</div>
<div style="color:rgb(34,34,34);font-family:sans-serif;font-size:13px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
- sympy.mpmath.radians(degrees): Float radians</div>
<br>
</div>
<div><br>
</div>
<div>## Sage</div>
<div><a href="https://doc.sagemath.org/html/en/reference/functions/sage/functions/trig.html" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fdoc.sagemath.org%2Fhtml%2Fen%2Freference%2Ffunctions%2Fsage%2Ffunctions%2Ftrig.html\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGcn0dNfqxhdHrTqHxYtUD7_Cxo9A';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fdoc.sagemath.org%2Fhtml%2Fen%2Freference%2Ffunctions%2Fsage%2Ffunctions%2Ftrig.html\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGcn0dNfqxhdHrTqHxYtUD7_Cxo9A';return true;">https://doc.sagemath.org/html/<wbr>en/reference/functions/sage/<wbr>functions/trig.html</a><br>
</div>
</div>
</div>
<div><br>
</div>
<div><br>
<br>
On Friday, June 8, 2018, Robert Vanden Eynde <<a href="javascript:" rel="nofollow" target="_blank" gdf-obfuscated-mailto="nn2hudZHAgAJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">robertva...@hotmail.com</a><wbr>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div dir="auto">
<div>
<div dir="auto">- Thanks for pointing out a language (Julia) that already had a name convention. Interestingly they don't have a atan2d function. Choosing the same convention as another language is a big plus.</div>
<div dir="auto"><br>
</div>
<div dir="auto">- Adding trig function using floats between 0 and 1 is nice, currently one needs to do sin(tau * t) which is not so bad (from math import tau, tau sounds like turn).</div>
<div dir="auto"><br>
</div>
<div dir="auto">- Julia has sinpi for sin(pi*x), one could have sintau(x) for sin(tau*x) or sinturn(x).</div>
<div dir="auto"><br>
</div>
<div dir="auto">Grads are in the idea of turns but with more problems, as you guys said, grads are used by noone, but turns are more useful. sin(tau * t) For The Win.</div>
<div dir="auto"><br>
</div>
<div dir="auto">- Even though people mentionned 1/6 not being exact, so that advantage over radians isn't that obvious ?</div>
<div dir="auto"><br>
</div>
<div dir="auto">from math import sin, tau</div>
<div dir="auto">from fractions import Fraction</div>
<div dir="auto">sin(Fraction(1,6) * tau)</div>
<div dir="auto">sindeg(Fraction(1,6) * 360)</div>
<div dir="auto"><br>
</div>
<div dir="auto">These already work today by the way.</div>
<div dir="auto"><br>
</div>
<div dir="auto">- As you guys pointed out, using radians implies knowing a little bit about floating point arithmetic and its limitations. Integer are more simple and less error prone. Of course it's useful to know about floats but in many case it's not necessary
 to learn about it right away, young students just want their player in the game move in a straight line when angle = 90.</div>
<div dir="auto"><br>
</div>
<div dir="auto">- sin(pi/2) == 1 but cos(pi/2) != 0 and sin(3*pi/2) != 1 so sin(pi/2) is kind of an exception.</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<br>
<br>
<div class="gmail_quote">
<div dir="ltr">Le ven. 8 juin 2018 à 09:11, Steven D'Aprano <<a href="javascript:" rel="nofollow" target="_blank" gdf-obfuscated-mailto="nn2hudZHAgAJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">st...@pearwood.info</a>> a écrit :<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Fri, Jun 08, 2018 at 03:55:34PM +1000, Chris Angelico wrote:<br>
> On Fri, Jun 8, 2018 at 3:45 PM, Steven D'Aprano <<a href="javascript:" rel="nofollow" target="_blank" gdf-obfuscated-mailto="nn2hudZHAgAJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">st...@pearwood.info</a>> wrote:<br>
> > Although personally I prefer the look of d as a prefix:<br>
> ><br>
> > dsin, dcos, dtan<br>
> ><br>
> > That's more obviously pronounced "d(egrees) sin" etc rather than "sined"<br>
> > "tanned" etc.<br>
> <br>
> Having it as a suffix does have one advantage. The math module would<br>
> need a hyperbolic sine function which accepts an argument in; and<br>
> then, like Charles Napier [1], Python would finally be able to say "I<br>
> have sindh".<br>
<br>
Ha ha, nice pun, but no, the hyperbolic trig functions never take <br>
arguments in degrees. Or radians for that matter. They are "hyperbolic <br>
angles", which some electrical engineering text books refer to as <br>
"hyperbolic radians", but all the maths text books I've seen don't call <br>
them anything other than a real number. (Or sometimes a complex number.)<br>
<br>
But for what it's worth, there is a correspondence of a sort between the <br>
hyperbolic angle and circular angles. The circular angle going between 0 <br>
to 45° corresponds to the hyperbolic angle going from 0 to infinity.<br>
<br>
<a href="https://en.wikipedia.org/wiki/Hyperbolic_angle" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHyperbolic_angle\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFs7TZHDK9xTATqoGc4-G6sxPEnMg';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHyperbolic_angle\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFs7TZHDK9xTATqoGc4-G6sxPEnMg';return true;">https://en.wikipedia.org/wiki/<wbr>Hyperbolic_angle</a><br>
<br>
<a href="https://en.wikipedia.org/wiki/Hyperbolic_function" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHyperbolic_function\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGaMjy9DL9ttflqtdleA3tI-Gw2Wg';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHyperbolic_function\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGaMjy9DL9ttflqtdleA3tI-Gw2Wg';return true;">https://en.wikipedia.org/wiki/<wbr>Hyperbolic_function</a><br>
<br>
<br>
> [1] Apocryphally, alas.<br>
<br>
Don't ruin a good story with facts ;-)<br>
<br>
<br>
<br>
-- <br>
Steve<br>
______________________________<wbr>_________________<br>
Python-ideas mailing list<br>
<a href="javascript:" rel="nofollow" target="_blank" gdf-obfuscated-mailto="nn2hudZHAgAJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">Python...@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fmail.python.org%2Fmailman%2Flistinfo%2Fpython-ideas\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFj1EaNHnVmh20FnFPoUi4J-MpfQw';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fmail.python.org%2Fmailman%2Flistinfo%2Fpython-ideas\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFj1EaNHnVmh20FnFPoUi4J-MpfQw';return true;">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="nofollow" target="_blank" onmousedown="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fpython.org%2Fpsf%2Fcodeofconduct%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHJOrArSUDKkjrnthO6_CznMzkPsA';return true;" onclick="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fpython.org%2Fpsf%2Fcodeofconduct%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHJOrArSUDKkjrnthO6_CznMzkPsA';return true;">
http://python.org/psf/<wbr>codeofconduct/</a><br>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
______________________________<wbr>_________________<br>
Python-ideas mailing list<br>
<a href="javascript:" rel="nofollow" target="_blank" gdf-obfuscated-mailto="nn2hudZHAgAJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">Python...@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fmail.python.org%2Fmailman%2Flistinfo%2Fpython-ideas\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFj1EaNHnVmh20FnFPoUi4J-MpfQw';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fmail.python.org%2Fmailman%2Flistinfo%2Fpython-ideas\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFj1EaNHnVmh20FnFPoUi4J-MpfQw';return true;">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="nofollow" target="_blank" onmousedown="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fpython.org%2Fpsf%2Fcodeofconduct%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHJOrArSUDKkjrnthO6_CznMzkPsA';return true;" onclick="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fpython.org%2Fpsf%2Fcodeofconduct%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHJOrArSUDKkjrnthO6_CznMzkPsA';return true;">
http://python.org/psf/<wbr>codeofconduct/</a><br>
</blockquote>
</div>
</div>

</blockquote></div></div></div>