Quickstart guide for Anaconda Business

To set up Anaconda Business, you will need to make updates to the Anaconda or conda configuration file called .condarc. The changes will update the source repository configuration to access the Anaconda Professional repository located at repo.anaconda.cloud. The Anaconda Professional repository also requires a token for access.


Completely new to Anaconda Business? Start by creating an account.

Already have an account, a profile, and Anaconda Business subscription? Skip ahead to learn how to authenticate to Anaconda Business.


This topic provides guidance on the following actions:


Creating an account

Go to https://anaconda.cloud/register, where you will be prompted to create an account.

../../_images/create_nucleus_account.png

Complete the following steps:

  1. Enter your email address and a secure password.
  2. Check the box next to Agree to agree to our Terms of Service.
  3. Check the Captcha box.
  4. Click Create My Account.

You will then be directed to the Create a profile page.

Creating a profile

Fill out the Personal Information form, select whether you would like to opt in or opt out of marketing promotions or newsletters, then click Save and Continue.

../../_images/nucleus-create-profile.png

You will receive a verification email once you have created your profile.

Purchasing a subscription to Anaconda Business

  1. Sign in to your Anaconda Nucleus account.

  2. Open the user dropdown menu and select Subscriptions.

    ../../_images/nucleus-subscriptions-navigation.png
  3. Select Upgrade.

    ../../_images/nucleus-upgrade-subscription.png
  4. Choose a monthly or yearly subscription, then click Purchase Subscription under Business.

    ../../_images/nucleus-product-pricing-page-business.png
  5. Enter your organization’s information and your billing information.

  6. Check the box to agree to the Anaconda EULA, then click Purchase Now.

  7. You will receive two emails. One is an invoice for your subscription purchase. The other is a welcome email for the organization you created.

    ../../_images/anaconda-business-purchase-landing-page.png

You can now invite members and manage your organization.

Installing Anaconda

If you already have Anaconda Distribution or miniconda installed, you’re all set to move forward!

If you have not installed Anaconda Distribution or miniconda yet, download either Anaconda or Miniconda and install it on your system before proceeding with authentication.

Not sure whether you need Anaconda Distribution or miniconda? Refer to the Downloading conda topic for guidance.

Installing conda token

After installing Anaconda Distribution or miniconda, you can install the conda token package. The conda token package is used to edit the .condarc file and secure your token.

Choose the installation method based on your operating system:

Windows

  1. Launch Anaconda Navigator from your Windows application library. Anaconda Navigator is a graphical interface for Anaconda Distribution.

  2. From Anaconda Navigator, launch CMD.exe Prompt. This prompt will be associated with the Anaconda Distribution package libraries.

    ../../_images/ce_cmd_prompt.png

  1. From your prompt, run the following to install the conda token package:

    conda install conda-token -n base
    
  2. Conda will solve the environment. You must enter “y” for yes to proceed with the installation.

OSX and Linux

  1. Launch Terminal. You should see (base) preceding the command line. This means you are in the base environment of conda.

    ../../_images/ce_cmd_base.png

  1. From the terminal, run the following to install the conda token package:

    conda install conda-token -n base
    
  2. Conda will solve the environment. You must enter “y” for yes to proceed with the installation.

Verify your token configuration

To verify that your token was successfully installed, run the following in your terminal:

conda info

Your channel URLs should all point to repo.anaconda.cloud:

   active environment : base
   active env location : /Users/<USERNAME>/Applications/miniconda3
           shell level : 1
      user config file : /Users/<USERNAME>/.condarc
populated config files : /Users/<USERNAME>/.condarc
         conda version : 4.9.2
   conda-build version : 3.18.11
        python version : 3.7.7.final.0
      virtual packages : __osx=10.14.6=0
                         __unix=0=0
                         __archspec=1=x86_64
      base environment : /Users/<USERNAME>/Applications/miniconda3  (writable)
          channel URLs : https://repo.anaconda.cloud/repo/main/osx-64
                         https://repo.anaconda.cloud/repo/main/noarch
                         https://repo.anaconda.cloud/repo/r/osx-64
                         https://repo.anaconda.cloud/repo/r/noarch
                         https://repo.anaconda.cloud/repo/msys2/osx-64
                         https://repo.anaconda.cloud/repo/msys2/noarch
         package cache : /Users/<USERNAME>/Applications/miniconda3/pkgs
                         /Users/<USERNAME>/.conda/pkgs
      envs directories : /Users/<USERNAME>/Applications/miniconda3/envs
                         /Users/<USERNAME>/.conda/envs
              platform : osx-64
            user-agent : conda/4.9.2 requests/2.24.0 CPython/3.7.7 Darwin/18.7.0 OSX/10.14.6
               UID:GID : 502:20
            netrc file : None
          offline mode : False

Authenticate to Anaconda Business

A private token will be sent to the email address you provided when you created your account. You will need this token to activate your account and gain access to repo.anaconda.cloud.

Warning

You must keep your token private.

You will need to use the terminal to authenticate to Anaconda Business and configure access. In your terminal, run the following command:

# Replace <TOKEN> with the token value you received in your email after purchasing a subscription.
conda token set <TOKEN>

Note

conda token will validate that your token works by checking that it can be used to connect to the Anaconda Business repository.

Once you have run conda token set <TOKEN>, you will be able to install packages from Anaconda Business.

Run conda token set --help for more information and optional configuration parameters. The output will look like the following:

$ conda token set --help
usage: conda token set [-h]
                       [--include-archive-channels CHANNEL_NAME [CHANNEL_NAME ...]]
                       [--system | --env | --file FILE]
                       token

positional arguments:
  token                 Your token.

optional arguments:
  -h, --help            show this help message and exit
  --include-archive-channels CHANNEL_NAME [CHANNEL_NAME ...]
                        Add archived channels to default_channels. Available
                        channels are mro, mro-archive, free, and pro.

Config File Location Selection:
  Without one of these flags, the user config file at
  '/Users/me/.condarc' is used.

  --system              Write to the system .condarc file at
                        '/Users/me/Applications/miniconda3/.condarc'.
  --env                 Write to the active conda environment .condarc file
                        (/Users/me/Applications/miniconda3). If no
                        environment is active, write to the user config file
                        (/Users/me/.condarc).
  --file FILE           Write to the given file.

Finding, editing, and reviewing .condarc

In some cases, you may need to edit the .condarc file directly in order to authenticate to Anaconda Business.

Warning

Putting your token in the .condarc file is not secure. Therefore, the Installing conda token instructions above are the preferred workflow.

You can configure .condarc by editing the file in one of the paths listed in the next section or by running conda config.

Searching for .condarc

The .condarc file can be configured in a number of locations. The file can be edited with a text editor or through the use of conda config commands.

Windows system paths:
     'C:\ProgramData\conda\.condarc',
     'C:\ProgramData\conda\condarc',
     'C:\ProgramData\conda\condarc.d',

Linux and macOS system paths:
     '/etc/conda/.condarc',
     '/etc/conda/condarc',
     '/etc/conda/condarc.d/',
     '/var/lib/conda/.condarc',
     '/var/lib/conda/condarc',
     '/var/lib/conda/condarc.d/',

# Replace CONDA_ROOT with the path for your base conda or Anaconda install.
# Replace CONDA_PREFIX with the path to the current active environment.
# The tilde (~) means home directory on Linux, Mac, and Windows.
Local paths on all platforms:
     '$CONDA_ROOT/.condarc',
     '$CONDA_ROOT/condarc',
     '$CONDA_ROOT/condarc.d/',
     '~/.conda/.condarc',
     '~/.conda/condarc',
     '~/.conda/condarc.d/',
     '~/.condarc',
     '$CONDA_PREFIX/.condarc',
     '$CONDA_PREFIX/condarc',
     '$CONDA_PREFIX/condarc.d/',
     '$CONDARC',
 )

If you run conda config commands, they will write to ~/.condarc by default, but the location can be changed with the following arguments.

Setting up .condarc for Anaconda Business

Here are the recommended contents of the .condarc file:

restore_free_channel: false
default_channels:
# Replace <TOKEN> with your personal token
  - https://repo.anaconda.cloud/t/<TOKEN>/repo/main
  - https://repo.anaconda.cloud/t/<TOKEN>/repo/msys2
  - https://repo.anaconda.cloud/t/<TOKEN>/repo/r

  # Uncomment this only if you need it
  # - https://repo.anaconda.cloud/t/<TOKEN>/repo/free

channels:
  - defaults

Default_channels is used here to ensure that conda will not pull any packages from repo.anaconda.com.

If you need to use the free channel, you must uncomment the line with your token, but keep restore_free_channel set to false.

