In simplest terms, PyFerret is Ferret encapsulated in Python.
PyFerret is a Python module wrapping Ferret. The pyferret module provides Python functions so Python users can easily take advantage of the Ferret's abilities to retrieve, manipulate, visualize, and save data. There are also functions to move data between Python and the Ferret engine. Python scripts used as Ferret external functions.
But PyFerret can also be used as a transparent replacement for the traditional Ferret executable. A simple script starts Python and enters the pyferret module, giving the traditional Ferret interface. This script also support all of Ferret's command-line options.
Inside the PyFerret wrapper is a complete, but enhanced Ferret engine. One very noticeable enhancement is improved graphics which can be saved in common image formats. (Sorry, no more GKS metafiles.) Also, PyFerret comes packaged with many new statistical and shapefile functions which are, in fact, Python scripts making use of third-party Python modules.