While writing a single wrapper function isn't too difficult, it quickly becomes tedious and error prone as the number of functions increases. SWIG automates this process by generating wrapper code from a list ANSI C function and variable declarations. As a result, adding scripting languages to C applications can become an almost trivial exercise.static PyObject *wrap_getenv(PyObject *self, PyObject *args) { char * result; char * arg0; if(!PyArg_ParseTuple(args, "s",&arg0)) return NULL; result = getenv(arg0); return Py_BuildValue("s", result); }