Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

January docs sweep #9647

Merged
merged 7 commits into from Jan 30, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/source/api/index.rst
Expand Up @@ -3,20 +3,20 @@ Conda Python API

As of conda 4.4, conda can be installed in any environment, not just environments with names starting with _ (underscore). That change was made, in part, so that conda can be used as a Python library.

There are three supported public modules. We support:
There are 3 supported public modules. We support:

#. import conda.cli.python_api
#. import conda.api
#. import conda.exports

The first two should have very long-term stability. The third is guaranteed to be stable throughout the lifetime of a feature release series--i.e. minor version number.
The first 2 should have very long-term stability. The third is guaranteed to be stable throughout the lifetime of a feature release series--i.e. minor version number.

As of conda 4.5, we do not support ``pip install conda``. However, we are considering that as a supported bootstrap method in the future.


.. toctree::
:maxdepth: 1
:caption: Contents:
:caption: Contents

solver
python_api
Expand Down
59 changes: 29 additions & 30 deletions docs/source/glossary.rst
Expand Up @@ -13,7 +13,7 @@ Glossary

The Conda Runtime Configuration file, an optional ``.yaml`` file
that allows you to configure many aspects of conda, such as which
channels it searches for packages, proxy settings and environment
channels it searches for packages, proxy settings, and environment
directories. A ``.condarc`` file is not included by default, but
it is automatically created in your home directory
when you use the ``conda config`` command. The ``.condarc`` file
Expand All @@ -25,7 +25,7 @@ Pronounced "conda r-c".

.. _activate-deactivate-glossary:

activate/deactivate environment
Activate/Deactivate environment
===============================

Conda commands used to switch or move between installed
Expand All @@ -48,21 +48,21 @@ environment with just ``program_name``.
Anaconda
========

A downloadable, free, open source, high-performance and optimized
A downloadable, free, open-source, high-performance, and optimized
Python and R distribution. Anaconda includes
:ref:`conda <conda-glossary>`, conda-build, Python, and 100+
automatically installed, open source scientific packages and
:ref:`conda <conda-glossary>`, conda-build, Python, and 250+
automatically installed, open-source scientific packages and
their dependencies that have been tested to work well together,
including SciPy, NumPy and many others. Use the ``conda install`` command
to easily install 1,000+ popular open source packages
including SciPy, NumPy, and many others. Use the ``conda install`` command
to easily install 7,500+ popular open-source packages
for data science--including advanced and scientific
analytics--from the Anaconda repository. Use the ``conda``
command to install thousands more open source packages.
command to install thousands more open-source packages.

Because Anaconda is a Python distribution, it can make
installing Python quick and easy even for new users.

Available for Windows, macOS and Linux, all versions of
Available for Windows, macOS, and Linux, all versions of
Anaconda are supported by the community.

See also :ref:`miniconda-glossary` and :ref:`conda-glossary`.
Expand All @@ -73,12 +73,11 @@ See also :ref:`miniconda-glossary` and :ref:`conda-glossary`.
Anaconda Cloud
==============

A web-based repository hosting service in the cloud. Packages
A web-based, repository hosting service in the cloud. Packages
created locally can be published to the cloud to be shared with
others. Free accounts on Cloud can publish packages to be shared
publicly. Paid subscriptions to Cloud can designate packages as
private to be shared with authorized users. Anaconda Cloud is a
public version of Anaconda Repository.
others. `Anaconda Cloud <https://docs.anaconda.com/anaconda-cloud/>`_
is a public version of Anaconda Repository.


.. _navigator-glossary:

Expand All @@ -87,8 +86,8 @@ Anaconda Navigator

A desktop graphical user interface (GUI) included in all versions
of Anaconda that allows you to easily manage conda packages,
environments, channels and notebooks without a command line
interface (CLI).
environments, channels, and notebooks without a command line
interface (CLI). See more about `Navigator <https://docs.anaconda.com/anaconda/navigator/>`_.

.. _channels-glossary:

