Cylc-flow: empy: Python3 and the future of cylc support

Created on 19 Feb 2019  路  5Comments  路  Source: cylc/cylc-flow

It would appear that empy is broken at Python3.7 (and perhaps earlier)! It looks like the latest version was released in 2004 so this isn't entirely surprising. Unless fixed we will have to strip empy from Cylc8.

To demonstrate the issue try rendering the empy template in etc/examples/empy/cities/suite.rc.

It looks like the code is falling over in em.py on line 2210 where is is performing a string comparison which no longer works (see `em.py line 45 for faulty back compat logic). It's probably simple to fix but involves oiling cogs which last turned 15 years ago.

Interestingly the empy site suggests the latest version is 3.3.3 whereas PyPi delivers 3.3.2.

Most helpful comment

I've contacted the author and proposed a fix, which he kindly included in the latest release at
http://www.alcyone.com/software/empy/empy-latest.tar.gz

CC: @benfitzpatrick

All 5 comments

@TomekTrzeciak

@benfitzpatrick, we would still like to keep empy in play. The conditional on line 2210 you mention ends up expecting bytes instance rather than a string as it should. I'll contact the author and try to get it fixed.

Thanks, let us know how you get on.

I've contacted the author and proposed a fix, which he kindly included in the latest release at
http://www.alcyone.com/software/empy/empy-latest.tar.gz

CC: @benfitzpatrick

The author of EmPy has just got back to me with news that PyPI version is now up to date too. It should be possible to re-enable EmPy in Cylc tests.

Was this page helpful?
0 / 5 - 0 ratings