on Anaconda.org help you organize packages and control their visibility. By applying labels to packages, you can facilitate the development cycle—separating development, testing, and production code—without impacting users who only want stable releases. Using Anaconda Client, package developers can create labels like dev for development, test for testing, or rc for release candidates.
By default, conda only finds packages labeled main. If you don’t specify a label when uploading, your package automatically gets the main label. However, you can use other labels such as dev, test, or any-custom-label to effectively “hide” a package or package version from conda’s default search and install behavior. Users can still access the labeled package on Anaconda.org but must explicitly specify the label to find and install the package with conda.
Anaconda.org web URLs use /labels (plural) while conda commands use /label (singular).
The following steps explain how to apply a test label, which allows you to upload files without affecting your production-quality packages, then how to apply the main label to make it visible to conda.
You can check where the resulting file was placed by adding the --output option:
conda build . --output
Upload your test package to Anaconda.org using the Anaconda Client upload command.Add the --label option followed by your label (in this case, test), which tells Anaconda.org to make the upload visible only to users who specify that label:
anaconda upload </PATH/TO/PACKAGE_NAME>.tar.bz2 --label test
Now you can see that even when you search conda main, you do not see the 2.0 version of the test package. This is because you need to tell conda to look for your new test label.
Add the --override argument, which tells conda not to use any in your ~/.condarc file. Without specifying the label and package name, the 2.0 version is not discoverable:
You can give the label <USERNAME>/label/test to your testers, where <USERNAME> is your username.
Once they finish testing, you may then want to copy the test packages back to your main label:
anaconda label --copy test main
You can also manage your package labels from your dashboard at https://anaconda.org/USERNAME/conda-package, where <USERNAME> is your username.Your version 2.0 is now in main: