Skip to main content

Uploading conda packages

This example shows how to build and upload a conda package to Anaconda.org using conda build.
  1. Open Anaconda Prompt (Terminal on macOS/Linux).
  2. If necessary, install the anaconda-client and conda-build packages by running the following command:
  3. Choose the repository for which you would like to build the package. In this example, we use a small public conda test package:
    There are two required files in the example package: meta.yaml and build.sh. macOS and Linux systems are Unix-like systems. Packages built for Unix-like systems require a build.sh file, packages built for Windows require a bld.bat file, and packages built for both Windows and Unix-like systems require both a build.sh file and a bld.bat file. All packages require a meta.yaml file.
  4. To build the package, turn off automatic client uploading and then run the conda build command:
    All packages built using the conda build command are placed in a subdirectory of the Anaconda conda-bld directory.
    You can check where the resulting file was placed by adding the --output option:
  5. Upload the test package to Anaconda.org by running the anaconda upload command:
For more information on the .conda format, see Using the .conda compression format. For more information on conda’s overall build framework, see Building conda packages in the official conda docs.

Uploading standard Python packages

You can test standard Python package uploading with a small public example package saved in the anaconda-client repository. Use Anaconda Prompt (Terminal on macOS/Linux) to perform the following steps:
  1. Clone the repository:
  2. Create your standard Python package using the setup.py script:
  3. Upload your newly built package tarball file:
    Your package is now available at http://anaconda.org/<USERNAME>/<PACKAGE>, where <USERNAME> is your username and <PACKAGE> is the package name.

Uploading packages with GitHub Actions

To automate package uploads as part of a CI/CD pipeline, or to migrate existing CLI-based upload workflows, see Anaconda GitHub Actions.

Additional help for uploading packages

To view a complete list of upload options, including channel, label, availability, and metadata options, run the following in Anaconda Prompt (Terminal on macOS/Linux):

Conda Essentials course

Sign in to anaconda.com and enroll in this free course to learn to write conda recipes and build packages with conda-build.