program the pty module is also not available on all python platforms today (most notablyit runs on cygwin but not the standard windows pythonthe pexpect packagea pure-python equivalent of the unix expect programuses pty to provide additional functionality and to handle interactions that bypass standard streams ( password inputssee the python library manual for more on ptyand search the web for pexpect named pipes (fifoson some platformsit is also possible to create long-lived pipe that exists as real named file in the filesystem such files are called named pipes (orsometimesfifosbecause they behave just like the pipes created by the previous section' programs because fifos are associated with real file on your computerthoughthey are external to any particular program--they do not rely on memory shared between tasksand so they can be used as an ipc mechanism for threadsprocessesand independently launched programs once named pipe file is createdclients open it by name and read and write data using normal file operations fifos are unidirectional streams in typical operationa server program reads data from the fifoand one or more client programs write data to it in additiona set of two fifos can be used to implement bidirectional communication just as we did for anonymous pipes in the prior section because fifos reside in the filesystemthey are longer-lived than in-process anonymous pipes and can be accessed by programs started independently the unnamedinprocess pipe examples thus far depend on the fact that file descriptors (including pipesare copied to child processesmemory that makes it difficult to use anonymous pipes to connect programs started independently with fifospipes are accessed instead by filename visible to all programs running on the computerregardless of any parentchild process relationships in factlike normal filesfifos typically outlive the programs that access them unlike normal filesthoughthe operating system synchronizes fifo accessmaking them ideal for ipc because of their distinctionsfifo pipes are better suited as general ipc mechanisms for independent client and server programs for instancea perpetually running server program may create and listen for requests on fifo that can be accessed later by arbitrary clients not forked by the server in sensefifos are an alternative to the socket port interface we'll meet in the next section unlike socketsthoughfifos do not directly support remote network connectionsare not available in standard windows python todayand are accessed using the standard file interface instead of the more unique socket port numbers and calls we'll study later parallel system tools