evennia/docs/0.9.5/Python-3.html
2021-01-30 13:29:07 +01:00

202 lines
No EOL
8.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Python 3 &#8212; Evennia 0.9.5 documentation</title>
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/language_data.js"></script>
<link rel="shortcut icon" href="_static/favicon.ico"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Evennia 0.9.5</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Python 3</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="python-3">
<h1>Python 3<a class="headerlink" href="#python-3" title="Permalink to this headline"></a></h1>
<blockquote>
<div><p><em>Note: Evennia only supports Python 2.7+ at this time. This page gathers various development
information relevant to server developers.</em></p>
</div></blockquote>
<p>Django can work with Python 2 and 3 already, though changes may be required to how the Evennia code
uses it. Twisted has much Python 3 compatibility, but not all modules within it have been ported
yet. The
<a class="reference external" href="https://twistedmatrix.com/documents/current/api/twisted.python.dist3.html">twisted.python.dist3</a>
module gives some information about whats ported, and Im compiling a list of missing modules with
related bug reports which can be found below. The list is based on a search for import statements in
the Evennia source code, please add anything thats missing.</p>
<p>Part of this process is expected to be writing more tests for Evennia. One encouraging recent port
to Python 3 in Twisted is its Trial test framework, which may need to be used by Evennia to ensure
it still works correctly with Twisted on Python 3.</p>
</div>
<div class="section" id="strings">
<h1>“Strings”<a class="headerlink" href="#strings" title="Permalink to this headline"></a></h1>
<p>Broadly (and perhaps over-simplified):</p>
<ul class="simple">
<li><p>Twisted [expects bytes](http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#WhydontTwisted
snetworkmethodssupportUnicodeobjectsaswellasstrings)</p></li>
<li><p>Django [expects “” to be unicode](https://docs.djangoproject.com/en/1.8/topics/python3/#unicode-
literals)</p></li>
</ul>
<p>I think we should use (roughly speaking) “” for unicode and b”” for bytes everywhere, but I need to
look at the impacts of this more closely.</p>
</div>
<div class="section" id="links">
<h1>Links<a class="headerlink" href="#links" title="Permalink to this headline"></a></h1>
<ul class="simple">
<li><p>http://twistedmatrix.com/documents/current/core/howto/python3.html</p></li>
<li><p>https://twistedmatrix.com/trac/wiki/Plan/Python3</p></li>
<li><p>[Twisted Python3 bugs](https://twistedmatrix.com/trac/query?status=assigned&amp;status=new&amp;status=reop
ened&amp;group=status&amp;milestone=Python-3.x)</p></li>
</ul>
</div>
<div class="section" id="twisted-module-status">
<h1>Twisted module status<a class="headerlink" href="#twisted-module-status" title="Permalink to this headline"></a></h1>
<p>x = not ported to Python 3
/ = ported to Python 3</p>
<ul class="simple">
<li><p>twisted.application.internet /</p></li>
<li><p>twisted.application.service /</p></li>
<li><p>twisted.conch x (not used directly)</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/5102~ /</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/4993~ /</p></li>
<li><p>twisted.conch.insults.insults x</p></li>
<li><p>twisted.conch.interfaces x</p></li>
<li><p>twisted.conch.manhole x</p></li>
<li><p>twisted.conch.manhole_ssh x</p></li>
<li><p>twisted.conch.ssh.common x</p></li>
<li><p>twisted.conch.ssh.keys x</p>
<ul>
<li><p>~https://twistedmatrix.com/trac/ticket/7998~ /</p></li>
<li><p>“twisted.conch.ssh.keys should be ported to Python 3”</p></li>
</ul>
</li>
<li><p>twisted.conch.ssh.userauth x</p></li>
<li><p>twisted.conch.telnet x</p></li>
<li><p>twisted.cred.checkers /</p></li>
<li><p>twisted.cred.portal /</p></li>
<li><p>twisted.internet.defer /</p></li>
<li><p>twisted.internet.interfaces /</p></li>
<li><p>twisted.internet.protocol /</p></li>
<li><p>twisted.internet.reactor /</p></li>
<li><p>twisted.internet.ssl /</p></li>
<li><p>twisted.internet.task /</p></li>
<li><p>twisted.internet.threads /</p></li>
<li><p>twisted.protocols.amp x</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/6833~ /</p></li>
<li><p>“Port twisted.protocols.amp to Python 3”</p></li>
<li><p>twisted.protocols.policies /</p></li>
<li><p>twisted.python.components /</p></li>
<li><p>twisted.python.log /</p></li>
<li><p>twisted.python.threadpool /</p></li>
<li><p>twisted.web.http (x)</p></li>
<li><p>Partial support. Sufficient?</p></li>
<li><p>twisted.web.resource /</p></li>
<li><p>twisted.web.server (x)</p></li>
<li><p>Partial support. Sufficient?</p></li>
<li><p>twisted.web.static /</p></li>
<li><p>twisted.web.proxy /</p></li>
<li><p>twisted.web.wsgi x</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/7993~ /</p>
<ul>
<li><p>twisted.web.wsgi should be ported to Python 3”</p></li>
<li><p>Seems to be making good progress</p></li>
</ul>
</li>
<li><p>twisted.words.protocols.irc x</p></li>
<li><p>https://twistedmatrix.com/trac/ticket/6320</p></li>
<li><p>“Python 3 support for twisted.words.protocols.irc”</p></li>
<li><p>~https://twistedmatrix.com/trac/ticket/6564~</p></li>
<li><p>“Replace usage of builtin reduce in twisted.words”</p></li>
</ul>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="index.html">
<img class="logo" src="_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<p><h3><a href="index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Python 3</a></li>
<li><a class="reference internal" href="#strings">“Strings”</a></li>
<li><a class="reference internal" href="#links">Links</a></li>
<li><a class="reference internal" href="#twisted-module-status">Twisted module status</a></li>
</ul>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="_sources/Python-3.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div>
<h3>Versions</h3>
<ul>
<li><a href="../1.0-dev/index.html">1.0-dev (develop branch)</a></li>
<li><a href="Python-3.html">0.9.5 (v0.9.5 branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Evennia 0.9.5</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Python 3</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>