Expand All @@ -99,15 +98,15 @@ The locations of the repositories where conda looks for packages.
Channels may point to a Cloud repository or a private
location on a remote or local repository that you or your organization
created. The ``conda channel`` command has a default set of channels to
search, beginning with https://repo.continuum.io/pkgs/, which you may
search, beginning with https://repo.anaconda.com/pkgs/, which you may
override, for example, to maintain a private or internal channel.
These default channels are referred to in conda commands and in
the ``.condarc`` file by the channel name "defaults."


.. _conda-glossary:

Conda
conda
=====

The package and environment manager program bundled with Anaconda
Expand All @@ -118,7 +117,7 @@ your local computer.

.. _conda-environment-glossary:

Conda environment
conda environment
=================

A folder or directory that contains a specific collection of
Expand All @@ -137,30 +136,30 @@ language packages. Environments can be created from:

.. _conda-package-glossary:

Conda package
conda package
=============

A compressed file that contains everything that a software
program needs in order to be installed and run, so that you do
not have to manually find and install each dependency separately.
A conda package includes system-level libraries, Python or R
language modules, executable programs and other components. You
language modules, executable programs, and other components. You
manage conda packages with conda.

.. _conda-repository-glossary:

Conda repository
conda repository
================

A cloud-based repository that contains 720+ open source certified
A cloud-based repository that contains 7,500+ open-source certified
packages that are easily installed locally with the
``conda install`` command. Anyone can access the repository from:

* The Navigator GUI

* A terminal or Anaconda Prompt using conda commands

* https://repo.continuum.io/pkgs/
* https://repo.anaconda.com/pkgs/


.. _metapackage-glossary:
Expand All @@ -181,12 +180,12 @@ Miniconda

A free minimal installer for conda. `Miniconda <https://docs.conda.io/en/latest/miniconda.html>`_
is a small, bootstrap version of Anaconda that includes only conda,
Python, the packages they depend on and a small number of other useful
packages, including pip, zlib and a few others. Use the
``conda install`` command to install 720+ additional conda
Python, the packages they depend on, and a small number of other useful
packages, including pip, zlib, and a few others. Use the
``conda install`` command to install 7,500+ additional conda
packages from the Anaconda repository.

Because Miniconda is a Python distribution, and it can make
Miniconda is a Python distribution that can make
installing Python quick and easy even for new users.

See also :ref:`anaconda-glossary` and :ref:`conda-glossary`.
Expand All @@ -208,7 +207,7 @@ Package manager
===============

A collection of software tools that automates the process of
installing, updating, configuring and removing computer programs
installing, updating, configuring, and removing computer programs
for a computer's operating system. Also known as a package management
system. Conda is a package manager.

Expand All @@ -218,7 +217,7 @@ Packages
========

Software files and information about the software, such as its
name, the specific version and a description, bundled into a
name, the specific version, and a description, bundled into a
file that can be installed and managed by a package manager.

.. _repository-glossary:
Expand Down
10 changes: 5 additions & 5 deletions docs/source/index.rst
Expand Up @@ -14,9 +14,9 @@ Conda
language---Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++,
FORTRAN`

Conda is an open source package management system and environment
Conda is an open-source package management system and environment
management system that runs on Windows, macOS, and Linux. Conda
quickly installs, runs and updates packages and their dependencies.
quickly installs, runs, and updates packages and their dependencies.
Conda easily creates, saves, loads, and switches between environments
on your local computer. It was created for Python programs but it
can package and distribute software for any language.
Expand All @@ -30,7 +30,7 @@ run that different version of Python, while continuing to run
your usual version of Python in your normal environment.

In its default configuration, conda can install and manage the
thousand packages at repo.continuum.io that are built, reviewed
over 7,500 packages at repo.anaconda.com that are built, reviewed,
and maintained by Anaconda\ |reg|.

Conda can be combined with continuous integration systems such
Expand All @@ -39,10 +39,10 @@ of your code.

The conda package and environment manager is included in all versions of
:ref:`Anaconda <anaconda-glossary>`\ |reg|,
:ref:`Miniconda <miniconda-glossary>` and
:ref:`Miniconda <miniconda-glossary>`, and
`Anaconda Repository <https://docs.continuum.io/anaconda-repository/>`_.
Conda is also included in `Anaconda Enterprise
<https://www.anaconda.com/enterprise/>`_ , which provides on-site enterprise
<https://www.anaconda.com/enterprise/>`_, which provides on-site enterprise
package and environment management for Python, R, Node.js, Java, and other
application stacks. Conda is also available on
`conda-forge <https://anaconda.org/conda-forge/conda>`_, a community channel.
Expand Down
15 changes: 7 additions & 8 deletions docs/source/user-guide/concepts/conda-performance.rst
Expand Up @@ -17,13 +17,13 @@ packages. At any point along these steps, performance issues may arise.

