Local Conda Repository Layout

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide
ft:sourceType
Paligo

The local Conda repository in Artifactory gives you the flexibility of deploying your packages in a layout of your choice. When deploying Conda binaries into nested paths, it is important to ensure that the channel URL inside your .condarc file correctly reflects the path of the packages. The Conda client automatically appends the host machine platform as a subdirectory in the channel URL. When you deploy these packages, you need to meet this requirement and upload your packages into the relevant subdirectories. For example, consider the following valid package path in Artifactory:

conda-local/osx-64/my-conda-package.tar.bz2

Based on this layout, the corresponding channel URL in your .condarc file is:

<YOUR_SERVER_URL>/artifactory/api/conda/conda-local

In the above example, Conda will be appending the platform automatically (i.e osx-64).

Another example shows a more detailed deployment path such as:

conda-local/my/own/layout/osx-64/my-conda-package.tar.bz2

In this example, the channel URL should be set as follows:

<YOUR_SERVER_URL>/artifactory/api/conda/conda-local/my/own/layout

Best Practice for Scaling Up

The Conda repository metadata is maintained on the package level, meaning that the parent directory of a Conda package is also the parent of the Conda repodata.json metadata file. To scale with maximum efficiency, refrain from deploying large amounts of packages into a single parent directory when possible. To enable Artifactory metadata calculation processes to provide maximal performance, try to plan your local repository layouts in a way that supports modularity by avoiding directories with large amounts of artifacts as their direct children.