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

Package search

Find all the packages for your project on anaconda.org

Commands

Documentation for all essential conda commands

Building Packages

Learn how to build and distribute your software with conda

What’s new?

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

Developer guide

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

Projects#

conda

Conda provides all essential commands for creating and using environments

conda build

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

Miniconda

Miniconda is a conda installer provided by Anaconda

conda lock

Conda lock generates fully reproducible lock files for conda environments

constructor

Constructor builds OS-specific installers for conda packages

conda pack

Conda pack creates distributable archives of conda environments

Help and support#

  • Get free community support with our Google group.

  • Paid support, training and consulting options are available. Our teaching philosophy is that the best way to learn is with hands-on experience addressing real-world problems. Courses are available to individuals online, at numerous sites, or in-house at your place of business. We also offer consulting services for the analysis, management and visualization of scientific and business data or optimizing your processing workflows on modern hardware and GPUs.

  • Support is included in purchases of Anaconda Enterprise.

Join the conda email group#

Join the mailing lists for both Anaconda and conda. Ask questions, answer questions, discuss ways to use conda, request new features and submit any other comments you may have.

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 recipes the conda-forge and bioconda repositories are released into the public domain.

Report bugs#

If you find a bug, search to see if it 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.

For issues with conda, conda-build, repo.anaconda.com, anaconda.org, and specific conda packages, please see New Issues.

Presentations and blog posts#

Conda announcements list#

Conda Announcements is a low-traffic email list for news and updates directly from the conda core team. By providing your email address below, you consent to join Conda Announcements. 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.

For convenience, we use MailChimp to manage subscriptions, including archived announcements.

Upon clicking the “Consent and Subscribe” button, you will receive an email that contains a link to confirm your subscription. You must click this link to activate your subscription. You can opt-out at any time by clicking the “Unsubscribe” link included in any email we send through this announcement list, or by contacting privacy@anaconda.com.

* indicates required

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 3-clause BSD license with the following terms:

(c) 2017 Continuum Analytics, Inc. (dba Anaconda, Inc.). https://www.anaconda.com. 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 Continuum Analytics, Inc. 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 CONTINUUM ANALYTICS 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.