> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Packages

## Searching for packages

If you want to know whether or not a package is available in one of your Server channels, you can search for it by entering the package name into the search bar at the top of the dashboard. Click **Show more** to view a full list of matching packages from all available channels.

<Note>
  You can search for channels and CVEs using the same search bar. To adjust your search parameters, open the dropdown menu to the left of the search bar, then select an option from the dropdown menu.
</Note>

## Viewing package details

Clicking on any package in a channel will display the package details.

From here, you can view the following information:

* All the files contained within the package
* The package’s dependents (other packages that require this package to operate properly)
* The package’s dependencies (other packages that this package requires to operate properly)
* CVEs that are associated with files in the package

<Warning>
  Conda automatically installs a package’s dependencies along with the package itself when that package is requested from the channel. If a dependency is not available due to an applied mirror filter, you will not be able to build a working environment with the packages from the current channel.
</Warning>

General information about the package, such as its license type, version number, architecture, signature status, CVE score and status, package status, and the last time the package was published is also available from this page.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/9H-5W4tTlP7-Fn32/images/as_view_package_details.png?fit=max&auto=format&n=9H-5W4tTlP7-Fn32&q=85&s=4efcf7bf17ce8cccb446e78d61f4c23b" alt="" width="1904" height="735" data-path="images/as_view_package_details.png" />
</Frame>

## Filtering package files

Further search the contents of a package by utilizing the file filter. Click the filter <Icon icon="sliders" iconType="regular" /> icon to open the file filter options dropdown. You can filter by package name, platform, CVE score and/or status, upload date, and active/passive state.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/abCdQ9kzAxRqPlhZ/images/as_filter_package_files.png?fit=max&auto=format&n=abCdQ9kzAxRqPlhZ&q=85&s=bacbedbc0812d9229170986f6e405de0" alt="" width="1922" height="708" data-path="images/as_filter_package_files.png" />
</Frame>

## Package signatures

Packages in Anaconda’s repository come with a security signature: a special key value that proves that the package hasn’t been tampered with since going through Anaconda’s curation process. Files within a package that have a signature display a signed tag in the signature column. The actual signature value can be viewed at the bottom of the metadata file.

<Note>
  You must mirror your packages using an Anaconda Business channel as a source to view package signatures.
</Note>

## Viewing file metadata

From the package details view, click the information icon <Icon icon="circle-info" iconType="regular" /> for a file to view its metadata, package signature value (if applicable), and a list of CVEs that affect the file. The metadata is a `.json` formatted file that contains all of the information about the package file.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/AzA0BFAhlbKpAtkn/images/as_view_file_metadata.png?fit=max&auto=format&n=AzA0BFAhlbKpAtkn&q=85&s=4c0804e3f50450b49564eb35d45a7b58" alt="" width="1922" height="995" data-path="images/as_view_file_metadata.png" />
</Frame>

## Installing a package in your environment

The package details page also provides you with a command to run if you want to install the package from this channel. Click the copy <Icon icon="copy" iconType="regular" /> icon, then run the command in your environment. Keep in mind that all the package’s dependencies will also be installed.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/abCdQ9kzAxRqPlhZ/images/as_install_package_button.png?fit=max&auto=format&n=abCdQ9kzAxRqPlhZ&q=85&s=bab4f1e1c79399592f385659aae859d9" alt="" width="1912" height="594" data-path="images/as_install_package_button.png" />
</Frame>

