<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/urwid.git/docs/tutorial, branch master</title>
<subtitle>github.com: wardi/urwid.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/'/>
<entry>
<title>Python 37+ initial migration (#522)</title>
<updated>2023-03-31T15:08:50+00:00</updated>
<author>
<name>Alexey Stepanov</name>
<email>penguinolog@users.noreply.github.com</email>
</author>
<published>2023-03-31T15:08:50+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=ea7e615ef5ee0897f66210f47ab6390889d7b313'/>
<id>ea7e615ef5ee0897f66210f47ab6390889d7b313</id>
<content type='text'>
* Initial migration to the python 3.7: Semi-automatic changes

CI related:
Update `tox.ini` and `.travis.yml` to run python3 only tests
Python 3.11 tests is commented-out on travis until #517 is not merged

Manual changes:
* `setup.py`: classifiers, remove python2 compatibility code
* `docs/manual/wcur2.py`: looks like file was never completed, syntax is invalid
* `urwid.compat`: removed `ord2`, `bytes3`, `text_type`, `xrange` and `text_types`

Automatic changes (no manual editing, AST validated equality:
* removed `u` prefix from all strings: not allowed in modern python code
* `bytes()` -&gt; `b''`
* `== None` -&gt; `is None`
* subclassing of `object`
* `super(&lt;Class&gt;`, self&gt;)` -&gt;`super()`
* `from __future__ import ...` python3 compatibility imports
* `set(&lt;Iterable[Hashable]&gt;)` -&gt; `{&lt;Hashable&gt;}`
* partial f-strings conversion
* (`IOError`, `select.error`, `socket.error`) -&gt; `OSError`

* Switch to f-strings (automatic changes)

* Remove `urwid.compat.B`

* Remove `urwid.compat.with_metaclass`

* use native `super()` instead of `self.__super`

* Remove `urwid.compat.chr2`

* Remove `urwid.split_repr.python3_repr`

* Use native `@classmethod` and `@property` where overload is not possible

* Add `from __future__ import annotations`

* automatically sort imports

* Add DeprecationWarning to the deprecated methods

most IDE's will recognize it and annotate during new code usage
call with "warnings as errors" mode will help to refactor other users

* Address comments

* replace homepage address in all files
* remove outdated comments in compat.py
* make wcur2.py correct python code. For example subclass
* replace `self.__super` by `super()` in examples
* fix asyncio_socket_server.py: magic with `asyncio` became wrong

* Remove `widget.update_wrapper`: this was backport of python `functools.update_wrapper`

* display_common.py: fix trivial typo in _colors calculation

* use `sorted` method instead of list construction with later sorting

* Address comments

* `wcur2` include in docs
* warning on `signals.Signals.emit`

---------

Co-authored-by: Aleksei Stepanov &lt;alekseis@nvidia.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Initial migration to the python 3.7: Semi-automatic changes

CI related:
Update `tox.ini` and `.travis.yml` to run python3 only tests
Python 3.11 tests is commented-out on travis until #517 is not merged

Manual changes:
* `setup.py`: classifiers, remove python2 compatibility code
* `docs/manual/wcur2.py`: looks like file was never completed, syntax is invalid
* `urwid.compat`: removed `ord2`, `bytes3`, `text_type`, `xrange` and `text_types`

Automatic changes (no manual editing, AST validated equality:
* removed `u` prefix from all strings: not allowed in modern python code
* `bytes()` -&gt; `b''`
* `== None` -&gt; `is None`
* subclassing of `object`
* `super(&lt;Class&gt;`, self&gt;)` -&gt;`super()`
* `from __future__ import ...` python3 compatibility imports
* `set(&lt;Iterable[Hashable]&gt;)` -&gt; `{&lt;Hashable&gt;}`
* partial f-strings conversion
* (`IOError`, `select.error`, `socket.error`) -&gt; `OSError`

* Switch to f-strings (automatic changes)

* Remove `urwid.compat.B`

* Remove `urwid.compat.with_metaclass`

* use native `super()` instead of `self.__super`

* Remove `urwid.compat.chr2`

* Remove `urwid.split_repr.python3_repr`

* Use native `@classmethod` and `@property` where overload is not possible

* Add `from __future__ import annotations`

* automatically sort imports

* Add DeprecationWarning to the deprecated methods

most IDE's will recognize it and annotate during new code usage
call with "warnings as errors" mode will help to refactor other users

* Address comments

* replace homepage address in all files
* remove outdated comments in compat.py
* make wcur2.py correct python code. For example subclass
* replace `self.__super` by `super()` in examples
* fix asyncio_socket_server.py: magic with `asyncio` became wrong

* Remove `widget.update_wrapper`: this was backport of python `functools.update_wrapper`

* display_common.py: fix trivial typo in _colors calculation

* use `sorted` method instead of list construction with later sorting

* Address comments

* `wcur2` include in docs
* warning on `signals.Signals.emit`

---------

Co-authored-by: Aleksei Stepanov &lt;alekseis@nvidia.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>fix typo</title>
<updated>2022-07-12T12:43:47+00:00</updated>
<author>
<name>Casey Jones</name>
<email>github@doctorcolossus.e4ward.com</email>
</author>
<published>2022-01-02T11:08:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=58f16c778c694fbc567e791459d4beb59b857cfc'/>
<id>58f16c778c694fbc567e791459d4beb59b857cfc</id>
<content type='text'>
"will be have" → "will have"</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"will be have" → "will have"</pre>
</div>
</content>
</entry>
<entry>
<title>Update index.rst</title>
<updated>2022-07-12T12:42:18+00:00</updated>
<author>
<name>Asiel Díaz Benítez</name>
<email>adbenitez@nauta.cu</email>
</author>
<published>2022-05-27T03:24:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=7ecda9d85851dbbf7efa7ba2158c0e4459797426'/>
<id>7ecda9d85851dbbf7efa7ba2158c0e4459797426</id>
<content type='text'>
fix small typo in tutorial</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fix small typo in tutorial</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2017-02-27T23:35:45+00:00</updated>
<author>
<name>Jakub Wilk</name>
<email>jwilk@jwilk.net</email>
</author>
<published>2017-02-27T23:35:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=f19850d0a005bf6f6313d22ee6a9df709ec6777b'/>
<id>f19850d0a005bf6f6313d22ee6a9df709ec6777b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: remove unused lbscr example</title>
<updated>2014-01-01T23:41:44+00:00</updated>
<author>
<name>Ian Ward</name>
<email>ian@excess.org</email>
</author>
<published>2014-01-01T23:41:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=6ce8dd0b84ba165f2b92041a9f37f0793832d3dc'/>
<id>6ce8dd0b84ba165f2b92041a9f37f0793832d3dc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>remove urwid symlinks, use setup.py develop instead</title>
<updated>2013-12-26T15:47:48+00:00</updated>
<author>
<name>Ian Ward</name>
<email>ian@excess.org</email>
</author>
<published>2013-12-26T15:47:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=3f5650a3327e7be88ce055704f6c971277df4671'/>
<id>3f5650a3327e7be88ce055704f6c971277df4671</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tutoral: cmenu.py make cascade max assumption explicit</title>
<updated>2012-10-20T20:05:38+00:00</updated>
<author>
<name>Ian Ward</name>
<email>ian@excess.org</email>
</author>
<published>2012-10-20T20:05:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=ad18da56e119377b1a37191294a01735523dc5cd'/>
<id>ad18da56e119377b1a37191294a01735523dc5cd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tutorial: make example file names match names in tutorial</title>
<updated>2012-10-20T02:57:43+00:00</updated>
<author>
<name>Ian Ward</name>
<email>ian@excess.org</email>
</author>
<published>2012-10-20T02:57:43+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=47f2199cde5ad2b44b55174ac04cd4d7c95646ee'/>
<id>47f2199cde5ad2b44b55174ac04cd4d7c95646ee</id>
<content type='text'>
--HG--
rename : docs/tutorial/menu4.py =&gt; docs/tutorial/adventure.py
rename : docs/tutorial/menu4.py.xdotool =&gt; docs/tutorial/adventure.py.xdotool
rename : docs/tutorial/menu41.png =&gt; docs/tutorial/adventure1.png
rename : docs/tutorial/menu42.png =&gt; docs/tutorial/adventure2.png
rename : docs/tutorial/menu43.png =&gt; docs/tutorial/adventure3.png
rename : docs/tutorial/menu44.png =&gt; docs/tutorial/adventure4.png
rename : docs/tutorial/menu2.py =&gt; docs/tutorial/cmenu.py
rename : docs/tutorial/menu2.py.xdotool =&gt; docs/tutorial/cmenu.py.xdotool
rename : docs/tutorial/menu21.png =&gt; docs/tutorial/cmenu1.png
rename : docs/tutorial/menu22.png =&gt; docs/tutorial/cmenu2.png
rename : docs/tutorial/menu23.png =&gt; docs/tutorial/cmenu3.png
rename : docs/tutorial/menu24.png =&gt; docs/tutorial/cmenu4.png
rename : docs/tutorial/menu3.py =&gt; docs/tutorial/hmenu.py
rename : docs/tutorial/menu3.py.xdotool =&gt; docs/tutorial/hmenu.py.xdotool
rename : docs/tutorial/menu31.png =&gt; docs/tutorial/hmenu1.png
rename : docs/tutorial/menu32.png =&gt; docs/tutorial/hmenu2.png
rename : docs/tutorial/menu33.png =&gt; docs/tutorial/hmenu3.png
rename : docs/tutorial/menu34.png =&gt; docs/tutorial/hmenu4.png
rename : docs/tutorial/lbcont.py =&gt; docs/tutorial/multiple.py
rename : docs/tutorial/lbcont.py.xdotool =&gt; docs/tutorial/multiple.py.xdotool
rename : docs/tutorial/lbcont1.png =&gt; docs/tutorial/multiple1.png
rename : docs/tutorial/lbcont2.png =&gt; docs/tutorial/multiple2.png
rename : docs/tutorial/lbcont3.png =&gt; docs/tutorial/multiple3.png
rename : docs/tutorial/lbcont4.png =&gt; docs/tutorial/multiple4.png
rename : docs/tutorial/edit.py =&gt; docs/tutorial/qa.py
rename : docs/tutorial/edit.py.xdotool =&gt; docs/tutorial/qa.py.xdotool
rename : docs/tutorial/edit1.png =&gt; docs/tutorial/qa1.png
rename : docs/tutorial/edit2.png =&gt; docs/tutorial/qa2.png
rename : docs/tutorial/edit3.png =&gt; docs/tutorial/qa3.png
rename : docs/tutorial/frlb.py =&gt; docs/tutorial/sig.py
rename : docs/tutorial/frlb.py.xdotool =&gt; docs/tutorial/sig.py.xdotool
rename : docs/tutorial/frlb1.png =&gt; docs/tutorial/sig1.png
rename : docs/tutorial/frlb2.png =&gt; docs/tutorial/sig2.png
rename : docs/tutorial/frlb3.png =&gt; docs/tutorial/sig3.png
rename : docs/tutorial/frlb4.png =&gt; docs/tutorial/sig4.png
rename : docs/tutorial/menu1.py =&gt; docs/tutorial/smenu.py
rename : docs/tutorial/menu1.py.xdotool =&gt; docs/tutorial/smenu.py.xdotool
rename : docs/tutorial/menu11.png =&gt; docs/tutorial/smenu1.png
rename : docs/tutorial/menu12.png =&gt; docs/tutorial/smenu2.png
rename : docs/tutorial/menu13.png =&gt; docs/tutorial/smenu3.png
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--HG--
rename : docs/tutorial/menu4.py =&gt; docs/tutorial/adventure.py
rename : docs/tutorial/menu4.py.xdotool =&gt; docs/tutorial/adventure.py.xdotool
rename : docs/tutorial/menu41.png =&gt; docs/tutorial/adventure1.png
rename : docs/tutorial/menu42.png =&gt; docs/tutorial/adventure2.png
rename : docs/tutorial/menu43.png =&gt; docs/tutorial/adventure3.png
rename : docs/tutorial/menu44.png =&gt; docs/tutorial/adventure4.png
rename : docs/tutorial/menu2.py =&gt; docs/tutorial/cmenu.py
rename : docs/tutorial/menu2.py.xdotool =&gt; docs/tutorial/cmenu.py.xdotool
rename : docs/tutorial/menu21.png =&gt; docs/tutorial/cmenu1.png
rename : docs/tutorial/menu22.png =&gt; docs/tutorial/cmenu2.png
rename : docs/tutorial/menu23.png =&gt; docs/tutorial/cmenu3.png
rename : docs/tutorial/menu24.png =&gt; docs/tutorial/cmenu4.png
rename : docs/tutorial/menu3.py =&gt; docs/tutorial/hmenu.py
rename : docs/tutorial/menu3.py.xdotool =&gt; docs/tutorial/hmenu.py.xdotool
rename : docs/tutorial/menu31.png =&gt; docs/tutorial/hmenu1.png
rename : docs/tutorial/menu32.png =&gt; docs/tutorial/hmenu2.png
rename : docs/tutorial/menu33.png =&gt; docs/tutorial/hmenu3.png
rename : docs/tutorial/menu34.png =&gt; docs/tutorial/hmenu4.png
rename : docs/tutorial/lbcont.py =&gt; docs/tutorial/multiple.py
rename : docs/tutorial/lbcont.py.xdotool =&gt; docs/tutorial/multiple.py.xdotool
rename : docs/tutorial/lbcont1.png =&gt; docs/tutorial/multiple1.png
rename : docs/tutorial/lbcont2.png =&gt; docs/tutorial/multiple2.png
rename : docs/tutorial/lbcont3.png =&gt; docs/tutorial/multiple3.png
rename : docs/tutorial/lbcont4.png =&gt; docs/tutorial/multiple4.png
rename : docs/tutorial/edit.py =&gt; docs/tutorial/qa.py
rename : docs/tutorial/edit.py.xdotool =&gt; docs/tutorial/qa.py.xdotool
rename : docs/tutorial/edit1.png =&gt; docs/tutorial/qa1.png
rename : docs/tutorial/edit2.png =&gt; docs/tutorial/qa2.png
rename : docs/tutorial/edit3.png =&gt; docs/tutorial/qa3.png
rename : docs/tutorial/frlb.py =&gt; docs/tutorial/sig.py
rename : docs/tutorial/frlb.py.xdotool =&gt; docs/tutorial/sig.py.xdotool
rename : docs/tutorial/frlb1.png =&gt; docs/tutorial/sig1.png
rename : docs/tutorial/frlb2.png =&gt; docs/tutorial/sig2.png
rename : docs/tutorial/frlb3.png =&gt; docs/tutorial/sig3.png
rename : docs/tutorial/frlb4.png =&gt; docs/tutorial/sig4.png
rename : docs/tutorial/menu1.py =&gt; docs/tutorial/smenu.py
rename : docs/tutorial/menu1.py.xdotool =&gt; docs/tutorial/smenu.py.xdotool
rename : docs/tutorial/menu11.png =&gt; docs/tutorial/smenu1.png
rename : docs/tutorial/menu12.png =&gt; docs/tutorial/smenu2.png
rename : docs/tutorial/menu13.png =&gt; docs/tutorial/smenu3.png
</pre>
</div>
</content>
</entry>
<entry>
<title>manual, tutorial: minor updates/fixes</title>
<updated>2012-10-15T01:58:13+00:00</updated>
<author>
<name>Ian Ward</name>
<email>ian@excess.org</email>
</author>
<published>2012-10-15T01:58:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=24ad241c49be98d2f4e08186faea8685a118557f'/>
<id>24ad241c49be98d2f4e08186faea8685a118557f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tutorial: put screen shots first</title>
<updated>2012-10-10T20:41:19+00:00</updated>
<author>
<name>Ian Ward</name>
<email>ian@excess.org</email>
</author>
<published>2012-10-10T20:41:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/urwid.git/commit/?id=7ad53dc310e90e74c3feacc33ac73c3aa5834724'/>
<id>7ad53dc310e90e74c3feacc33ac73c3aa5834724</id>
<content type='text'>
--HG--
branch : feature-sphinx
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--HG--
branch : feature-sphinx
</pre>
</div>
</content>
</entry>
</feed>
