On Fri, 24 Apr 2009 17:19:31 -0600 "Zooko O'Whielacronx" <[email protected]> wrote:
> In a related story, Brian, could we add "reliability_tool" as an > "Extras" feature to the Tahoe metadata and show that it requires numpy > for that, as described here: > > http://peak.telecommunity.com/DevCenter/setuptools#declaring-extras-optional-features-with-their-own-dependencies > > Or, alternately, just mark numpy as required for Tahoe (making the > reliability tool non-optional)? I wouldn't mind seeing numpy (for the reliability tool) and/or sqlite (for the backupdb) added to a setuptools metadata field for some optional "reliability_tool" and "backupdb" features. On the other hand, I don't want to burden first-time users with the decision of whether they need to fulfill these dependencies or not. Imagine the thought process: "hm, reliability sounds important, I guess I want some of that, so I guess I have to figure out how to install this lumpy dumpy numpy thing. Eww, Fortran? Really?". I'm really against forcing a hard dependency on numpy, because the cost-benefit ratio is too low. Imagine trying to build numpy, with all its transcendental fortran-interfacing lapack/atlas/blas optimized excitement, on Zandr's little NAS box with its 128M of ram. Then imagine discovering that it's only used for one web page that you never touch and could just as easily access from testgrid.allmydata.org instead. Then imagine cursing at the person who decided that life would be "easier" if numpy were a hard requirement. I don't want to be either of those people :). Sqlite is a bit easier of a requirement, because it's batteries-included in py2.5 and py2.6 . The cost of requiring it for py2.4 is somewhat less than numpy (it's still an extension module, but at least it's fairly small and in plain C), and the benefit is somewhat higher (if you're actually doing backups, the backupdb is awfully nice, and eventually we're likely to start using sqlite for things like accounting tables). So it wouldn't be the end of the world if Tahoe forced you to install pysqlite or be running 2.5/2.6, as long as the metadata format allows us to actually express that. (I would not be surprised if it were difficult to tell setuptools to be happy with the probably-.egg-info-less sqlite3 that comes included with py2.5, and I won't be happy with metadata that obligates py2.5 users to install a redundant sqlite3 library just to appease setuptools). cheers, -Brian _______________________________________________ tahoe-dev mailing list [email protected] http://allmydata.org/cgi-bin/mailman/listinfo/tahoe-dev
