Conda Documentation#

Conda provides package, dependency, and environment management for any language. The following documentation site provides all you need to get started with leveraging the power of conda.

Getting started

Learn how to get started using conda with tutorials and quick start guides

https://docs.conda.io/projects/conda/en/stable/user-guide/getting-started.html
Package search

Find all the packages for your project on anaconda.org

https://anaconda.org
Commands

Documentation for all essential conda commands

https://docs.conda.io/projects/conda/en/stable/commands/index.html
Building Packages

Learn how to build and distribute your software with conda

https://docs.conda.io/projects/conda-build/en/stable/index.html
What’s new?

Check out our blog for the latest release notes and other news

https://conda.org/blog
Developer guide

Take deep dives into advanced topics on the internal workings of conda

https://docs.conda.io/projects/conda/en/stable/dev-guide/index.html

Install #

We recommend the following conda distributions to install conda:

Miniconda

Miniconda is an installer by Anaconda that comes preconfigured for use with the Anaconda Repository. See the notes about Anaconda’s Terms of Service.

Windows x86_64

macOS arm64 (Apple Silicon)

macOS x86_64 (Intel)

Linux x86_64 (amd64)

Linux aarch64 (arm64)

Miniforge

Miniforge is an installer maintained by the conda-forge community that comes preconfigured for use with the conda-forge channel.

Windows x86_64

macOS arm64 (Apple Silicon)

macOS x86_64 (Intel)

Linux x86_64 (amd64)

Linux aarch64 (arm64)

For more detailed instructions, see Miniconda's installation guide and conda-forge's download site.

Projects #

conda

Conda provides all essential commands for creating and using environments

https://docs.conda.io/projects/conda/en/stable/
conda build

Conda build provides many tools that can be used to build conda packages

https://docs.conda.io/projects/conda-build/en/stable/
Miniconda

Miniconda is a conda installer provided by Anaconda

https://docs.anaconda.com/free/miniconda/
conda lock

Conda lock generates fully reproducible lock files for conda environments

https://conda.github.io/conda-lock/
constructor

Constructor builds OS-specific installers for conda packages

https://conda.github.io/constructor/
conda pack

Conda pack creates distributable archives of conda environments

https://conda.github.io/conda-pack/

Help and support#

Community support#

Use the following tools to ask and answer questions, discuss ways to use conda, request new features, and submit any other comments you might have.

Conda community forum

Join our Discourse forum for conda discussion and news

https://conda.discourse.group/
Conda Zulip chat

Chat about conda issues and projects with other users

https://conda.zulipchat.com
Anaconda community forum

Ask and answer questions about Anaconda’s products

https://community.anaconda.cloud/

Contribute recipes to GitHub#

The conda community has transitioned into using feedstocks, which are repositories that contain package recipes and all of the necessary configurations for building those recipes. This enables these packages to be automatically built using continuous integration (CI) services.

You can clone or fork many package feedstocks from Anaconda Recipes, though you can’t submit new feedstocks to that GitHub organization. To contribute new conda package feedstocks, submit them to conda-forge or bioconda with a pull request.

Feedstocks are welcome for programs that use any license, such as GPL, BSD, MIT or Apache, and all of the rt has already been reported, and then report it if no one else has.

Issues with the conda documentation are tracked on GitHub at conda/conda-docs#issues.

Note

The conda-docs repository includes documentation that is common for conda and conda-build, as well as landing pages for those projects.

The documentation for conda, conda-build, and other conda-related projects can be found in their respective repositories.

To create issues for conda, conda-build, repo.anaconda.com, anaconda.org, and specific conda packages, please see the individual repo links in the New issues section of the Contributing guide.

Conda Announce mailing list#

Conda Announce (announce@lists.conda.org) is a low-traffic email list for news and updates directly from the conda core team. It is not a marketing list. We never sell, give away, or distribute your email address to third parties.

  • No more than 1 email per week, usually less.

  • Project announcements relevant to all conda users.

  • No corporate marketing hype.

  • No spam.

Subscribe here.

Contributing#

New Issues#

If your issue is a bug report or feature request for:

Development Environment, Bash#

To set up an environment to start developing on conda code, we recommend the following steps:

  1. Fork the conda/conda repository, clone it locally anywhere you choose (an isolation miniconda will be set up within the clone directory), and set up git remote to point to upstream and fork. For detailed directions, see below.

1a. Choose where you want the repository located (not location of existing conda)

CONDA_PROJECT_ROOT="$HOME/conda"

1b. Clone the project, with upstream being the main repository. Make sure to click the Fork button above so you have your own copy of this repo.

GITHUB_USERNAME=kalefranz
git clone git@github.com:$GITHUB_USERNAME/conda "$CONDA_PROJECT_ROOT"
cd "$CONDA_PROJECT_ROOT"
git remote add upstream git@github.com:conda/conda
  1. Create a local development environment, and activate that environment

. dev/start

This command will create a project-specific base environment at ./devenv. If the environment already exists, this command will just quickly activate the already-created ./devenv environment.

To be sure that the conda code being interpreted is the code in the project directory, look at the value of conda location: in the output of conda info --all.

  1. Run conda’s unit tests using GNU make

make unit

or alternately with pytest

py.test -m "not integration and not installed" conda tests

or you can use pytest to focus on one specific test

py.test tests/test_create.py -k create_install_update_remove_smoketest

Development Environment, Windows cmd.exe shell#

In these steps, we assume git is installed and available on PATH.

  1. Choose where you want the project located

set "CONDA_PROJECT_ROOT=%HOMEPATH%\conda"
  1. Clone the project, with origin being the main repository. Make sure to click the Fork button above so you have your own copy of this repo.

set GITHUB_USERNAME=kalefranz
git clone git@github.com:conda/conda "%CONDA_PROJECT_ROOT%"
cd "%CONDA_PROJECT_ROOT%"
git remote add %GITHUB_USERNAME% git@github.com:%GITHUB_USERNAME%/conda

To be sure that the conda code being interpreted is the code in the project directory, look at the value of conda location: in the output of conda info --all.

  1. Create a local development environment, and activate that environment

.\dev\start

This command will create a project-specific base environment at .\devenv. If the environment already exists, this command will just quickly activate the already-created .\devenv environment.

Conda Contributor License Agreement#

In case you’re new to CLAs, this is rather standard procedure for larger projects. Django and even Python itself both use something similar.

> CLA agreements are ultimately approved by a person and are not fully automatic, so it > may take some time for the CLA checks on your PRs to run successfully.

Conda license#

Conda is released under the BSD 3-Clause License with the following terms:

Copyright (c) 2017, Anaconda, Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Dependencies#

versioneer.py is Public Domain.

The ProgressBar package is redistributed under the BSD 3-clause license as per the terms of its license:

ProgressBar License#

You can redistribute and/or modify this library under the terms of the GNU LGPL license or BSD license (or both).

LGPL#

progressbar - Text progress bar library for python. Copyright (C) 2005 Nilton Volpato

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

BSD#

progressbar - Text progress bar library for python Copyright (c) 2008 Nilton Volpato

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.