PyXLL allows you to expose Python functions as Excel User Defined Functions (UDFs), menu items and Excel macros. The user defined functions appear in Excel as normal worksheet functions, that look and behave the same as functions added using VBA or the Excel C API. Python functions are exposed to Excel via the xl_func decorator described in the user defined functions section, menus items are added via the xl_menu decorator described in the custom menus section, and macros are described in the macros section.
Marshalling between python types and Excel types is done automatically. The exposed funcions are given a function signature that describes the arguments the function takes and the return type. Argument and return types are covered in more detail in the standard types section. If functions take custom types you may supply your own marshalling code as described in the custom types section.
The PyXLL Excel addin determines what python modules declare user defined Excel functions and menu items by reading the config file. The config file is also used to configure where any logging messages should be redirected to, and may also be used to set environment variables before importing custom modules. The config file is also where you must copy your licence key to before PyXLL will work.