Show HN: Python 3 with backwards compatibility features
nascheme
ppython
Python2016–2018
nascheme / ppython
ppython
Pragmatic Python
2Distinct people
7Mentions
0Explicit recommenders
0GitHub stars
What to know before exploring
What it is
Pragmatic Python
GitHub
Where it is used
No documented product use has been verified yet.
What people are saying
No recommendation phrase was found in the indexed comments.
No classified warning is attached to this page. Read the discussions before treating silence as approval.
Also in these discussions
No other repository is repeatedly linked in the same discussions.
This week on Hacker News
Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 7:02:50 PM UTC.
No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.
Mentions over time
HN mentions by month7 dated mentions
Observed mentions: 2016-07-08 18:39:01 UTC to 2018-01-07 18:00:01 UTC.
Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.
View mention counts and date ranges
| Period | Start (UTC) | End (exclusive, UTC) | Mentions | Submissions | Comments |
|---|---|---|---|---|---|
| Jul 2016 | 2016-07-01 00:00:00 UTC | 2016-08-01 00:00:00 UTC | 1 | 0 | 1 |
| Aug 2016 | 2016-08-01 00:00:00 UTC | 2016-09-01 00:00:00 UTC | 0 | 0 | 0 |
| Sep 2016 | 2016-09-01 00:00:00 UTC | 2016-10-01 00:00:00 UTC | 0 | 0 | 0 |
| Oct 2016 | 2016-10-01 00:00:00 UTC | 2016-11-01 00:00:00 UTC | 0 | 0 | 0 |
| Nov 2016 | 2016-11-01 00:00:00 UTC | 2016-12-01 00:00:00 UTC | 1 | 0 | 1 |
| Dec 2016 | 2016-12-01 00:00:00 UTC | 2017-01-01 00:00:00 UTC | 1 | 1 | 0 |
| Jan 2017 | 2017-01-01 00:00:00 UTC | 2017-02-01 00:00:00 UTC | 0 | 0 | 0 |
| Feb 2017 | 2017-02-01 00:00:00 UTC | 2017-03-01 00:00:00 UTC | 0 | 0 | 0 |
| Mar 2017 | 2017-03-01 00:00:00 UTC | 2017-04-01 00:00:00 UTC | 0 | 0 | 0 |
| Apr 2017 | 2017-04-01 00:00:00 UTC | 2017-05-01 00:00:00 UTC | 3 | 0 | 3 |
| May 2017 | 2017-05-01 00:00:00 UTC | 2017-06-01 00:00:00 UTC | 0 | 0 | 0 |
| Jun 2017 | 2017-06-01 00:00:00 UTC | 2017-07-01 00:00:00 UTC | 0 | 0 | 0 |
| Jul 2017 | 2017-07-01 00:00:00 UTC | 2017-08-01 00:00:00 UTC | 0 | 0 | 0 |
| Aug 2017 | 2017-08-01 00:00:00 UTC | 2017-09-01 00:00:00 UTC | 0 | 0 | 0 |
| Sep 2017 | 2017-09-01 00:00:00 UTC | 2017-10-01 00:00:00 UTC | 0 | 0 | 0 |
| Oct 2017 | 2017-10-01 00:00:00 UTC | 2017-11-01 00:00:00 UTC | 0 | 0 | 0 |
| Nov 2017 | 2017-11-01 00:00:00 UTC | 2017-12-01 00:00:00 UTC | 0 | 0 | 0 |
| Dec 2017 | 2017-12-01 00:00:00 UTC | 2018-01-01 00:00:00 UTC | 0 | 0 | 0 |
| Jan 2018 | 2018-01-01 00:00:00 UTC | 2018-02-01 00:00:00 UTC | 1 | 0 | 1 |
What Hacker News says
1 sourcesNAnas·Dec 10, 2016Submission
Porting Python code from version 2.x to 3.x is not a simple task. To help, I built a version of Python 3.6 that includes backwards compatibility features. Most important is the mixing of bytes and str objects and comparisons. For example, in vanilla Python 3:
>>> b'foo' + 'bar'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't concat bytes to str
>>> None < 'hi'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: NoneType() < str()
In my Python 3:
>>> b'foo' + 'bar'
sys:1: DeprecationWarning: encoding bytes to str
'foobar'
>>> None < 'hi'
__main__:1: DeprecationWarning: default compare is depreciated
True
Certain changes are easy to fix with code converters like 2to3. For example, changing print statements into fun
ctions is trivial. I don't bother trying to handle those. There is still a lot of things that could be added. However, when porting a large code base to Python 3, I found it useful.
I hope other people might use it and submit improvements. If someone need pre-built binaries (e.g. Windows), I would be willing to do it.
https://github.com/nascheme/ppython