I'm working on a package that downloads and caches large datasets. The user 
accesses information in the datasets via the package, but likely has no 
interest in otherwise having direct access to the raw files. In this early 
stage, my package uses Base.download to grab the files, and then stores 
them in Pkg.dir("MyPackageName")/cache. This works great, but I have some 
concerns about the strategy that I'd like input/advice on.

1. Downloading
Base.download includes this warning in its documentation: "For production 
use or situations in which more options are needed, please use a package 
that provides the desired functionality instead."

I don't need more options, but the "production use" part leads me to 
believe I shouldn't rely on Base.download inside a package. Is there a 
particular package that most people tend to use for fetching remote uris 
from within another package? Or is Base.download generally "good enough" 
for use in my situation?


2. Caching
I haven't found information on whether package directories are guaranteed 
to be user-writable, so don't know whether my caching location is likely to 
be problematic. Is Pkg.dir("MyPackageName")/cache generally a good place 
for this kind of file caching, or is there a different location or pattern 
that is preferable for a package?

Thanks,
Penn Taylor

Reply via email to