The widget library previously had a `wehjit.assets` module for managing
JavaScript and CSS assets.  This module automatically named the assets
using a content hash (sha1sum), while allowing the application to
retrieve the current filename using a human readable key.  But this
module also was using SQLAlchemy to maintain the key to
content-hash-name mapping in a Sqlite database, which was way overkill
and introducing an otherwise unneeded dependency (SQLAlchemy).

So I re-implemented the assets functionality using symlinks to store the
key to content-hash-name mapping (instead of a database).  As long as I
was at it, I split this functionality into a separate tree/project.  I
did this because it was little work and the assets functionality is
widely useful for many different projects.

The 0.1.0 tarball and gpg sig are available here:

And there is API documentation here:

This type of asset management is important for scalability and
performance, but also in order to avoid the dreaded "Did you try
clearing your cache?" syndrome.  Naming the assets by their content-hash
allows us to tightly couple a page with the exact asset versions it's
intended to work with.

Freeipa-devel mailing list

Reply via email to