Python could improve its documentation
Python’s documentation is confusing and frustrating. As great as the language is, their documentation could be a lot better. Not the content of their documentation, but the navigability and structure thereof.
If you compare Python’s documentation to PHP’s documentation, you would see why. PHP got everything in one place. One book so to speak. Python got it all over the show in different “books”. There is nothing wrong with this apart for the fact if you go into the Language Reference book, go to a section in this book, there is no link back to other books like the Library Reference. A couple of links somewhere on every page linking to the other books would work wonders. The module reference is awesome, but as soon as you go into a module’s reference page, you need to click the modules button at the top or bottom to get back to a list of all the modules. Why not simply have a list of modules down the side as a menu, much the same as that PHP does with its function references?
One really frustrating thing is there is no search on hand in the Python docs. PHP got a search box on every documentation page and nothing is faster than simply entering the search phrase if you need to check something on a specific function. Python’s search is powered by Google and very accurate and effective, but you have to go to a separate search page, which is like the rest of the navigation in the documentation, pretty unreachable once you’ve left the page.
Another “nice-to-have” which PHP does and that would be really handy in Python’s documentation is the user examples/comments. PHP’s documentation is not at all as complete as Python’s is, but that simple little feature that allows users to leave some examples or comments makes the world of difference.
This might be a bit pedantic and petty, but it would just make lives simpler if it was done better! Yes, there are workarounds for almost all of the above issues by opening arrays of new browser tabs/windows. For now, workarounds will have to do.
2 Comments to "Python could improve its documentation"
Spit it out!
Recent Posts
- Afrigator vs Regator
- Don’t pirate music/movies! You might be forced to use Windows if you do…
- Pike > Python?
- Using Twhirl for FriendFeed
- Being anti-social SUCKS!
- Example using XFN and Optimus to find friends on Afrigator
- Optimus, the ultimate Microformats parser
- Please support UnitedForAfrica.co.za
- Afrigator Beta2.0 - Lets amplify the Xenophobia issue
- What can we as bloggers do about the Xenophobia crisis?
My Posse
- Jayx’s bloggy
- Gogo’s blog
- Go2 South Africa
- Stumble Upon
- Dave Duarte
- Wikipedia
- zlythern
- Max Kaizen
- Tresblue
- Mike Stopforth
- RafiQ
- Muti.co.za
- Employmint
- Danette’s Bloggy!
- Thinking Machine
- White African
- kiefpiet.co.za
- Skuff’s World
- Goozeberry
- Crossloop blog
- Crossloop
- Aquila Online
- Charl van Niekerk
- Derek Allard
- Code Igniter
- Carls
- Justin Hartman
- blik.co.za
- Stefano Sessa
- Uno de Waal
- Amplitude!
- bLaugh
- Tyler Reed
- Chris Rawlinson
- Stormhoek!
- 3am
- Mike Solomon
- Mobile Q and A
- Eric Edelstein
- Marc Forrest
- Imel Rautenbach
- Absolutewillie
- Vincent Maher
- Colin Daniels
- Groogle!
- Chilibean
- Paul Jacobson
- Ayelet
- Python Guru Neil
- Rails Guru Nic
- Beverley Merriman
- Miguel
- Nic Harrywhatshisname
- Chris iMod
- Geekrebel!
- Steven McD
- Belinda sweetheart!
- Henre Rossouw
- JPGeek
- Foxinni
- Adii
- Charl Norman
- Bandwidthblog
- Jason Bagley
- Simon Botes
- Auric Silverwing
- Mark Forrester
- Saul Kropman
- Fred Roed
- Sass Schultz
Filed in
- Afrigator (26)
- ajax (9)
- API (2)
- Apple stuff (10)
- Blogging (24)
- browsers (5)
- Business (27)
- Code Igniter (8)
- firefox (8)
- flock (14)
- Funnies (72)
- GeekDinner! (18)
- General and sometimes Rants (47)
- Go2SA (2)
- ideas 2.0 (14)
- javascript (12)
- Kick-ass Tools (30)
- Linux (5)
- Marketing (25)
- moo.ajax (4)
- mootools (6)
- Open Source (10)
- Programming (33)
- C# (1)
- PHP (13)
- Python (9)
- Ruby (on Rails) (9)
- RSS (5)
- Semantic Web (32)
- Social Web (57)
- Software Development (15)
- South Africa (33)
- Tagging (6)
- Techie stuff (22)
- Tshirts (2)
- Tutorials (42)
- Blogging (17)
- Flocking (6)
- muti.co.za (13)
- Web 2.0 (73)
- web development (20)
Past Stuff
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006















You should check out the new Python documentation at http://docs.python.org/dev/3.0/ - I think it solves some of your problems. The rest - well, talk to the Python docs people - it’s all done on mailing lists, and all the code is available for you to add features to as well.
I must say I consult the Python documentation a lot less than I do/did the PHP documentation. For two simple reasons: 1) It’s easier to remember the parameters and ordering in Python, and 2) the Python stuff is all documented on your machine already, especially if you’re using IPython. Want to know what to pass to function “x.foo”, just type “x.foo?” in IPython. Want to see the source of function “x.foo” - just type “x.foo??” in IPython. Want to know how the heapq module works? “pydoc heapq” from the command line.
Thanx Neil. You’re absolutely right. Version 3’s docs is exactly what I meant! The downside is that they would probably not make any drastic changes to Version 2.x documentation any time soon…
Thank you for the IPython tip! I did not even know about it and will definitely check it out. So we learn…