<Warning>
  This command assumes that you have set the channel alias in your `.condarc` file to your Anaconda Server URL. For more information and help setting your channel alias, see [Set a channel alias](https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#set-a-channel-alias-channel-alias) in the official conda documentation.
</Warning>

## Downloading a package

From the package details view, click on a package’s name to download it.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/4qznYPKo21deuO4H/images/as_download_package.png?fit=max&auto=format&n=4qznYPKo21deuO4H&q=85&s=1ee56f8528c474002629e6f4ad2022a3" alt="" width="1905" height="638" data-path="images/as_download_package.png" />
</Frame>

## Managing packages

### Uploading a package

The process for preparing a package for upload differs depending on the package type. Please follow the relevant guide to prepare your package for upload before continuing:

* [conda-build](https://docs.conda.io/projects/conda-build/en/latest/)
* [sdist and wheels](https://packaging.python.org/en/latest/tutorials/packaging-projects/#generating-distribution-archives)
* [cran](https://r-pkgs.org/structure)

Once the package is ready for upload:

1. Log in to Anaconda Server.

2. Navigate to the channel/subchannel you want to upload your package to.

3. Open the actions dropdown menu and select **Upload File**.

   <Frame>
     <img src="https://mintcdn.com/anaconda-29683c67/AzA0BFAhlbKpAtkn/images/as_upload_file.png?fit=max&auto=format&n=AzA0BFAhlbKpAtkn&q=85&s=a560647d4007961e0f1bc0798919f748" alt="" width="1909" height="544" data-path="images/as_upload_file.png" />
   </Frame>

4. Open the **Type** dropdown menu and select your applicable file type.

5. Click **Browse**, locate the file on your computer, and then click **Upload**.

### Moving a package

To move a package from one channel or subchannel to another:

1. From the channel details page, select the packages you want to move from this channel.

2. Open the package actions dropdown menu and select *Move*.

   <Frame>
     <img src="https://mintcdn.com/anaconda-29683c67/abCdQ9kzAxRqPlhZ/images/as_move_package.png?fit=max&auto=format&n=abCdQ9kzAxRqPlhZ&q=85&s=a4c3a7bc32556431580de66d6096a713" alt="" width="1911" height="752" data-path="images/as_move_package.png" />
   </Frame>

3. Open the **Move To:** dropdown menu and select a destination channel for your packages.

4. Click **Move**.

<Note>
  Moving a package will remove it from its origin channel.
</Note>

### Copying a package

To copy a package from one channel or subchannel to another:

1. From the channel details page, select the packages you want to copy from this channel.

2. Open the package actions dropdown menu and select *Copy*.

   <Frame>
     <img src="https://mintcdn.com/anaconda-29683c67/thX2NnwjYcGQ9mji/images/as_copy_package.png?fit=max&auto=format&n=thX2NnwjYcGQ9mji&q=85&s=566e5be062b5e250b9d2054712edfc05" alt="" width="1911" height="648" data-path="images/as_copy_package.png" />
   </Frame>

3. Open the **Copy To:** dropdown menu and select a destination channel for your packages.

4. Click **Copy**.

<Note>
  Copying a package will not remove it from its origin channel.
</Note>

### Deleting a package

To delete a package from a channel or subchannel:

1. From the channel details page, select the packages you want to copy from this channel.

2. Open the package actions dropdown menu and select *Delete*.

   <Frame>
     <img src="https://mintcdn.com/anaconda-29683c67/4qznYPKo21deuO4H/images/as_delete_package.png?fit=max&auto=format&n=4qznYPKo21deuO4H&q=85&s=954c7acedbf86777e12a51bbf5a247d5" alt="" width="1911" height="620" data-path="images/as_delete_package.png" />
   </Frame>

3. Click **Delete** to verify you want to delete your selected packages.

## Managing packages with the CLI

If you want to manage your packages using the CLI, see [Anaconda Server CLI](/docs/psm-on-prem/6.5.3/user/cli#packages).

## Managing packages with the API

You can also use the API to perform various functions regarding package management. Access the API interface by opening a browser and navigating to `http(s)://<FQDN>/swagger/ui`, replacing `<FQDN>` with your Anaconda Server fully qualified domain name.

​​The following is a list of available endpoints you can use to manage your packages in Anaconda Server.

### Viewing package details

```sh theme={null}
GET /api/channels/<CHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>
GET /api/channels/<CHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>/readme
GET /api/channels/<CHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>/cves
GET /api/channels/<CHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>/files
GET /api/channels/<CHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>/dependencies
GET /api/channels/<CHANNEL_NAME>/subchannels/<SUBCHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>
GET /api/channels/<CHANNEL_NAME>/subchannels/<SUBCHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>/readme
GET /api/channels/<CHANNEL_NAME>/subchannels/<SUBCHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>/cves
GET /api/channels/<CHANNEL_NAME>/subchannels/<SUBCHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>/files
GET /api/channels/<CHANNEL_NAME>/subchannels/<SUBCHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>/dependencies
```

### Deleting a package

```sh theme={null}
DELETE /api/channels/<CHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>
DELETE /api/channels/<CHANNEL_NAME>/subchannels/<SUBCHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>
```
