Anaconda Platform
7.0.0 is available through a limited early access program. Contact your Anaconda Technical Account Manager (TAM) if you’re interested in adopting the latest version.conda-repo-cli package is the command-line interface (CLI) tool used to interact with Anaconda Platform. You can use it to perform most of the actions that are available through the graphical user interface (). The most common uses include:
- Uploading and managing channel assets
- Configuring your
.condarcfile - Creating and mirrors
- Listing channel and details
- Setting/updating filtering criteria for channels and mirrors
The actions you can perform in the CLI are determined by your role. For more information, see permissions. If you’re unsure of your permissions or need additional permissions, speak with your Anaconda Platform administrator.
Getting started with the CLI
1
Install the CLI
-
Install the
conda-repo-clipackage by opening Anaconda Prompt (Terminal on macOS/Linux) and running the following command: -
Verify your installation was successful and view which version you’ve installed:
2
Configure the CLI
Configuring the CLI tells
conda-repo-cli which Anaconda Platform URL to use for channels, mirrors, and authentication. This configuration is stored in ~/.anaconda/config.toml. The CLI reads this file at runtime. If .anaconda/config.toml does not exist, create the file.Add the following lines to your config.toml file:Example .anaconda/config.toml file
Replace <FQDN> with your Anaconda Platform (Self-hosted) deployment’s fully qualified domain name.
3
Log in to Anaconda Platform with the CLI
To log in to Anaconda Platform using the CLI, run the following command:
If you are using OAuth or SAML, running
anaconda login opens a browser tab to log you in to Anaconda Platform CLI using your SSO service. Once signed in, close your browser tab and return to your terminal.4
Configure conda to use Anaconda Platform
The CLI comes with a configuration wizard that adds channels from your Anaconda Platform organization to your Use the configuration wizard to configure your The wizard guides you through adding channels to your
.condarc file and sets a channel_alias: pointing to your platform deployment’s FQDN.The
channel_alias: value is placed in front of channel names when running conda commands. For more information about channel aliases, see Set a channel alias in the official conda docs..condarc file:.condarc file. It shows you channels from your Anaconda Platform organization that are available for you to add to your .condarc file. You must set at least one default channel for the wizard to continue.Your output will look something like this:Example command workflow
Using the CLI
You must log in before you can perform tasks using CLI commands. The commands you are able to successfully run are based on your assigned permissions. For example, if you are not allowed to create mirrors using Anaconda Platform UI, you will not be allowed to run commands that create, update, or otherwise manage mirrors using the CLI. For more information, see Permissions.Channels
Viewing channels
To view a list of channels you have access to in Anaconda Platform, run the following command:Viewing a channel’s packages
To view a list of available on a specific channel, run the following command:Replace <CHANNEL_NAME> with the name of the channel.
Viewing a channel’s files
To view a list of files available on a specific channel, run the following command:Replace <CHANNEL_NAME> with the name of the channel.
Viewing a channel’s details
To view the details of a channel, run the following command:- The channel’s name
- The channel’s description
- Privacy permissions
- Number of artifacts contained in the channel
- Number of downloads from the channel
- Number of mirrors the channel contains
- Number of subchannels the channel contains
- When the channel was created
- The last date the channel was updated
- Channel owners
Channel privacy permissions
Anaconda Platform CLI allows you to set the privacy permissions of your channels at any time. To change permissions of your channel to private, allowing only yourself to view the channel, run the following command:Replace <CHANNEL_NAME> with your channel name.
Replace <CHANNEL_NAME> with your channel name.
Replace <CHANNEL_NAME> with your channel name.
Creating a channel
Create a public channel by running the following command:Replace <CHANNEL_NAME> with a name for your channel.
Creating a subchannel
You can create a subchannel within an already existing channel by running the following command:Replace <CHANNEL> with the channel you want to contain your subchannel.
Replace <SUBCHANNEL_NAME> with the name for your subchannel.
Replace <SUBCHANNEL_NAME> with the name for your subchannel.
Deleting a channel
To delete a channel from your Anaconda Platform, run the following command:Replace <CHANNEL_NAME> with your channel name.
Policies
A policy is a security control you can apply to a channel or mirror to restrict the packages users can source from them.Creating a policy
To create a policy, use the--create argument along with the appropriate configuration options. These options allow you to define filtering criteria, such as platforms, licenses, , and package names. Here is an example policy creation command:
Basic policy configuration options
--name: Set the name of the policy.--channel-name: (Optional) Specify the channel the policy applies to.--description: (Optional) Provide a description for the policy.
Platform filtering options
--platform: Include platforms, separated by commas.--platform-not: Exclude platforms, separated by commas.
Available platforms
Available platforms
linux-32linux-64linux-aarch64linux-armv6llinux-armv7llinux-ppc64linux-ppc64lelinux-s390xosx-64osx-arm64win-32win-64zos-znoarch
License filtering options
--license: Include licenses, separated by commas.--license-not: Exclude licenses, separated by commas.
Supported licenses
Supported licenses
AGPLGPLGPL2GPL3LGPLBSDMITAPACHEPSFPublic-DomainProprietaryMOZILLAOTHERNoneCC
Package filtering options
--package-name: Include package names, separated by commas.--exclude-package-name: Exclude package names, separated by commas.--exclude-package-name-exception: Remove exclusions for specified packages, separated by commas.--include-dependencies: Include dependencies.--exclude-dependencies: Exclude dependencies.--only-signed-packages: Restrict to signed packages only.--keep-legacy-packages: Includes both.condaand.tar.bz2files for packages that contain them.
Date-based filtering options
Date formatting-
YYYY-MM-DD -
--package-created-from: Filter packages created on or after the specified date. -
--package-created-to: Filter packages created on or before the specified date.
CVE filtering options
-
--cve-score: Set a CVE score threshold for filtering. -
--cve-score-comparator: Comparator for CVE score.- Options:
==,<=,>=,<,> - Default:
<=
- Options:
-
--cve-status: Include CVE statuses, separated by commas. -
--exclude-cve-status: Exclude CVE statuses, separated by commas.Supported statuses
activereportedmitigatedcleareddisputed
-
--cve-link-status-and-score: Define the relationship between CVE status and score.- Options:
and,or - Default:
and
- Options:
-
--cve-allowlist: Add specific CVE IDs to an allowlist, separated by commas. -
--exclude-uncurated-cve-packages: Exclude uncurated CVE packages.
Viewing policies
To view all policies, run the following command:Replace <POLICY_ID> with the ID of your policy.
Assigning a policy
To assign a policy to a channel, run the following command:Replace <POLICY_ID> with the ID of your policy.
Replace <CHANNEL_NAME> with the name of the channel you want to apply the policy to.
Replace <CHANNEL_NAME> with the name of the channel you want to apply the policy to.
Policies can also be applied directly to mirrors. For more information, see Creating a mirror with a policy.
Unassigning a policy
Replace <POLICY_ID> with the ID of your policy.
Replace <CHANNEL_NAME> with the name of the channel you want to apply the policy to.
Replace <CHANNEL_NAME> with the name of the channel you want to apply the policy to.
Editing a policy
To edit an existing policy, use the--edit argument with the same configuration options available for creating a policy and include the ID of the policy you want to modify.
Editing a filtering option for a policy clears the previous filter value.For example, if you create a policy and specify the
win-32 platform filter, running conda repo policy --edit <POLICY_ID> --platform "win-64" replaces the win-32 filter with the win-64 filter; it does not add both filters.Replace <POLICY_ID> with the ID of your policy.
Deleting a policy
To delete a policy, run the following commdand:Replace <POLICY_ID> with the ID of your policy.
Mirrors
Mirroring via the CLI can accomplish things that would be cumbersome via the GUI. Mirrors exist within channels in Anaconda Platform. When working in the CLI, you need to create a channel to populate with a mirror or know which channels are already available for mirror hosting. Anaconda recommends that channels contain only one mirror each to prevent conflicts between package sources and mirror filters. It is possible for a channel to contain multiple mirrors; however, you will need to proceed with caution and ensure that your mirror filters do not overlap in a conflicting manner.Creating a mirror
The basic command for creating a mirror using the CLI is:Replace <MIRROR_NAME> with a name for your mirror.
Replace <SOURCE> with the URL of the external repository to mirror.
Replace <CHANNEL_NAME> with the name of the channel you want to contain your mirror.
Replace <TYPE> with a valid mirror type (conda, python_simple, or CRAN).
Replace <MODE> with either active or passive.
Replace <SOURCE> with the URL of the external repository to mirror.
Replace <CHANNEL_NAME> with the name of the channel you want to contain your mirror.
Replace <TYPE> with a valid mirror type (conda, python_simple, or CRAN).
Replace <MODE> with either active or passive.
Your
<TYPE> must match the <SOURCE> mirror. For example, if your source mirror contains conda packages, you must use conda as your mirror type.Replace <MIRROR_NAME> with a name for your mirror.
Replace <CHANNEL_NAME> with the name of the channel you want to contain your mirror.
Replace <SOURCE> with the URL of the external repository to mirror.
Replace <TYPE> with a valid mirror type (conda, python_simple, or CRAN).
Replace <MODE> with either active or passive.
Replace <PLATFORMS> with the platforms you need your packages to work for.
Replace <PKG_NAME> with the name of the packages you want mirrored into your repository.
Replace <CHANNEL_NAME> with the name of the channel you want to contain your mirror.
Replace <SOURCE> with the URL of the external repository to mirror.
Replace <TYPE> with a valid mirror type (conda, python_simple, or CRAN).
Replace <MODE> with either active or passive.
Replace <PLATFORMS> with the platforms you need your packages to work for.
Replace <PKG_NAME> with the name of the packages you want mirrored into your repository.
Creating a mirror with a policy
When you create or edit a mirror on a channel that has a policy associated with it, the channel’s policy is automatically applied to the mirror. To assign a specific policy to the mirror instead, include the--use-channel-policy False and --policy-id <POLICY_ID> arguments in your command.
Here is an example command that creates a mirror and applies a policy to it. For more information, see Policies.
Replace <MIRROR_NAME> with a name for your mirror.
Replace <SOURCE> with the URL of the external repository to mirror.
Replace <CHANNEL_NAME> with the name of the channel you want to contain your mirror.
Replace <TYPE> with a valid mirror type (conda, python_simple, or CRAN).
Replace <MODE> with either active or passive.
Replace <POLICY_ID> with your policy ID.
Replace <SOURCE> with the URL of the external repository to mirror.
Replace <CHANNEL_NAME> with the name of the channel you want to contain your mirror.
Replace <TYPE> with a valid mirror type (conda, python_simple, or CRAN).
Replace <MODE> with either active or passive.
Replace <POLICY_ID> with your policy ID.
Filtering mirrored packages
Adding filters to your mirrors ensures that you only mirror the packages that you need in your channel. This ensures that everyone on your team is not only using the same packages, but the same version of those packages for the same operating system. You can also filter by license and common vulnerability and exposure (CVE) score to ensure you are meeting your organization’s software security requirements. For more information about CVEs, see Common Vulnerabilities and Exposures (CVEs).Filters can also be applied at the channel level. Both the channel filter and the mirror filter are applied to packages contained in the channel. The mirror filter restricts packages that are pulled from the source mirror, and the channel filter restricts which packages are allowed into the channel. Filters should not contain configurations that will conflict with one another.
Mirror filtering arguments
--subdirs - For mirror sources that contain conda packages.
Instruct Anaconda Platform to only mirror packages for the provided subdirectories. Anaconda recommends you always include the platform as well as the specific platform architecture necessary for your organization, as many platform-specific packages will require a noarch dependency to run. Use a comma-separated string contained within double quotes when supplying the argument.
Here is an example of what this portion of a mirror command looks like:
Available platform filters
Available platform filters
- noarch
- linux-32
- linux-64
- linux-aarch64
- linux-armv6I
- linux-armv7I
- linux-ppc64
- linux-ppc64le
- osx-64
- osx-arm64
- win-32
- win-64
- zos-z
If your source mirror does not contain conda packages, this command argument is not necessary.
--type - Denotes the mirror type. Possible types are: “conda”, “python_simple”, and “CRAN”.
Here is an example of what this portion of a mirror command looks like:
--projects - List of pypi projects to mirror.
If your source mirror is populated with PyPI projects, you can list which projects to include from the source mirror here. Use a comma-separated string contained within double quotes when supplying the argument.
Here is an example of what this portion of a mirror command looks like:
--licenses - The --licenses argument can be used to both exclude and include licenses. Use a comma-separated string contained within double quotes when supplying the argument.
To exclude a license, prepend the license name entry with a hyphen (-).
To include a license, just provide the license name.
Here is an example of what this portion of a mirror command looks like:
Availabe license filters
Availabe license filters
- agpl
- gpl2
- gpl3
- lgpl
- bsd
- mit
- apache
- psf
- public_domain
- proprietary
- other
- none
--only_spec - Include a specific package from the source mirror. Uses MatchSpec (non-exact value search queries) to specify the package. Supply this argument multiple times for multiple entries.
For more information about using non-exact value search queries, see Package match specifications.
--exclude_spec - Excludes a package from the source mirror. Uses MatchSpec (non-exact value search queries) to specify the package. Supply this argument multiple times for multiple entries.
Here is an example of what this portion of a mirror command looks like:
--include_spec - Include a package, or a specific version of a package, that would otherwise be excluded by the --exclude_spec argument. Supply this argument multiple times for multiple entries.
Here is an example of what this portion of a mirror command looks like:
--cve_score - Removes all files that are associated with a CVE that has a score equal to or higher than the threshold value set here. CVE scores range from 0-10 and can contain up to one decimal point value.
Here is an example of what this portion of a mirror command looks like:
--exclude_uncurated_cve_packages - Removes all files that are associated with uncurated CVEs in the repository. Supply this argument with either a True or False tag.
Here is an example of what this portion of a mirror command looks like:
--date_from - Specifies the start of a date range denoting when a conda package was published. Works in tandem with the --date_to filter. The date range format is YYYY-MM-DD. The --date_from value must be earlier in the timeline than the --date_to value.
--date_to - Specifies the end of a date range denoting when a conda package was published. Works in tandem with the --date_from filter. The date range format is YYYY-MM-DD.
Here is an example of what this portion of a mirror command looks like:
A maximum span of one year is allowed between the start and end of the date range.
Viewing mirror status
To view the status of a mirror on a channel, run the following command:Stopping a mirror
To stop an in-progress mirror, run the following command:Restarting a mirror
To restart a stopped mirror, run the following command:Updating mirrors
Specifications for existing mirrors can be updated at any time by supplying the--update argument, along with the names of the mirror being updated and the channel that contains the mirror. Use the same mirror arguments as when creating a mirror to alter its configurations.
To update an existing mirror, run the following command:
Replace <MIRROR_NAME> with the name of the mirror you want to update.
Replace <CHANNEL_NAME> with the name of the channel that contains the mirror.
Replace <ARG> with additional arguments for the mirror command.
Replace <CHANNEL_NAME> with the name of the channel that contains the mirror.
Replace <ARG> with additional arguments for the mirror command.
If you do not include the
--run_now argument, your mirror will update on its next scheduled run. You can always run --conda repo mirror --update <MIRROR_NAME> --channel <CHANNEL_NAME> --run_now to update your mirror without changing any parameters.Deleting mirrors
To delete a mirror, run the following command:Replace <MIRROR_NAME> with the name of the mirror you want to delete.
Replace <CHANNEL_NAME> with the name of the channel that contains the mirror.
Replace <CHANNEL_NAME> with the name of the channel that contains the mirror.
Packages
Viewing channel packages
To view a list of packages contained within a channel, run the following command:Replace <CHANNEL_NAME> with the channel name.
Viewing channel package details
To view the details of a channel’s packages, run the following command:Replace <CHANNEL_NAME> with the channel name.
- CKEY
- CVE score
- CVE status
- File name
- Package name
- Platform
- Version
Copying a package to a channel
To copy a package to a channel, run the following command:Replace <ORIGIN_CHANNEL> with the name of the channel containing the package.
Replace <PACKAGE_NAME> with the name of the package you want to copy.
Replace <DESTINATION_CHANNEL> with the name of the channel you want to copy the package to.
Replace <PACKAGE_NAME> with the name of the package you want to copy.
Replace <DESTINATION_CHANNEL> with the name of the channel you want to copy the package to.
Copying a package to a subchannel
To copy a package to a subchannel, run the following command:Replace <ORIGIN_CHANNEL> with the name of the channel containing the package.
Replace <PACKAGE_NAME> with the name of the package you want to copy.
Replace <DESTINATION_CHANNEL> with the name of the channel that contains your subchannel.
Replace <DESTINATION_SUBCHANNEL> with the name of the subchannel you want to copy the package to.
Replace <PACKAGE_NAME> with the name of the package you want to copy.
Replace <DESTINATION_CHANNEL> with the name of the channel that contains your subchannel.
Replace <DESTINATION_SUBCHANNEL> with the name of the subchannel you want to copy the package to.
Moving a package to a channel
To move a package to a channel, run the following command:Replace <ORIGIN_CHANNEL> with the name of the channel containing the package.
Replace <PACKAGE_NAME> with the name of the package you want to copy.
Replace <DESTINATION_CHANNEL> with the name of the channel that contains your subchannel.
Replace <PACKAGE_NAME> with the name of the package you want to copy.
Replace <DESTINATION_CHANNEL> with the name of the channel that contains your subchannel.
Moving a package to a subchannel
To move a package to a subchannel, run the following command:Replace <CHANNEL_NAME> with the name of the channel containing the package.
Replace <PACKAGE_NAME> with the name of the package you want to copy.
Replace <DESTINATION_CHANNEL> with the name of the channel that contains your subchannel.
Replace <DESTINATION_SUBCHANNEL> with the name of the subchannel you want to copy the package to.
Replace <PACKAGE_NAME> with the name of the package you want to copy.
Replace <DESTINATION_CHANNEL> with the name of the channel that contains your subchannel.
Replace <DESTINATION_SUBCHANNEL> with the name of the subchannel you want to copy the package to.
Deleting a package from a channel
To delete a package from a channel, run the following command:Deleting a package from a subchannel
To delete a package from a channel, run the following command:Channel service accounts
Channel service accounts are only available in version 6.6.5 and later.
Listing all channel service accounts
Replace <CHANNEL_NAME> with the name of your channel.
Creating a service account token
Creating tokens for a service account provides the account with specified permissions to act on the specified channels. Here are a few ways you might want to implement a channel service account token:Create a channel service account token
Create a channel service account token
Replace <PRIMARY_CHANNEL> with the channel you are creating a service account token for.
Replace <SA_UID> with the service account User ID.
Replace <TOKEN_NAME> with a name for your token.
Replace <LEVEL> with the level of permissions you want to give the token (read/write/manage).
Replace <SA_UID> with the service account User ID.
Replace <TOKEN_NAME> with a name for your token.
Replace <LEVEL> with the level of permissions you want to give the token (read/write/manage).
Create a channel service account token with a custom lifespan
Create a channel service account token with a custom lifespan
Replace <PRIMARY_CHANNEL> with the channel you are creating a service account token for.
Replace <SA_UID> with the service account User ID.
Replace <TOKEN_NAME> with a name for your token.
Replace <LEVEL> with the level of permissions you want to give the token (read/write/manage).
Replace <DAYS> with the number of days that you want the token to exist (omit this flag to keep your token from expiring).
Replace <SA_UID> with the service account User ID.
Replace <TOKEN_NAME> with a name for your token.
Replace <LEVEL> with the level of permissions you want to give the token (read/write/manage).
Replace <DAYS> with the number of days that you want the token to exist (omit this flag to keep your token from expiring).
Create a channel service account token with permissions across multiple channels
Create a channel service account token with permissions across multiple channels
Replace <PRIMARY_CHANNEL> with the channel you are creating a service account token for.
Replace <SA_UID> with the service account User ID.
Replace <TOKEN_NAME> with a name for your token.
Replace <TARGET_CHANNEL> with the channels you want to provide permissions for.
Replace <LEVEL> with the level of permissions you want to give the token (read/write/manage).
Replace <SA_UID> with the service account User ID.
Replace <TOKEN_NAME> with a name for your token.
Replace <TARGET_CHANNEL> with the channels you want to provide permissions for.
Replace <LEVEL> with the level of permissions you want to give the token (read/write/manage).
Listing all channel tokens
Replace <CHANNEL_NAME> with the channel you are listing service account tokens for.
Listing all tokens for a service account
To list all the token IDs associated with a channel’s associated service account, run the following command:Replace <CHANNEL_NAME> with the channel you are listing service account tokens for.
Replace <CHANNEL> with the channel you are listing service account tokens for.
Replace <SA_UID> with the service account User ID.
Replace <SA_UID> with the service account User ID.
Editing an existing token
You can edit an existing token to change its permission level.Replace <TOKEN_ID> with the token you want to edit.
Replace <TOKEN_NAME> with the name of the token you want to edit.
Replace <LEVEL> with the level of permissions you want to give the token (read/write/manage).
Replace <TOKEN_NAME> with the name of the token you want to edit.
Replace <LEVEL> with the level of permissions you want to give the token (read/write/manage).
Deleting a Token
Replace <TOKEN_ID> with the token you want to delete.
CVEs
Listing CVEs associated with files in your repository
To list the critical vulnerabilities and exposures (CVEs) associated with packages in your repository, run the following command:Showing files associated with a CVE
To view the specific files associated with a CVE, run the following command:<CVE_ID> you’ve provided.
Viewing CVE details
To view the details of a specific CVE, run the following command:Software Bill of Materials (SBOMS)
Download a SBOM for artifact files on your Anaconda Platform by running the following command:Replace <CHANNEL> with the channel containing the package.
Replace <PACKAGE> with the package name.
Replace <VERSION> with the package version.
Replace <PKG_ARCH> with the operating system architecture of the package.
Replace <FAMILY> with the artifact family (conda, python).
Replace <CKEY> with the artifact’s ckey string.
Replace <PACKAGE> with the package name.
Replace <VERSION> with the package version.
Replace <PKG_ARCH> with the operating system architecture of the package.
Replace <FAMILY> with the artifact family (conda, python).
Replace <CKEY> with the artifact’s ckey string.
An artifact’s CKEY string can be found by viewing package details.
Search
Use the search command to locate packages in your repository:Replace <FAMILY> with the artifact family type (conda, python, gra).
Replace <PACKAGE_NAME> with the name of the package you are searching for.
Replace <PACKAGE_NAME> with the name of the package you are searching for.
pytorch, but don’t know where to locate the package, run the following command:
Viewing your user information
To view your user information at any time, run the following command:Uploading to a channel
Theconda repo upload command is used to upload assets to your Anaconda Platform repository. You can upload packages and general resource artifacts to a channel for storage and distribution.
To upload an asset to the first channel listed under default_channels: in your .condarc file, run the following command:
Replace <FILE_PATH> with the path to the package you are uploading.
Replace <FILE_PATH> with the path to the artifact you are uploading.
Replace <CHANNEL_NAME> with the channel you want to upload to.
Replace <CHANNEL_NAME> with the channel you want to upload to.
Replace <FILE_PATH> with the path to the artifact you are uploading.
Replace <CHANNEL_NAME> with the channel you want to upload to.
Replace <NAME> with an artifact name.
Replace <VERSION> with a version for your artifact upload.
Replace <CHANNEL_NAME> with the channel you want to upload to.
Replace <NAME> with an artifact name.
Replace <VERSION> with a version for your artifact upload.
Make sure to perform manual security checks on artifacts before uploading them. Automatic security scanning is not provided.
Downloading a notebook from a channel
Theconda repo download command allows you to download notebooks from a specified channel.
To download a notebook and save it to the current working directory, run the following command:
Replace <CHANNEL_NAME> with the name of the channel that contains the notebook.
Replace <NOTEBOOK_NAME> with the name of the notebook you want to download.
Replace <NOTEBOOK_NAME> with the name of the notebook you want to download.
--filename option:
Replace <CHANNEL_NAME> with the name of the channel.
Replace <NOTEBOOK_NAME> with the name of the notebook you want to download.
Replace <PATH_TO_DIRECTORY/NEW_FILENAME> with the path to a directory where the notebook will be saved and (optionally) a new filename.
Replace <NOTEBOOK_NAME> with the name of the notebook you want to download.
Replace <PATH_TO_DIRECTORY/NEW_FILENAME> with the path to a directory where the notebook will be saved and (optionally) a new filename.
If you do not include a filename with the directory path, the notebook’s original filename is used.
Downloading a user activity report
If you need to know which users are downloading which packages from a given channel, you can use the following command:Replace <START_DATE> with the beginning of a date range (the format is YYYY-MM-DD).
Replace <END_DATE> with the end of a date range (the format is YYYY-MM-DD).
Replace <TYPE> with an output file type for your report (can be json or csv).
Replace <USERS> with a comma separated list of users to report on.
Replace <CHANNELS> with a comma separated list of channels to report on.
Replace <REPORT> with a name for your report download file.
Replace <END_DATE> with the end of a date range (the format is YYYY-MM-DD).
Replace <TYPE> with an output file type for your report (can be json or csv).
Replace <USERS> with a comma separated list of users to report on.
Replace <CHANNELS> with a comma separated list of channels to report on.
Replace <REPORT> with a name for your report download file.
A maximum span of one year is allowed between the start and end of the date range.
Further assistance
To view the conda repo commands in the terminal, run the command:--help or the shorthand -h to a command will provide you with further actions you can take, such as the following: