fmII
Sun, Jul 27th home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop 00:25 UTC
in
Section
login «
register «
recover password «
[Project] add release | add branch | add screenshot | broken links | change owner | email subscribers | update project | update branch (urls) [Project]

 pyGCache - Default branch
Section: Unix

 

Added: Sun, Nov 14th 1999 19:53 UTC (8 years, 8 months ago) Updated: Mon, Oct 16th 2006 13:42 UTC (1 year, 9 months ago)


About:
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.

Author:
Donovan Baarda <abo |at| minkirri |dot| apana |dot| org |dot| au> [contact developer]

Rating:
8.54/10.00 (1 vote)

Tar/BZ2:
http://minkirri.apana.org.au/pub/python/gcache/gcache-1.14.tar.bz2
Changelog:
http://minkirri.apana.org.au/pub/python/gcache/ChangeLog

Trove categories: [change]
[Development Status]  4 - Beta
[Environment]  No Input/Output (Daemon)
[Intended Audience]  Developers
[License]  OSI Approved :: GNU General Public License (GPL), OSI Approved :: GNU Lesser General Public License (LGPL)
[Operating System]  OS Independent
[Programming Language]  Python
[Topic]  Communications, Internet :: WWW/HTTP, Software Development, Software Development :: Libraries :: Python Modules

Dependencies: [change]
No dependencies filed

 
Project admins: [change]
» abo (Owner)

» Rating: 8.54/10.00 (Rank N/A)
» Vitality: 0.00% (Rank 14086)
» Popularity: 0.39% (Rank 14537)

project statsdownload stats
(click to enlarge graphs)
   Record hits: 10,301
   URL hits: 4,111
   Subscribers: 3

Other projects from the same categories:
python-money
LSM-PKCS11
PyCrash
P18 Internationalizing Preprocessor
Imbalance

Users who subscribed to this project also subscribed to:
doclifter
Twisted
PyDBDesigner
Meeting Room Booking System
Imlug Remote Backup System


Add comment · Rate this project · Subscribe to new releases · Ignore this project · Email this project to a friend · Project record in XML

 Branches

Branch Version Last release License URLs
Default 1.13 18-Feb-2002 GNU Lesser General Public License (LGPL) Tar/BZ2 Changelog

 Comments

[»] possible conflict between this and GTK+ objects
by Kang, Jeong-Hee - Mar 3rd 2003 12:51:57

GTK+ has GLib the good set of objects and functions.
and GLib 2 provide GCache and GSource, etc.
I'm afraid that someday this project and python port of GTK+ make conflict over names.

--
from [ke'izi] : where is [r]?

[reply] [top]


    [»] Re: possible conflict between this and GTK+ objects
    by abo - Apr 16th 2003 02:42:45

    [...]

    > I'm afraid that someday this project and
    > python port of GTK+ make conflict over
    > names.

    I just got an email enquiring about a gcache failure in apache and the apache-ssl module. Is this the GTK+ gcache, or yet another one?

    Probaby this project should have it's name changed to pyGCache... hmm now how do I go about that...

    [reply] [top]


      [»] Re: possible conflict between this and GTK+ objects
      by jeff covey - Apr 16th 2003 06:14:48


      > Probaby this project should have it's name changed to
      > pyGCache... hmm now how do I go about that...

      Use the "update project" function on the "[Project]" menu.

      --
      vs lbh pna ernq guvf, lbh'er n trrx.

      [reply] [top]


        [»] Re: possible conflict between this and GTK+ objects
        by abo - Oct 16th 2006 13:12:09


        >

        > % Probaby this project should have it's

        > name changed to

        > % pyGCache...

        done. Also licence changed to LGPL.

        [reply] [top]


[»] Version 1.7 much better.
by abo - Nov 20th 2001 18:50:34

The version 1.7 significantly re-structured GCache from the previously released 0.1. The MetaData class is gone, instead a GSource class is used to create generic sources that produce (meta,data) tuples. New caches are no-longer implemented by inheriting from GCache and defining source_get methods, instead, GCache instances are created with a GSource instance parameter that implementes the upstream source interface.

This significantly cleans up the class heirachy, making everything simpler and more powerful. Defining GSource source's for a cache is much simpler, making GCache easier to use. Note that GCache is itself inherited from GSource, allowing for GCache instances to have other GCache instances as their source, allowing for cache heirachys.

The use of tuples and integer timestamps has significantly reduced the memory overheads. The dependance on PQueue has been removed by providing an optional pure Python implementation of PQueue. A persistant PCache has also been provided that incidentaly also reduces the memory overhead by storing cache contents in a shelve.

The API has also been significantly changed to allow for any sort of refresh-update, including rsync style delta updates as well as If-Modified-Since fetches. All of this is hidden behind the simple Python dict interface.

[reply] [top]


[»] New version soon...
by abo - Jan 23rd 2001 01:52:00

There is a new version of this coming soon. I have updated the API to support delta-based updates, inspired by rproxy, in addition to if-modified-since fetches. There will also be some additional tweaks and example applications.

[reply] [top]


[»] Needs PQueue; where to get it.
by abo - Nov 16th 1999 07:33:13

G'day,

Just looked at my logs and saw quite a few people have downloaded this. You will definitely need the PQueue module to make use of it, unless you want to substantialy hack it to use some other priority queue data structure.

Because the PQueue module can be hard to find, I've just added an appindex entry for it that should show up soon. For those who can't wait, it's also available in the same directory where I've put PQueue.

[reply] [top]




© Copyright 2008 SourceForge, Inc., All Rights Reserved.
About freshmeat.net •  Privacy Statement •  Terms of Use •  Trademark Guidelines •  Advertise •  Contact Us • 
ThinkGeek •  Slashdot  •  Linux.com •  SourceForge.net  •  Jobs