pg-python provides access to Python from PostgreSQL. It contrasts with the built-in procedural language by interfacing with PostgreSQL types rather than converting them. This allows large instances of data types to be handled with greater efficiency while also allowing reasonable support for arbitrary data types without the need for a specialized implementation. Procedures are managed as entire modules so that initialization can be performed naturally by a stored procedure (each PostgreSQL function has a "main" entry point). Import statements may exist in a more natural position, and the "main" entry point may be decorated.