General information ******************* Some help to people wanting to hack on psycopg. First of all, note that *every* function in the psycopg module source code is prefixed by one of the following words: psyco is used for function directly callable from python (i.e., functions in the psycopg module itself.) the only notable exception is the source code for the module itself, that uses "psyco" even for C-only functions. conn is used for functions related to connection objects. curs is used for functions related to cursor objects. typecast is used for typecasters and utility function related to typecaster creation and registration. Pythonic definition of types and functions available from python are defined in *_type.c files. Internal functions, callable only from C are located in *_int.c files and extensions to the DBAPI can be found in the *_ext.c files. Patches ******* If you submit a patch, please send a diff generated with the "-u" switch. Also note that I don't like that much cosmetic changes (like renaming already existing variables) and I will rewrap the patch to 78 columns anyway, so it is much better if you do that beforehand. The type system *************** Simple types, like integers and strings, are converted to python base types (the conversion functions are in typecast_base.c). Complex types are converted to ad-hoc types, defined in the typeobj_*.{c,h} files. The conversion function are in the other typecast_*.c files. typecast.c defines the basic utility functions (available through the psycopg module) used when defining new typecasters from C and python.