Module: apydia

Apydia - Python API Reference Generator

Apydia is an API reference documentation generator for Python. It's designed as an instantly serviceable replacement for Pudge's API-documentation generator. It won't generate complete websites from reST etc. like Pudge does, though - Apydia is only about the API.

Features currently include:

  • Basic Pudge compatibility and a short and easy migration path
  • Rudimentary Trac-integration, that is links into Trac's sourcecode browser
  • Some fair amount of usability
  • Setuptools integration
  • Flexible, Genshi/XInclude-based themeability with theme inheritance
  • Support for various text formats like Markdown, Textile and reST
  • Other parsers can easily be plugged in on demand
  • Syntax highlighting thanks to Pygments

Planned features are:

  • JavaScript-based live search (clientside index, no AJAX)
  • Maybe a couple more themes



Use the apydia command to generate API reference documentation:


Descriptors represent and describe the target project's class- and module-model internally. They provide methods to extract information about the objects in more or less intelligent ways.


The Generator-class is responsible for rendering X/HTML-files, writing out dynamically generated resources, like css-files for syntax highlighting, creating the directory tree and copying all static files that are specified in the theme's theme.ini-file.


Some helper functions used inside the templates


The Project-class represents the whole API-documentation project. It loads themes and parsers, invokes a Generator-object to render all HTML and runs plugins and hooks.


Creating themes for Apydia is fairly easy if you know how to use Genshi (and it's limited XInclude implementation). If you don't, take a look at the bundled "elixir"- and "apydia"-themes to get an idea.