Conda follows these steps when installing a package:

#. Downloading and processing index metadata
#. Reducing the index
#. Expressing the package data and constraints as a SAT problem
#. Running the solver
#. Downloading and extracting packages
#. Verifying package contents
#. Linking packages from package cache into environments
#. Downloading and processing index metadata.
#. Reducing the index.
#. Expressing the package data and constraints as a SAT problem.
#. Running the solver.
#. Downloading and extracting packages.
#. Verifying package contents.
#. Linking packages from package cache into environments.

Therefore, if you're experiencing a slowdown, evaluate the following questions
to identify potential causes:
Expand All @@ -36,7 +36,6 @@ to identify potential causes:
* Are channels interacting in bad ways?



Improving conda performance
===========================

Expand Down
30 changes: 16 additions & 14 deletions docs/source/user-guide/concepts/environments.rst
Expand Up @@ -70,6 +70,8 @@ built-in venv library, whereas conda has its own notion of virtual
environments that is lower-level (Python itself is a dependency provided
in conda environments).

Scroll to the right in the table below.

Some other traits are:

.. list-table::
Expand All @@ -82,41 +84,41 @@ Some other traits are:
* - **Libraries**
- Statically link, vendor libraries in wheels,
or use apt/yum/brew/etc.
- Install system-level libraries as conda dependencies
- Install system-level libraries as conda dependencies.
* - **System**
- Depend on base system install of Python
- Python is independent from system
- Depend on base system install of Python.
- Python is independent from system.
* - **Extending environment**
- Extend environment with pip
- Extended environment with conda or pip
- Extend environment with pip.
- Extended environment with conda or pip.
* - **Non-Python dependencies**
-
- Manages non-Python dependencies (R, Perl,
arbitrary executables)
arbitrary executables).
* - **Tracking dependencies**
-
- Tracks binary dependencies explicitly
- Tracks binary dependencies explicitly.

|

Why use venv-based virtual environments
---------------------------------------

- You prefer their workflow or spec formats
- You prefer to use the system Python and libraries
- You prefer their workflow or spec formats.
- You prefer to use the system Python and libraries.
- Your project maintainers only publish to PyPI, and
you prefer packages that come more directly from the
project maintainers, rather than someone else providing
builds based on the same code
builds based on the same code.

Why use conda virtual environments?
-----------------------------------

- You want control over binary compatibility choices
- You want to utilize newer language standards, such as C++ 17
- You need libraries beyond what the system Python offers
- You want control over binary compatibility choices.
- You want to utilize newer language standards, such as C++ 17.
- You need libraries beyond what the system Python offers.
- You want to manage packages from languages other than Python
in the same space
in the same space.

Workflow differentiators
========================
Expand Down
8 changes: 4 additions & 4 deletions docs/source/user-guide/concepts/installing-with-conda.rst
Expand Up @@ -25,13 +25,13 @@ Read more about :doc:`conda environments and directory structure <../concepts/en

* When you ``conda install`` a package that exists in a channel and has no dependencies, conda:

* looks at your configured channels (in priority)
* Looks at your configured channels (in priority).

* reaches out to the repodata associated with your channels/platform
* Reaches out to the repodata associated with your channels/platform.

* parses repodata to search for the package
* Parses repodata to search for the package.

* once the package is found, conda pulls it down and installs
* Once the package is found, conda pulls it down and installs.

Conda update versus conda install
=================================
Expand Down