Adding conda channels

Caution

Do not use the anaconda channel. This will pull packages from anaconda.org rather than the Anaconda Professional repository (defaults).

After you’ve configured the default channels, you can continue to use channels from anaconda.org by listing the name of the channel under channels:. For example, you can add conda-forge after defaults in the channels list to access packages from conda-forge as well.

Some examples of additional channels to use:

Note

Conda will search for packages in the first channel listed when installing packages, then it will search in the second channel listed, and so on.

Learn more about using default repositories and managing channels in our Anaconda Distribution documentation.

Configure .condarc using conda config commands

The following commands can be used to configure the .condarc file from any state to correctly authenticate to Anaconda Business:

# Replace <TOKEN> with your personal token.
> conda config --set restore_free_channel false
> conda config --prepend default_channels https://repo.anaconda.cloud/t/<TOKEN>/repo/main
> conda config --append default_channels https://repo.anaconda.cloud/t/<TOKEN>/repo/msys2
> conda config --append default_channels https://repo.anaconda.cloud/t/<TOKEN>/repo/r
> conda config --prepend channels defaults

By default, the conda config commands above will edit the .condarc file in the home directory. Using the conda config file location flags below, you can change the path to the .condarc file you wish to edit.

Config File Location Selection:
Without one of these flags, the user config file at '/Users/<USERNAME>/.condarc' is used.

--system            Write to the system .condarc file at
                    '/Users/<USERNAME>/Applications/miniconda3/.condarc'.
--env               Write to the active conda environment .condarc file (/
                    Users/<USERNAME>/Applications/miniconda3).
                    If no environment is active, write to the user config
                    file (/Users/<USERNAME>/.condarc).
--file FILE         Write to the given file.

Where <USERNAME> is your Anaconda username.


The following commands can be run if you need these channels as well:

# Replace <TOKEN> with your personal token.
> conda config --append default_channels https://repo.anaconda.cloud/t/<TOKEN>/repo/free

Ensuring .condarc is configured correctly

In order to ensure that your .condarc file is configured correctly, either by running conda config or editing the file directly, run the command conda info in the terminal. As you can see in the example output below, the channel URLs specify repo.anaconda.cloud, not repo.anaconda.com.

   >conda info
    active environment : base
   active env location : /Users/<USERNAME>/Applications/miniconda3
           shell level : 1
      user config file : /Users/<USERNAME>/.condarc
populated config files : /Users/<USERNAME>/.condarc
         conda version : 4.8.4
   conda-build version : 3.18.11
        python version : 3.7.7.final.0
      virtual packages : __osx=10.14.6
      base environment : /Users/<USERNAME>/Applications/miniconda3  (writable)
          channel URLs : https://repo.anaconda.cloud/t/<TOKEN>/repo/main/osx-64
                         https://repo.anaconda.cloud/t/<TOKEN>/repo/main/noarch
                         https://repo.anaconda.cloud/t/<TOKEN>/repo/msys2/osx-64
                         https://repo.anaconda.cloud/t/<TOKEN>/repo/msys2/noarch
         package cache : /Users/<USERNAME>/Applications/miniconda3/pkgs
                         /Users/<USERNAME>/.conda/pkgs
      envs directories : /Users/<USERNAME>/Applications/miniconda3/envs
                         /Users/<USERNAME>/.conda/envs
              platform : osx-64
            user-agent : conda/4.8.4 requests/2.24.0 CPython/3.7.7 Darwin/18.7.0 OSX/10.14.6
               UID:GID : 502:20
            netrc file : None
          offline mode : False

What channels are available for sourcing packages

The following active channels are available for sourcing packages:

Creating a custom channel

Create a channel with a specific package source and policy filters.

Note

You can apply policy filters directly to Anaconda channels, such as main; therefore, custom channels are not required.

../../_images/ab_add_channel.png

  1. From the Channels page, click Add Channel.
  2. In the Create Channel dialog, provide a unique channel name and select a source channel from the Source dropdown.
  3. Click Save.

Your new channel appears in the Channels page.

Viewing channel details

View details for each of your channels from your organization’s Channels page.

Select a channel to view the packages within that channel.

../../_images/ab_view_channel.png

Select one of those packages to view the files within that package.

../../_images/ab_view_channel_packages.png

You can then view the version number, CVE status, and upload date of each file within the package, along with details of the package itself.

../../_images/ab_view_package_files.png

Installing a channel

  1. From your Organization’s Channels page, click the copy copy icon to copy the channel path. The channel path appears at the top of the window.

    ../../_images/ab_install_channel.png
  2. Add the channel to your .condarc file. Open a terminal and run the following command:

    conda config --prepend channels <COPIED_CHANNEL_PATH>
    

This will check the specified channel for packages first, but will still look in the default_channels if defaults is present in the channel list. If you want to restrict where you pull packages from to one specific channel in your organization—for example, one with a security policy applied to it—update your .condarc file to only include that channel in the channels list. Your .condarc file might look something like this:

add_anaconda_token: true
extra_safety_checks: true
signing_metadata_url_base: https://repo.anaconda.cloud/repo
channels:
  - https://repo.anaconda.cloud/repo/<DOMAIN>/<CHANNEL_NAME>
restore_free_channel: false
ssl_verify: true

See finding, editing, and reviewing .condarc for more information regarding .condarc configuration.

Creating a security policy

Create a security policy to filter out incoming packages by license family, CVE score, CVE status, conda spec, and package age.

../../_images/ab_create_policy.png
  1. From the Channels page, click the plus plus icon next to Policy Filters.
  2. Provide a unique name for your policy.
  3. In the Exclude package if section, click Add Filter.
  4. In the Filter Group dialog that appears, set filter details for packages you wish to exclude from channels with this policy.
  5. Repeat the two previous steps to apply further package filtering preferences.
  6. In the Override exclusions and include a package if section, click Add Filter. Here, you can apply filters to include specific packages that would otherwise be excluded by your filters in the previous section.

Policy example

Let’s say you want to filter out packages with a CVE score greater than 7 but include those packages with a score greater than 7 if and only if their CVE status is cleared by NIST. Your policy filter would look like the following:

../../_images/ab_policy_filter_dialog.png

Applying a security policy

In the Active Policy column, click the apply policy dropdown, then select a policy to apply to the channel.

Once the policy is applied, the status beneath the policy will transition through the following phases:

  • In Queue
  • In Progress
  • Completed
  • Scheduled

The Scheduled status indicates the channel has been auto-updated and will continue updating every four hours.

Viewing removed artifacts

In the Artifacts Removed column, click View Report beneath the artifact count to open the Policy Report dialog. You can then view the total number of artifacts, those that have been removed, and those remaining, by platform.

../../_images/ab_artifacts_removed.png

You can also view which artifacts have been removed from a channel with a security policy. From your organization’s Channels page, select a channel with a security policy applied, then select a package to view the effects of your security policy. Scroll through the list to view files that have been removed from the package by a security policy.

../../_images/ab_channel_artifacts_removed.png

Note

Removed files are not grouped, and some packages have multiple pages of files. For packages with many files, it is best to use the filter bar to narrow results.

Installing conda-forge (Optional)

You may wish to install packages from the conda-forge repository. To do so, run the following command:

conda config --add channels conda-forge

As before, run conda info to verify the change.

Using Anaconda behind a firewall or proxy (Optional)

Corporate security policies may prevent a new Anaconda installation from downloading packages and other functionality that requires connecting to an external server. To make external connections, you may need to connect to a firewall/proxy. Additionally, your IT team may need to allow connections to https://anaconda.org, https://repo.anaconda.com and https://repo.anaconda.cloud as these are the main package repositories.

Solution

To add the proxy information, you will need to add two entries to your .condarc file, located in the user’s home directory. This information should be made available by your IT team and may contain a username and password that is included in the URL. Read more about the .condarc configuration.

Example configuration:

channels:
- defaults

proxy_servers:
 http: http://username:password@proxyurl.com:8080
 https: https://username:password@proxyurl.com:8443

In some situations, it may be necessary to export the HTTP_PROXY and HTTPS_PROXY environment variables.

MacOS/Linux

export HTTP_PROXY=http://username:[email protected]:8080
export HTTPS_PROXY=https://username:[email protected]:8443

Windows

set HTTP_PROXY=http://username:[email protected]:8080
set HTTPS_PROXY=https://username:[email protected]:8443

If these steps have not allowed connections, you should speak to your IT team to verify that security policies are not blocking connections to the repositories repo.anaconda.com or repo.anaconda.cloud.

Remove token and reset Conda configuration

You can remove your token and reset your Conda configuration to its default state by running the following:

conda token remove