> ## 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

Anaconda Team Edition enables you to upload packages (conda, cran, wheel, egg, sdist, and so on) to the repository and store them in several different channel structures. Each package contains specific metadata for that package along with the dependencies and dependents for the package.

This topic provides guidance on the following actions:

* [Uploading a package](#uploading-a-package)
* [Downloading a package](#downloading-a-package)
* [Viewing package details](#viewing-package-details)
* [Viewing package metadata](./project#viewing-project-metadata)
* [Managing a package](#managing-a-package)
* [Deleting a package](#deleting-a-package)

## Uploading a package

Preparation for uploading packages differs depending on your package type. Please follow the relevant guide for your respective packages:

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

**Via the UI**

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/kBuj3mPdZoBk8YoG/images/uploadfile.png?fit=max&auto=format&n=kBuj3mPdZoBk8YoG&q=85&s=6c1bdefe20e10f398b26ba019c5870c8" alt="" width="1830" height="1068" data-path="images/uploadfile.png" />
</Frame>

1. Click the green dropdown button in the top right corner, and then click **Upload File**.
2. On the **Upload a File** screen, select the type of file you’d like to upload from the dropdown.
3. Click the **Browse** button to find your file and add it to the page.
4. Click **Upload**.

**Via the CLI**

To upload into the default user channel:

```sh theme={null}
# Replace <PACKAGE> with the package name
conda repo upload <PACKAGE>
```

To upload multiple packages:

```sh theme={null}
# Replace <PACKAGE> with the package names
conda repo upload <PACKAGE1> <PACKAGE2>
```

To upload into a specific channel:

```sh theme={null}
# Replace <PACKAGE> with the package name and <CHANNEL_NAME> with the channel name
conda repo upload - <CHANNEL_NAME> <PACKAGE>
```

By default, the system will try to identify the package type automatically. However, you can also provide the file type yourself:

```sh theme={null}
# Replace <CHANNEL_NAME> with the channel name
conda repo upload -t conda -c <CHANNEL_NAME> package.tar.bz2

# Or, to upload a notebook:
# Replace <CHANNEL_NAME> with the channel name
conda repo upload -t ipynb -c <CHANNEL_NAME> notebook.ipynb
```

## Downloading a package

On a package details page, click on a file name to download the file.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/atV1FF4bOzhiwIx6/images/downloadpack.png?fit=max&auto=format&n=atV1FF4bOzhiwIx6&q=85&s=11151b0a4947381f5f8fb3dd3d6d2f7a" alt="" width="2290" height="587" data-path="images/downloadpack.png" />
</Frame>

## Viewing package details

**Via the UI**

Click anywhere on a package to view its details.

You can then click the **Sort** button to sort files by version, size, platform, and name.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/u4MsRLDCM8Pedgc_/images/sortpack.png?fit=max&auto=format&n=u4MsRLDCM8Pedgc_&q=85&s=f07a6d9b3601b35a943a06dcd1dd7970" alt="" width="2774" height="996" data-path="images/sortpack.png" />
</Frame>

**Via the API**

```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
```

**Via the CLI**

```sh theme={null}
# Replace <CHANNEL_NAME> with the channel name
conda repo channel --list-file<CHANNEL_NAME> --full-details
```

## Viewing package metadata

Click the information icon to view a file’s metadata.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/GAawxvWy-HUVSCqf/images/packagemeta.png?fit=max&auto=format&n=GAawxvWy-HUVSCqf&q=85&s=b7b4391bd1490cd003d2b0a40caf67ad" alt="" width="2036" height="462" data-path="images/packagemeta.png" />
</Frame>

## Managing a package

1. Select the checkbox next to a package.
2. Click the dropdown next to the search bar. You may then move, copy, or delete the package.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/FWjHZXWDjYmx0_bG/images/managepack.png?fit=max&auto=format&n=FWjHZXWDjYmx0_bG&q=85&s=0f6b78fef66e30f9103f9ceb2f9277f0" alt="" width="2308" height="1394" data-path="images/managepack.png" />
</Frame>

## Deleting a package

Click the green Delete button to delete a package. You will be prompted to confirm that you want to delete the Package. Click Delete to confirm.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/atV1FF4bOzhiwIx6/images/deletepack.png?fit=max&auto=format&n=atV1FF4bOzhiwIx6&q=85&s=64031d49b89caa4e1f8082d3a1cb843a" alt="" width="920" height="479" data-path="images/deletepack.png" />
</Frame>

**Via the UI**

1. On a package details page, navigate to the **Files** tab to see all the versions of a given package.
2. Select one or more packages, and then click on the down arrow to the left of the filter field and click **Delete**.

**Via the API**

```sh theme={null}
# Replace placeholders in <BRACKETS> with the applicable information
DELETE /api/channels/<CHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>
DELETE /api/channels/<CHANNEL_NAME>/subchannels/<SUBCHANNEL_NAME>/artifacts/<ARTIFACT_TYPE>/<ARTIFACT_NAME>
```

**Via the CLI**

```sh theme={null}
# Replace placeholders in <BRACKETS> with the applicable information
conda-repo remove [--family]<CHANNEL_NAME>/<SUBCHANNEL_NAME>[::<PACKAGE>[/<VERSION>[/<FILE_NAME>]]]
```
