I'm trying to add a data source that provides tarballs. Are there any docs for data_source.py, the data types registry, and so-forth? The data source docs seem to only cover the http callback mechanism. I'm trying to understand what happens after that: a json file is created with download params, data_source.py reads it and then overwrites it with the downloaded file, the registry is consulted for additional processing, which then gunzips the tarball.

Gunzip isn't necessarily the right step. It might be better to tar-extract appropriate files and let galaxy know about them somehow. I can call data_source.py from a custom tool, and then handle the tar steps, but I don't know how to direct galaxy to the untarred files.