{"comment":{"created_at":"2011-10-11T14:51:57Z","body":"[podolsir] > using this pre 1.35 compatible method we end up with 'arg1' in the generated docstring instead of 'self' but that is better than adding ugly #ifdef's I figure.\r\nYeah, I agree. And it allows for the bigger and more important part of the docs to be also present when compiling against 1.34 (with current #ifdefs, 1.34 users would see arg1, arg2, ... for all arguments, not just \"self\"). While it would probably be possible to write some macro to circumvent it, I don't think it's worth it for now.\r\n\r\nOn to the next patch :) I was playing with the your epydoc scripts and noticed that there were way too many classes shown in the output (only Coord, Envelope, Feature and Projection). These seems to be the classes that have pure-Python wrappers defined in {{{__init__.py}}}; the files for the classes in the _mapnik module. In the generated docs in SVN they are explicitly under {{{mapnik._mapnik}}} module, which also isn't very nice as most users won't ever see _mapnik in their code. When I regenerate the docs with your scripts, even mapnik._mapnik doesn't show up.\r\n\r\nPython's own pydoc tool shows the same behavior (here on Python 2.6.2 at least).\r\n\r\nExporting methods explicitly by defining {{{__all__}}} in {{{__init__.py}}} helps there as the classes are shown and referenced in all indices with pydoc and your epydoc scripts. It also has the nice effect of not polluting the caller's namespace with things like \"BoostPythonMetaclass\", \"setdlopenflags\" and so on if the user does {{{from mapnik import *}}} (they currently get all dumped there as evidenced by the output of the dir() function).\r\n\r\nThe attached export_members_explicitly.patch enumerates all API members in {{{ __all__}}}.","updated_at":"2011-10-11T14:51:57Z","url":"https://api.github.com/repos/artemp/tickets2issues/issues/comments/2362320","id":2362320,"user":{"avatar_url":"https://secure.gravatar.com/avatar/941f68386168a8a6b60f2529a7830af7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/artemp","id":59056,"login":"artemp"}},"action":"created","issue":{"number":28,"created_at":"2011-10-11T14:51:43Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Add missing doc strings to core objects e.g Style,Rule,Filter,Datasource etc.","comments":21,"title":"Add python docstrings to boost:python bindings","updated_at":"2011-10-11T14:51:57Z","url":"https://api.github.com/repos/artemp/tickets2issues/issues/28","id":1875574,"assignee":null,"milestone":null,"closed_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/941f68386168a8a6b60f2529a7830af7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/artemp","id":59056,"login":"artemp"},"html_url":"https://github.com/artemp/tickets2issues/issues/28","labels":[{"name":"Boost_Python_Binding","url":"https://api.github.com/repos/artemp/tickets2issues/labels/Boost_Python_Binding","color":"FFFFFF"}],"state":"open"},"legacy":{"issue_id":1875574,"comment_id":2362320}}