Future of Genshi

28 views
Skip to first unread message

Alessandro Molina

unread,
Feb 18, 2015, 4:15:29 AM2/18/15
to tg-trunk
I'm writing here because I'm fearing we will have to make a clear step regarding genshi in the near future. So I would like to gather as much opinions as possible regarding the matter.

Currently we have a major issue with TurboGears on Python3.4 caused by Genshi not working there due to changes into the ast module. The issue has actually been already patched nearly and year ago in genshi itself, but no new releases ever happened.

I have been able to provide a genshi.name_constant_patch option in TG genshi renderer that monkeypatches it to make it work on Py3.4, but this is actually a temporary work-around and is far from being an acceptable solution.

I also got in touch with Simon Cross half an year ago and he confirmed he was willing to make a new genshi release, but it still didn't happen.

Any suggestion on how to proceed?
I'm currently only able to think of replacing Genshi with Kajiki as the official TG template engine in a future major release. I'm unable to maintain genshi itself as its codebase is quite complex and hard to maintain, while Kajiki is 90% compatible with genshi while having a much simpler codebase and faster performances.

This is off course a last resort and I would really like to avoid having to proceed that way, but if Genshi is not maintained anymore and it stops working on future python releases I'm currently unable to see a better move :/

Christoph Zwerschke

unread,
Feb 18, 2015, 8:14:59 AM2/18/15
to turbogea...@googlegroups.com
Am 18.02.2015 um 10:15 schrieb Alessandro Molina:
> I'm writing here because I'm fearing we will have to make a clear step
> regarding genshi in the near future. So I would like to gather as much
> opinions as possible regarding the matter.

First of all, it's very sad that Genshi has stalled. The idea behind it
(actually copied from "Kid") was brilliant, particularly at that time
when XHTML was all the rage. Now with HTML5 the use of XML has become a
bit less interesting. But Genshi worked still quite well for me as a
successor of Kid.

Unfortunately, I can't give feedback regarding Kajiki, since I haven't
used it so far. It doesn't seem very active either, and doesn't seem to
have many users, so there may be lingering problems that nobody noticed
so far. The CDATA bug you mentioned is still not fixed, either. TW2
compatibility is very important.

It seems your argument is that Kajiki can be easier forked and/or
maintained as part of the TurboGears project, because it's less complex,
do I understand it correctly?

-- Christoph

Alessandro Molina

unread,
Feb 20, 2015, 8:47:41 AM2/20/15
to tg-trunk
On Wed, Feb 18, 2015 at 2:15 PM, Christoph Zwerschke <ci...@online.de> wrote:
Am 18.02.2015 um 10:15 schrieb Alessandro Molina:
I'm writing here because I'm fearing we will have to make a clear step
regarding genshi in the near future. So I would like to gather as much
opinions as possible regarding the matter.

First of all, it's very sad that Genshi has stalled. The idea behind it (actually copied from "Kid") was brilliant, particularly at that time when XHTML was all the rage. Now with HTML5 the use of XML has become a bit less interesting. But Genshi worked still quite well for me as a successor of Kid.

Yes,  and I really believe it is one of the foundation concepts behind TG.
the XML based template engine is one of the features I love most and that differentiates TG from the other frameworks, so we definitely had to retain it. 
 
Unfortunately, I can't give feedback regarding Kajiki, since I haven't used it so far. It doesn't seem very active either, and doesn't seem to have many users, so there may be lingering problems that nobody noticed so far. The CDATA bug you mentioned is still not fixed, either. TW2 compatibility is very important.

It seems your argument is that Kajiki can be easier forked and/or maintained as part of the TurboGears project, because it's less complex, do I understand it correctly?

Yes,
I actually don't want to replace Genshi at all, I like it but I'm afraid we won't get the new release any time soon.
As I'm unable to take over the effort of maintaining genshi and the codebase looks quite complex the only alternative I have been able to think of is switching to Kajiki which seems to have an easier codebase ( I have been able to provide pull requests for it in the past ).

Any other suggestion is appreciated :)
 

Craig Small

unread,
Feb 26, 2015, 6:01:17 AM2/26/15
to turbogea...@googlegroups.com
On Wed, Feb 18, 2015 at 10:15:28AM +0100, Alessandro Molina wrote:
> I'm writing here because I'm fearing we will have to make a clear step
> regarding genshi in the near future. So I would like to gather as much
> opinions as possible regarding the matter.
I use mako myself, or am I missing the point here?
Unless there is good reason not too, switch to the easiest one to
maintain.

- Craig
--
Craig Small (@smallsees) http://enc.com.au/ csmall at : enc.com.au
Debian GNU/Linux http://www.debian.org/ csmall at : debian.org
GPG fingerprint: 5D2F B320 B825 D939 04D2 0519 3938 F96B DF50 FEA5

Mengu

unread,
Mar 6, 2015, 3:51:32 PM3/6/15
to turbogea...@googlegroups.com
as the 20th century poet ozzy osbourne once written: "let it go, let it die."

Alessandro Molina

unread,
Mar 6, 2015, 4:22:32 PM3/6/15
to tg-trunk
On Thu, Feb 26, 2015 at 12:00 PM, Craig Small <csm...@enc.com.au> wrote:
On Wed, Feb 18, 2015 at 10:15:28AM +0100, Alessandro Molina wrote:
>    I'm writing here because I'm fearing we will have to make a clear step
>    regarding genshi in the near future. So I would like to gather as much
>    opinions as possible regarding the matter.
I use mako myself, or am I missing the point here?

The core issue is that Genshi has been the standard of TurboGears for the past 5 years or so,
most applications have been based on Kid and then ported to Genshi, so it would probably be an issue for many users.

But the most problematic part is it was the template pluggable apps and extensions could rely on,
independently from the template you quickstarted with, 
master.html was provided and genshi available so any pluggable or extension you used would work even though your app was with mako or jinja.

Reply all
Reply to author
Forward
0 new messages