Setting up a private conda channel - part 1

Research paths to set up an enterprise-wide private conda channel



June 18, 2022


I have a conda package for a compiled native library (moirai). While it may be in a position to be submitted to conda-forge, I will also be interested at some point in setting up “my” own conda channel, with a view to distribute packages on my enterprise intranet. I may as well use that library moirai to test setting up a custom conda channel.

This post will be a review of the possible ways to do this.


conda documentation

The main conda documentation has sections on managing channels and creating custom channels.

Jeremy Howard has written the post “fastchan, a new conda mini-distribution”. It is a good read giving the rationale for setting up this channel. The repo of the conda channel ‘fastconda’ has some elements of pipelines but may be a good starting point for channels hosted by Anaconda. I am not sure I can repurpose this for a private channel.

Reusing conda-forge?

Since I intuit that a process similar to that of conda-forge could be what is emulated internally, an option may be to upfront borrow from the conda-forge documentation

The workhorse of conda-forge appears to be using conda-smithy to manage your CI, though that section actually rather confused me at the first read. The github readme of conda-smithy may be a better starting point. is a recently accepted recipe. Likely a good template to study for the swift stack.

Commercial offerings

  • At an enterprise level it may be better to use Anaconda Server rather than cook up something. I probably cannot afford the time to trial standing one up, but my IM&T business unit may look at it. In particular, if there are use cases for sophisticated user based access controls, “free” solutions may not be up to scratch nor to scale.
  • Anaconda cloud thingy
  • Channel on


By the way one misleading thing if you google “How do I set up a conda channel?”: the erronously titled video How to create new channel in Anaconda (python) is actually demonstrating the creation of a conda environment. Skip.


The first impression is that there is not a clear, single path to standing up your own conda channel over HTTP(S), no turn-key solution. The closest may be the github repo Private Conda Repository.

A first plan for the next steps, presumably next posts, are: