Edgewall Software

In search of a better name for Markup

Many people have commented that “Markup” is a bad name for a project, mainly because it's very difficult to search for using Google et al. Note also that there is another Python project for generating HTML called markup at http://markup.sourceforge.net/. Another problem is that a future version of Markup will include a simple text-based template engine (see #47), which isn't really related to markup.

This page should serve to collect the various name suggestions.

Please also note that there are several aspects to the project name:

  • The project name as used in the logo, website and when referring to the project in general.
  • The name of the python package.
  • The names of distributed files and the distutils/setuptools project name (as used for PyPI and Python eggs).

Both package names and file names impose constraints on the set of potential candidates for a renaming: for example, neither support non-alphanumeric characters, or at least not in a portable manner.


Suggested by Christian Boos here:


Pretty standard for a Python library to have a "py" prefix, and you don't really give up the Markup name. Also, would be pretty straightforward to top google results for it (54 hits so far...).


I'm not a fan of such prefixed names (WinFoo, KFoo, GFoo, iFoo, etc). IMHO those fall in the "cheesy" category ;-) Exceptions are bindings or Python versions of some product, but otherwise I think it's rather ugly.
- Christopher Lenz

Yes, pySomething usually stands for the Python bindings for that Something. In the context of Markup, it was more meant to be reminiscent of the py: prefix we use everywhere in our templates. So maybe... py:markup? Additionally, this goes well with the encapsulation in <...> illustrated in the logo.
- cboos

See the comment I added at the top of the page about constraints on the project name. I actually like py:markup, but don't see how that would work as a name.
- cmlenz

Ok, then I stand for pymarkup for the project name and the package name; only the logo would be slightly different (<py:markup!> but see below for a nicer rendering). Note that this slight difference already exists for the current logo/name (<markup/> vs. Markup).
- cboos


See this post by Matt Good to the mailing list:

In relation to the "Goat" suggestion Chris mentioned on IRC "Markhor" which is a type of goat. Incidentally the name comes from the Persian word for "snake eater", so it has a sort-of tie-in to Python. Though as Christian later that O'Reilly is using wild goats on its covers for Ruby on Rails-related books: http://www.oreilly.com/catalog/rubyrails/

In this context, “Goat” was proposed on the thread by Ethan Fremen (“what happens to a kid when it grows up :)“.)

Well, I was actually refering to Ruby in a Nutshell, but it appears it's the same goat ;)... -- Christian


"upmark" - Suggested by David Fraser. Related suggestions: "upmarkit" or even for cheekiness "upmarkid"


Suggested by Talin via email:

On the naming issue, I have a suggestion: "Papyrus". Now - one would think that there must already be a Python project with that name, it's so bleeding obvious - but a Google search for "python papyrus" turns up nothing relevant. So my suggestion is - grab the name while you can :)

... except for the fact that this name is not already used, what would be the connection?
- cboos

great name, has py inside, association with writing and pages. Easy to spell. If thinking of a name with no connection whatsoever, “Genshi” will be the one to avoid.

If thinking of a name with no connection whatsoever, “Genshi” will be the one to avoid.

Why's that? --cmlenz

Actually, I've been writing a blogging platform for over a year and it's named Papyrus. It even uses Genshi. ;-) There's been a GitHub? and Google Code account for it now for over a year. -- devinus


While not totally descriptive for this very template system, I like the original name.

With "Papyrus", the office software instantly crossed my mind. It is also not a unique name, and although searching together with the python keyword (as Talin did) would work, it may not work in every case.

Note that I wrote "marrrkup" with three "r" to avoid finding typos on search engines. No hits on Google so far.

Suggested by Jochen Kupperschmidt


... XNM is Not Markup, as you have all guessed ;) In light of the recent discussion about the text templating system, this would give a hint that Markup is not exclusively about markup...


  • "X" as in XML, XSL, et al.
  • It's a recursive acronym
  • One of the few relatively unused "X..." acronym


  • Cryptic, Geeky, probably Cheesy as well ;)
  • It's a recursive acronym
  • It's already used in a different context (Expansion Node Manager (Eastern Research))

Extra points can be earned for using the XNM markup when refering to the Markup <py:...> tags (or #... directives), as this would be a case of RAS syndrome.

  • cboos

Well, but Markup is mostly about Markup, just not exclusively. So we'd have to use something like XAJM (XAJM Ain't Just Markup) :-P
-- cmlenz

Well, the Not in XNM has to be interpreted in the same spirit as the Not in GNU: Not xyz but mostly about xyz anyway...

  • cboos

By the way, exploring the XYX line, I came up with:


Which would stand for eXtensible Stream-based Template Language, which seems to describe Markup quite accurately. The name is of course close to XSLT, and that's fine because Markup is conceptually close to XSLT, only that it does things in the correct order (data → transform → xml, as opposed to data → xml → transform → xml). Plus, there's the connection introduced by XPath, used by both. Finally, imagine the number of people who would stumble upon Markup by mistyping xslt ;)

  • cboos


From texere (latin: “weaving”) and texture, with a y thrown in for the connection to Python and better uniqueness for search engines. The name is intended to suggest that the package is about “weaving text [output for the web]”.

(suggested by Christopher Lenz, who isn't convinced of the suggestion but wanted to write it down here anyway ;)


japanese: “thread for weaving” (原糸 【げんし】 (n)).
As in Genshi is your thread for weaving web pages.

(suggested by asmodai on IRC)

Logo suggestions:

1) by cmlenz
Logo mockup for Genshi
2) by cmlenz
Another Genshi logo
3) by cmlenz
Variation on the first Genshi logo
4) by cmlenz
Variation on the second Genshi logo
5) by asmodai
Logo idea 1


I thought about Tyles (tiles with that pythonic "y"). However, Google returns many hits due to it being a name, typo, spelling "styles" as "$tyles" or something different, but I still like the name.

Suggested by Jochen Kupperschmidt


Another suggestion, following the "gen" trend. "Genepy" stands for generate in python. The cultural background being this famous green liquor made in the Alpes, Génépi.

  • cboos


the Artifact Formerly Known as Markup

  • cboos

I like the current logo, however I thought about a small twist that would make it look even better: use a "!" instead of "/". That makes it more "dynamic".

HTML prototype: <markup!>

The "!" could even be interpreted as: "yeah, the name is markup! despite all what people are saying about its googlability and other neologisms..." ;)

HTML prototype for py:markup: <py:markup!>

Last modified 11 years ago Last modified on May 4, 2009, 11:28:14 PM

Attachments (5)

Download all attachments as: .zip