<div>Mailing list tips and tricks, PEPs, Write the Docs</div><div><br></div><div>Since you asked, although this isn't in scope of the original subject line, and since I'd like to just continue this thread instead of breaking the thread by changing the subject line, and since this isn't technically OT (off-topic) in the interest of conversing toward an objective, here I've added a first-line summary of this message. I should probably change the subject and start a new thread.</div><div><br></div><div>You can search mailing lists in a number of ways:</div><div><br></div><div>- Google search with "site:<a href="http://mail.python.org">mail.python.org</a>" and/or "inurl:" queries</div><div>  <a href="https://www.google.com/search?q=site%3Amail.python.org">https://www.google.com/search?q=site%3Amail.python.org</a></div><div>  (inurl doesn't match mm3-migrated lists too)</div><div><br></div><div>- Google Groups, if the list is set up there too</div><div><br></div><div>- Gmail "list:<a href="http://python.org">python.org</a>" queries</div><div>  - This doesn't find messages that you didn't receive because you weren't subscribed yet.</div><div><br></div><div>- "<a href="mailto:from%3Alist@mail.python.org">from:list@mail.python.org</a>" queries</div><div>  - This doesn't find messages that you didn't receive because you weren't subscribed yet.</div><div><br></div><div>- Markmail "list:org.python.edu-sig" queries</div><div>  <a href="https://markmail.org/search/?q=list%3Aorg.python">https://markmail.org/search/?q=list%3Aorg.python</a></div><div>  <a href="https://markmail.org/search/?q=list%3Aorg.python.edu-sig">https://markmail.org/search/?q=list%3Aorg.python.edu-sig</a></div><div><br></div><div>The Python mailing lists aren't yet all upgraded to mailman 3 (/mm3/ URLs); so some lists have the classic mailman archive interface (where "by thread" breaks at the month boundary, for example) and upgraded lists have the new Django-based HyperKitty interface with e.g. search and a full thread view.</div><div><br></div><div>With mm3, it's also possible to reply to threads you didn't receive because you weren't subscribed at the time.</div><div><br></div><div>e.g. -- for example</div><div>i.e. -- that is</div><div>(List of acronyms OTOH/OTOMH)</div><div><br></div><div>Reply-all is unnecessary, but often helpful. If you just click reply, it may be addressed off-list to only the sender (and not the list email address, which is what you want if you want the mailing list app to archive for and relay the message to every subscriber). If that happens, you (or the recipient) can forward the message to the list, but it'll be unnecessarily quote-indented unless you just copy and paste (which can be lossy with HTML quote indents inferred from plaintext-quoted lines that start with '>'), so it pays to verify the to: field before you start composing a message.</div><div><br></div><div>Some old hands argue for like 72 character fixed width messages so that when they're n-levels quote-indented, they still fit on an 80 character terminal without rewrapping. Old-school email clients like mutt, for example, can handle this;</div><div>though, on a phone, fixed width hard-broken lines</div><div>wrap like</div><div>this sometimes; which is not as easy to read.</div><div><br></div><div>TL;DR (too long; didn't read) is an acronym of Reddit; though the standard form of intro summary, body, conclusion summary is equally helpful for long-form mailing list posts. Many email clients show the first part of the first line of the message after the overly-long narrowly descriptive subject line that doesn't actually describe the scope of the discussion anymore.</div><div><br></div><div>For Python features, the ultimate objective is to write or develop a PEP. There is a PEP template here:</div><div><a href="https://www.python.org/dev/peps/pep-0012/">https://www.python.org/dev/peps/pep-0012/</a></div><div><a href="https://github.com/python/peps/blob/master/pep-0012.rst">https://github.com/python/peps/blob/master/pep-0012.rst</a></div><div><br></div><div>PEP 1 explains PEPs:</div><div>"PEP 1 -- PEP Purpose and Guidelines"</div><div><a href="https://www.python.org/dev/peps/pep-0001/">https://www.python.org/dev/peps/pep-0001/</a></div><div><a href="https://github.com/python/peps/blob/master/pep-0001.txt">https://github.com/python/peps/blob/master/pep-0001.txt</a></div><div><br></div><div>PEPs must be justified (as indicated by the Rationale heading in the PEP template); so starting with a justification is a good approach to arguing that you need the whole list's time before you spend your precious time writing an actual PEP like actual contributors do sometimes (when they're getting actual work done).</div><div><br></div><div>Bug and issue discussions are for the issue tracker (Roundup), though sometimes it's a really good idea to ask a list for help and feedback.</div><div><br></div><div>Mailing lists don't support ReStructuredText, but docs, docstrings, and PEPs do; so it's perfectly reasonable -- even advisable, though not at all strictly necessary -- to format mailing list messages that would be helpful for those purposes in reStructuredText from the start. By the time you've added RST setext headings, you might as well be collaboratively drafting a PEP.</div><div><br></div><div>Though it doesn't happen nearly frequently enough, it's often really helpful to update the docs with wisdom culled from the mailing lists (and Q&A sites which have labels).</div><div><br></div><div>"6. Helping with Documentation¶"</div><div><a href="https://devguide.python.org/docquality/">https://devguide.python.org/docquality/</a></div><div><br></div><div>"7. Documenting Python¶"</div><div><a href="https://devguide.python.org/documenting/">https://devguide.python.org/documenting/</a></div><div><br></div><div>The ultimate source of Python documentation (an often-cited strength of Python as a language choice):</div><div><a href="https://github.com/python/cpython/tree/master/Doc">https://github.com/python/cpython/tree/master/Doc</a></div><div><br></div><div>"16. Accepting Pull Requests¶"</div><div><a href="https://devguide.python.org/committing/">https://devguide.python.org/committing/</a></div><div><br></div><div><br></div><br>On Thursday, August 30, 2018, Wes Turner <<a href="mailto:wes.turner@gmail.com">wes.turner@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br>On Thursday, August 30, 2018, kirby urner <<a href="mailto:kirby.urner@gmail.com" target="_blank">kirby.urner@gmail.com</a>> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><br></div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default">Thanks.  Yes, I'll add some links to the docs as you suggest.  Great feedback!<br></div></div></div></blockquote><div><br></div><div>Glad to be helpful.</div><div><br></div><div>I've trimmed out the text I'm not replying to and tried to use plaintext only in order to: make sure the thread stays below the 40K limit, and make it easy to reply inline without breaking HTML tags.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"></div><div class="gmail_quote"><br></div><div class="gmail_quote"><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default">Actually as part of my class I'm showing them edu-sig and other <a href="http://python.org" target="_blank">python.org</a> lists, so we were actually viewing this conversation.  I'll extend that to showing your corrections, as I want to demonstrate how the Python community all teaches each other, is friendly and so on.<br></div></div></div></blockquote><div><br></div><div>Code review with pull requests / merge requests and GitHub, Gerrit, GitLab etc is an essential skill.</div><div><br></div><div>Src: <a href="https://github.com/jupyter/nbdime" target="_blank">https://github.com/<wbr>jupyter/nbdime</a></div><div>Docs: <a href="https://nbdime.readthedocs.io/" target="_blank">https://nbdime.<wbr>readthedocs.io/</a></div><div><br></div><div>> nbdime provides tools for diffing and merging of Jupyter Notebooks.</div><div><br></div><div>There are a number of real-time collaborative platforms for working with notebooks (CoCalc, Colab, )</div><div><br></div><div><a href="https://hypothes.is" target="_blank">https://hypothes.is</a> highlights and annotations work on anything with a URL, are threaded, and support Markdown.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default"><br></div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default">Kirby</div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default"></div><br><div class="gmail_quote"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote>
</blockquote></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote>
</blockquote></div></div>
</blockquote>
</blockquote>