nowfound

Dev tools · December 10, 2016

P3

Python 3 with backwards compatibility features

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 "", line 1, in TypeError: can't concat bytes to str >>> None ", line 1, in TypeError: unorderable types: NoneType() >> b'foo' + 'bar' sys:1: DeprecationWarning: encoding bytes to str 'foobar' >>> None < 'hi' __main__:1: DeprecationWarning: default compare is depreciated True…

What it does

In the maker’s words, at launch

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 functions 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:&#x2F;&#x2F;github.com&#x2F;nascheme&#x2F;ppython

Does the same job

all alternatives →

More dev tools this month

the category →
  • Dograh592

    The open source VAPI alternative

    Dev tools · 25d ago · dograh.com

  • Meridian530

    Don't let your work go unnoticed. Get promoted!

    Dev tools · 20d ago · meridiona.com

  • x1516

    Lovable for iPhone apps go from idea to App Store

    Dev tools · 11d ago · x1.new

  • Open-source GTM skills for technical founders

    Dev tools · 29d ago · gtmcofounder.com

  • OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.

    Dev tools · 1d ago · opentrailpaper.com

  • Nuphos380

    The AI-Native DevOps Workspace.

    Dev tools · 24d ago · nuphos.ai

Launched alongside, December 2016

the whole month →