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

Modules

command

Use the apydia command to generate API reference documentation:

descriptors

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.

generator

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.

helpers

Some helper functions used inside the templates

project

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.

theme

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.