The v2 conda format (.conda, used by anaconda.org and conda-forge since 2019) is an uncompressed zip containing metadata.json, info-<name>-<version>-<build>.tar.zst, and pkg-<name>-<version>-<build>.tar.zst. The pkg-* member holds the installed file tree and the info-* member holds index.json, paths.json, and the recipe.
Handle it the way gem.go handles the nested data.tar.gz: detect the outer zip, locate the two .tar.zst members, and present a merged view with info/ and the package tree at the root. The outer zip can be opened with the existing zip reader; the inner tarballs need #23.
The older .tar.bz2 conda format already works via the existing tar+bzip2 path and just needs detectFormat to accept a bare .tar.bz2 with no second extension, if it does not already.
Blocked on #23.
The v2 conda format (
.conda, used by anaconda.org and conda-forge since 2019) is an uncompressed zip containingmetadata.json,info-<name>-<version>-<build>.tar.zst, andpkg-<name>-<version>-<build>.tar.zst. Thepkg-*member holds the installed file tree and theinfo-*member holdsindex.json,paths.json, and the recipe.Handle it the way
gem.gohandles the nesteddata.tar.gz: detect the outer zip, locate the two.tar.zstmembers, and present a merged view withinfo/and the package tree at the root. The outer zip can be opened with the existing zip reader; the inner tarballs need #23.The older
.tar.bz2conda format already works via the existing tar+bzip2 path and just needsdetectFormatto accept a bare.tar.bz2with no second extension, if it does not already.Blocked on #23.