dev
for development, test
for testing, or rc
for release candidates.
Understanding labels
By default, conda only finds packages labeledmain
. 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).travis
:
Web Interface | Conda Command | What it contains |
---|---|---|
anaconda.org/travis | conda install --channel travis <PACKAGE> | Default packages (main label only) |
anaconda.org/travis/labels/main | conda install --channel travis/label/main <PACKAGE> | Explicitly accessing main label |
anaconda.org/travis/labels/dev | conda install --channel travis/label/dev <PACKAGE> | Development packages |
anaconda.org/travis/labels/test | conda install --channel travis/label/test <PACKAGE> | Testing packages |
Using labels to control package visibility
The following steps explain how to apply atest
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.
Building and uploading the package
Use Anaconda Prompt (Terminal on macOS/Linux) to perform the following steps:-
Start with a . In this example, we use a small public conda test package:
-
Open the
meta.yaml
file by running the following command: -
Change the version number to
2.0
. To save and close themeta.yaml
file, press Ctrl+X, followed by Y. -
To build the package, turn off automatic Client uploading and then run the
conda build
command:You can check where the resulting file was placed by adding the--output
option: -
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:
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.
Testing the discoverability of the package
-
Add the
--override
argument, which tells conda not to use any in your~/.condarc
file. Without specifying the label and package name, the2.0
version is not discoverable:Once the label and package are specified, the2.0
can be found: -
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 yourmain
label:You can also manage your package labels from your dashboard athttps://anaconda.org/USERNAME/conda-package
, where<USERNAME>
is your username. Your version2.0
is now inmain
:
anaconda-client
1.7 or higher, you can use anaconda move
to move packages from one label to another: