Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Repositories of conda recipes and packages

From what I understand, there are several repositories for conda recipes (not for the program itself):

  • The default one (where does conda look for recipes by default?)
  • The following GitHub repository: https://github.com/ContinuumIO/conda-recipes
  • Other recipe repositories in binstar.org

My questions are:

  • What is the relationship between them? Is any of them more "official" than the others? (in the same way that Pypi is for pip)
  • How can I tell conda to pull packages from the GitHub repository above?
  • Binstar.org, seems to be a hosting service for package repositories. How can I tell conda to search for packages in it?
like image 579
Josh Avatar asked Oct 02 '13 18:10

Josh


2 Answers

(cross-posted from https://github.com/ContinuumIO/conda/issues/298#issuecomment-25666539)

You can add my binstar repo to your .condarc (see https://conda.binstar.org/asmeurer). Note that I only build the packages for Mac OS X, which is the platform I use, so if you don't use that, then that won't help you. If that's the case, the easiest way to get things then would be to just build them yourself (or else try to find someone else who has them on binstar).

I think you're confused about how recipes work. Conda doesn't pull "recipes" from anywhere. It pulls built packages. A recipe is exactly that, a "recipe" that tells conda how to build a package, generally from source, which can then be installed later.

By default, conda only knows about the packages on the Continuum servers, which are basically those packages that come with Anaconda. The conda-recipes repo shows examples of recipes that you can create to build your own custom packages, which you can then upload to binstar for anyone to use (as long as they are on the same platform as you are). binstar.org is basically a free package hosting site (not just for conda packages), so the things there are really for and from anyone (at least as far as the public site is concerned).

Also, most of the recipes on binstar are nothing more than conda skeleton pypi with no modifications of packages that I needed at some point or another. A handful (like qt) are for binary packages that are actually quite hard to get right on your own.

like image 173
asmeurer Avatar answered Oct 24 '22 13:10

asmeurer


In general, there is no formal relationship between two git repos.

GitHub proposes one relationship with forking, but that is for GitHub repos only.

That means the official ones is usually the one where the most activity and most recent commits are seen (which means an "official" repo can change over time).


But ContinuumIO/conda-recipes and ContinuumIO/conda are actually two different repos (different contents, different history).
The first one representing "build and test recipes" for the second one.

You can consider conda-recipes the "default" recipe repo, in that it is part of the same GitHub organization ContinuumIO which includes conda.

asmeurer amends in the comments:

The repo of the recipes that Continuum uses for the packages in Anaconda is not public.
The recipes in conda-recipes are only there as examples for people interested in writing their own recipes for conda.

See more in his (upvoted) answer.

like image 22
VonC Avatar answered Oct 24 '22 13:10

VonC