PyXR 0.9.4.13 Readme file
PyXR generates pretty-printed HTML from python source files. The
pages have extensive cross-referencing hyperlinks.
New Features for Release 0.9.4.13 (01 Jan 2005 14:46:44 +0000)
- Support for new language features in 2.4.
- Fixes for new html documentation formatting.
- Improved handling of modules with extended html docs (such as
the os module)
- Proper handling of nonexistant entries in sys.path such as
- Proper handling of mixed tabs and spaces
- Proper display of line continuations via \
- Use universal newline mode when reading .py source files (if
- Append to releases.py in binary mode so that it uses proper
- User-configurable headers and footers on pages
- More detailed documentation of the settings.cfg configuation file
included in settings.html
- Added filenames to exception text for fatal errors due to malformed
- SkipInvalidFIles flag defaults to 1 now. Must turn off to debug.
PyXR can be downloaded here.
Unzip the archive, copy to your site-packages directory
- Create a settings.cfg file in the PyXR directory. Several
exist. You might be able to rename the one for your os to settings.cfg.
More detailed configuration instructions are available in the file
'settings.html' in the PyXR distribution.
Trying out the app
PyXR was designed to generate static html pages that are in turn
served up by
your platform's webserver (IIS, apache, etc). However, there is a
server that you can use if you want to try PyXR before generating
of output. Simply run "python webserver.py" from the PyXR directory.
perform initialization of the index (which will take a few minutes) and
webserver at http://localhost:8088/ that will server 100 pages. This
webpages without any caching, so it'll take a few seconds to generate
as you're browsing.
Generating Static pages
If you've tested the app, and decided that you like it, you'll probably
generate static output. To do so, just run 'python buildWeb.py' from the
directory. [You may want to review the settings configuration section
doing this]. Ten to twenty minutes later, you should have a full copy of
source on your server. Scheduling a nightly automated job is left as an
exercise for the reader.
Integrating the Library Reference
Library Reference isn't integrated by default because the .html
documents can exist in a variety of locations on any given platform.
- You may need to download the archive (2.4 is here) from python.org or "make" the documentation
- You'll probably want to extract the archive into a webserver's
directory (\inetpub\wwwroot\, /var/www/htdocs, etc) and verify that you
can navigate. (IIS doesn't use index.html as a default directory page
until you set it up.)
Once you have the documentation installed, set useLibraryReference to 1
in settings.cfg and set the libUrl and libDirectory appropriately.
These should point to the 'lib' subdirectory and not the 'doc'
useLibraryReference = 1
libDirectory = c:\inetpub\wwwroot\python23doc\lib\
libUrl = /python23doc/lib/
Generating a cached data file
Either of the above options has an initialization phase that can take
minutes. They can accept an optional parameter that points to a cached
file. This will speed things up in development (or if for some reason
can't run buildWeb.py due to capacity issues). Running "python
filename" will generate the file. After it's been generated, "python
webserver.py filename" or "python buildWeb.py filename" will utilize it.
remember not to edit any of your .py files if you're doing this ;)
ToDo- the future
Figure out how to handle superclasses. I don't think hyperlinking
another class in another file would be intuitive. There should be
can do though.
Refactor, refactor, refactor
Performance, performance, performance
Not ToDo (so don't ask)
Won't try to tie into CVS versions. You'd need to know the state of
referenced document for a particular version.
- Won't try to implement incremental updates or caching. It's more
difficult than just checking a file's timestamp. Use a scheduled job