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

# General artifacts

export const Danger = ({children}) => {
  return <div class="callout my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border danger-admonition dark:danger-admonition" data-callout-type="danger">
      <div class="mt-0.5 w-4">
        <svg width="14" height="14" viewBox="0 0 14 14" fill="rgb(239, 68, 68)" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 text-sky-500" aria-label="Danger">
          <path fill-rule="evenodd" clip-rule="evenodd" d="M7 1.3C10.14 1.3 12.7 3.86 12.7 7C12.7 10.14 10.14 12.7 7 12.7C5.48908 12.6974 4.0408 12.096 2.97241 11.0276C1.90403 9.9592 1.30264 8.51092 1.3 7C1.3 3.86 3.86 1.3 7 1.3ZM7 0C3.14 0 0 3.14 0 7C0 10.86 3.14 14 7 14C10.86 14 14 10.86 14 7C14 3.14 10.86 0 7 0ZM8 3H6V8H8V3ZM8 9H6V11H8V9Z"></path>
        </svg>
      </div>
      <div class="text-sm prose min-w-0 w-full">
        {children}
      </div>
    </div>;
};

Channels support the upload of a wide range of generic file types, allowing you to store and share resources. This flexibility makes channels versatile for various use cases, ensuring that different types of files can be managed and accessed as needed. For example, a Miniconda installer can be packaged in different formats depending on the platform, such as `.exe` or `.dmg`. By supporting multiple file types, channels enable seamless sharing of these platform-specific resources, making them easily accessible to others.

<Danger>
  There is no built-in security check on uploaded artifacts. *Performing manual security checks is strongly recommended*. Administrators and users with upload permissions should verify file integrity before uploading to ensure they are safe and that no malicious files are present.
</Danger>

<Accordion title="Accepted general artifact file types">
  * `.bz2`
  * `.conda`
  * `.deb`
  * `.egg`
  * `.exe`
  * `.gz`
  * `.ipynb`
  * `.json`
  * `.lz`
  * `.lzma`
  * `.msi`
  * `.rpm`
  * `.tar`
  * `.tbz`
  * `.tgz`
  * `.tlz`
  * `.txz`
  * `.whl`
  * `.xz`
  * `.yaml`
  * `.yml`
  * `.zip`
</Accordion>

## Uploading general artifacts

When uploading a general artifact file, you must assign it to an artifact group. In Package Security Manager, the group is considered to be the artifact itself, with the intent that each group contains variations of the same file for different platforms. Using our earlier example, if you want to upload Miniconda installers for distribution, you might create an artifact group called `Miniconda Installers`. If the group already exists, the uploaded file is included with the existing group’s files.

1. Select a channel that you want to upload a general resource artifact to.
2. Open the  <Icon icon="gear" iconType="light" /> **Manage** dropdown menu and select **Upload File**.
3. Open the **Type** dropdown menu and select **General Artifact**.
4. Establish a descriptive group name for your artifacts, or use an existing group to include your file in.
5. Click **Select files…**, then locate and upload your general resource artifact. Alternatively, you can drag and drop your general resource artifact into the field.
6. Click **Upload**.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/opbTXGcYjx4zM8zO/images/gen_artifact_upload.png?fit=max&auto=format&n=opbTXGcYjx4zM8zO&q=85&s=30e7194aa0dc3479a0741952bae866fb" alt="" width="1922" height="873" data-path="images/gen_artifact_upload.png" />
</Frame>

<Note>
  It is a known issue that uploading a file with an identical name as an existing one removes the original file from its artifact group and assigns it to a new group.
</Note>

## Managing general artifacts

You can **Copy**, **Move**, or **Delete** entire groups of general artifacts, or the individual artifact files they contain.

<Tabs>
  <Tab title="Managing groups">
    To manage entire groups:

    1. Select a channel you need to manage general artifacts for.
    2. Select the **General Artifacts** tab.
    3. Select the checkboxes beside group names. Management options appear at the top of the table.
    4. Choose the action you want to take for the selected groups.
  </Tab>

  <Tab title="Managing files within a group">
    To manage files within a general artifact group:

    1. Select a channel you need to manage general artifacts for.
    2. Select the **General Artifacts** tab.
    3. Click on a group name to view its files.
    4. Select the checkboxes beside artifact names. Management options appear at the top of the table.
    5. Choose the action you want to take for the selected files.
  </Tab>
</Tabs>

<Note>
  You might need to refresh the page to see your changes.
</Note>

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

## Managing general artifacts via the CLI

If you want to manage your channel uploads using the CLI, see [Package Security Manager CLI](./cli#uploading-to-a-channel).
