Fun fact for the new year, don't use dot 2020 in theme package names ;-)

OK, that was weird. While creating a new themepackage (with plonecli, using sub-template theme_barceloneta) I decided to name it "plonetheme.2020". Sure, not the best name ever, but still. It sort of indicates this is going to be for 2020, doesn't it?

Running buildout goes well, but starting up spits out a hard error and Plone refuses to start

InvalidDottedName: plonetheme.2020.interfaces.IPlonetheme2020Layer

after complaining about something something unicode....

So on a hunch, remembering that 2020 is also used for encoding/decoding urls and other stuff I recreated the theme package as plonetheme.rfd20

Which works absolutely fine. Exactly the same package, but with a different package name. :thinking:

(No, this is not a good bug report with full traceback. Yes, I'm still on python2 as I depend on one add-on which hasn't been ported yet. Just a heads-up for others as a new year is dawning and people may start using 2020 as a name for something...)

Full traceback, for the terminally bored, is at


A number is not valid as module/namespace name. See also: Python documentation about lexical definitions for Identifiers and keywords: or easier readable explained here


This seems to be a lesser known fact. When DATEV dropped its XML interface, it offered a completely broken REST development kit with all modules and classes numbered from 1 to ... :roll_eyes:


I opened an issue

:smiley: thanks for giving us 20/20 vision on this! :sunglasses:

use plonetheme.twentytwenty.interfaces.IPlonetheme2020Layer

Plone Foundation Code of Conduct