GCache is a Python module that provides a generic cache class useful for speeding up any application where objects are referenced by keys. It uses object metadata to optimize hit-rates and freshness for fetches, and uses a "write-through" mechanism for writes and deletes. It can use "if-modified-since" fetches or rsync delta updates to refresh stale cached objects. GSource classes are provided for generating useful metadata from common sources (os.stat calls and MIME headers). A simple example urlCache is implemented that supports HTTP 1.1 (rfc2616) cache-control and expire headers to ensure freshness. Also included is an rfc2616 package useful for parsing HTTP 1.1 headers, and a PCache package implementing a persistant cache using a Python shelve.
GCompris is an educational software suite with numerous activities for children aged 2 to 10. Some of the activities are game-orientated, but nonetheless still educational. These include computer discovery (keyboard, mouse, different mouse gestures), algebra (table memory, enumeration, double entry table, mirror image), science (the canal lock, the water cycle, the submarine, electric simulation), geography (place the country on the map), games (chess, memory, connect 4, oware, sudoku), reading practice, and others (learn to tell time, puzzles of famous paintings, vector drawing, cartoon making, etc.). It currently offers in excess of 100 activities, and more are being developed.
The Geospatial Data Abstraction Library (GDAL) is a unifying C/C++ API for accessing raster geospatial data, and currently includes formats like GeoTIFF, Erdas Imagine, Arc/Info Binary, CEOS, DTED, GXF, and SDTS. It is intended to provide efficient access, suitable for use in viewer applications, and also attempts to preserve coordinate systems and metadata. Python, C, and C++ interfaces are available.
getmail is intended as a simple, secure, and reliable replacement for fetchmail. It retrieves email (either all messages, or only unread messages) from one or more POP3, SPDS, or IMAP4 servers (with or without SSL) for one or more email accounts, and reliably delivers into qmail-style Maildirs, mboxrd files, or through external MDAs (command deliveries) specified on a per-account basis. getmail also has excellent support for domain (multidrop) mailboxes, including delivering messages to different users or destinations based on the envelope recipient address.
GLE is a library package of C functions that draw extruded surfaces, including surfaces of revolution, sweeps, tubes, polycones, polycylinders and helicoids. Generically, the extruded surface is specified with a 2D polyline that is extruded along a 3D path. A local coordinate system allows for additional flexibility in the primitives drawn. Extrusions may be texture mapped in a variety of ways. The GLE library generates 3D triangle coordinates, lighting normal vectors and texture coordinates as output. GLE uses the GL or OpenGL API's to perform the actual rendering.
Gnofract 4D is a Gnome-based program to draw fractals. What sets it apart from other fractal programs (and makes it "4D") is the way that it treats the Mandelbrot and Julia sets as different views of the same four-dimensional fractal object. It contains a Fractint-compatible formula compiler, allowing it to draw an unlimited number of fractal types, using numerous coloring options.
gpsd is a daemon that listens to a GPS or Loran receiver and translates the positional data into a simplified format that can be more easily used by other programs, like chart plotters. The package comes with a sample client that plots the location of the currently visible GPS satellites (if available) and a speedometer. It can also use DGPS/ip.
Grail is an extensible Internet browser written entirely in the interpreted object-oriented programming language Python. It runs on Unix, and, to some extent, on Windows and Macintosh. Grail is easily extended to support other new protocols or file formats. Grail is distributed in source form, free of change, without warranties. It requires recent versions of Python and Tcl/Tk to run.