← Back to team overview

pytagsfs team mailing list archive

[ANNOUNCE] pytagsfs version 0.9.0rc1



I'm pleased (and actually quite proud) to announce the release of pytagsfs
version 0.9.0rc1, the first release candidate for the 0.9.0 release.  This
version includes important bugfixes and features.  As it is a release candidate,
user testing is appreciated.  If you have time to run the test suite, that would
be particularly valuable.

The 0.9.0 release is significant because most of the core features are now
implemented and appear to be stable, the test suite is reasonably complete, and
profiling infrastructure is largely in place.  Thus, future pytagsfs releases
will focus more on performance than anything else.  This includes startup time,
as well as general speed of filesystem operations.

To this end, I am interested in collecting reports from users that are
experiencing poor performance in day-to-day usage.  I anticipate these will
mostly originate from users with especially large music collections.  My
personal collection is not nearly as large as others out there, so help with
performance testing will be important.

In addition to performance improvements, future development effort may also
focus on making pytagsfs useful for more than just media files.  Some work has
already been put into this, but it has been rather limited.  I'm confident that
the architecture of pytagsfs is flexible enough to support a much wider variety
of applications than it currently does, but I'm not likely to implement such
functionality without motivation in the form of user requests, as well as help
with both testing and, if possible, coding.  I'm considering a simple plugin
infrastructure to encourage user submissions, but I'd like to first gauge
interest in this.  Your comments on this would be appreciated.

Major changes introduced by the 0.9.0 release:

 * Fixed a bug where timestamps set by utime on files opened for writing
   did not persist once the files were closed.
 * Fixed incorrect st_ino, st_dev returned from fgetatrr.
 * Changed write semantics:

    - Virtual files can be opened for writing multiple times simultaneously.
    - Writes to virtual files are now immediately reflected by source files.
    - Virtual files will not disappear (due to tag changes) until after all
      writers have closed the file.
    - Truncating a virtual file does not affect the source file until after
      the file has been opened for writing.  Truncating a virtual file that
      is already opened for writing affects the source file immediately.

 * The most important impact of the above change is that FUSE option direct_io
   is no longer necessary.  This makes mmap support possible, and, as a result,
   we can enable writing on Darwin and BSD platforms.  OSX is no longer a
   second-class citizen!
 * Dropped option --force-write-support, which is no longer necessary.
 * Correctly implemented statfs.
 * Various minor fixes for setup.py.
 * Various minor performance improvements.

The full set of changes for this release is available:

To download this release:

pytagsfs is a FUSE filesystem that arranges media files in a virtual directory
structure based on the file tags. For instance, a set of audio files could be
mapped to a new directory structure organizing them hierarchically by album,
genre, release date, etc. File tags can be changed by moving and renaming
virtual files and directories. The virtual files can also be modified directly,
and, of course, can be opened and played just like regular files.

For a more thorough introduction, see:

Please visit http://www.pytagsfs.org to obtain more information.

Feel free to contact me with any questions.  Feedback is appreciated.

Forest Bond

Attachment: signature.asc
Description: Digital signature