========
Glossary
========

.. contents::
   :local:
   :depth: 1

.. _repo-glossary-anaconda:

Anaconda
========

An easy-to-install, free collection of open source packages,
including Python and the conda package manager. Over 150 packages are
installed with Anaconda. After installing Anaconda, you can install
or update over 250 additional open source packages contained in
the Anaconda Repository using the
``conda install PACKAGE command``.

NOTE: Replace ``PACKAGE`` with the name of the desired package.


Anaconda Client CLI
===================

The Anaconda Client command line interface (CLI) allows you to log into
Anaconda Repository directly from your Terminal window or Anaconda Prompt
and manage your account. It is not necessary for downloading or installing
packages from Repository.

Anaconda Repository
===================

Repository hosts hundreds of useful Python packages,
notebooks and environments for a wide variety of applications. You
do not need to be logged in, or even need a Repository account,
to search for packages, download and install them.

.. _repo-glossary-conda:

conda
=====

The conda package manager and environment manager program that installs
and updates packages and their dependencies, and lets you easily switch
between environments on your local computer.

conda build
===========

The command line interface that lets you build packages for your local
operating system.

conda package
=============

A compressed file containing system-level libraries, Python modules,
executable programs or other components. The file uses the tarball
format.

.. _repo-glossary-label:

label
=====

Part of the URLs for Repository where conda looks for packages.
Labels are searched only if you specify a label.

The default label is "main," so packages that are uploaded without
specifying a label are automatically labeled "main." The version
labeled main is also downloaded by default, unless a user specifies
a different label. So, if a file is labeled main, then the label
name may be omitted from the URL.

EXAMPLE: The following repositories are equivalent::

    https://<your-anaconda-repo>/sean/label/main
    https://<your-anaconda-repo>/sean

Commands such as ``conda install`` can be used with a channel, or
used with a channel and a label::

    conda install --channel sean selenium
    conda install --channel sean/label/dev selenium
    conda install --channel sean/label/stable selenium

Using Anaconda Client, :ref:`repo-glossary-package`
developers can create labels such as development
``labels/dev``, test ``labels/test`` or other labels that are
searched only if the user specifies the label.

EXAMPLE: The following search examples use a
:ref:`repo-glossary-namespace` of "travis":

* ``https://<your-anaconda-repo>/travis/labels/main``---the label
  searched by default.

* ``https://<your-anaconda-repo>/travis``---same as default label
  with ``main`` implicit.

* ``https://<your-anaconda-repo>/travis/labels/dev``---contains
  the packages in development.

* ``https://<your-anaconda-repo>/travis/labels/test``---contains
  packages ready to test.

* ``https://<your-anaconda-repo>/travis/labels/any-custom-label``---any
  label you want to use.


.. _repo-glossary-miniconda:

Miniconda
=========

A minimal installer for :ref:`repo-glossary-conda`. Like
:ref:`repo-glossary-anaconda`, Miniconda
is a software package that includes the conda package manager
and Python and its dependencies, but does not include any other
packages. Once conda is installed by installing either Anaconda
or Miniconda, you can install other software packages directly
from the command line using ``conda install``.

.. _repo-glossary-namespace:

namespace
=========

Each user and organization has their own location called a
"namespace" where they may host packages. You can view the public
packages in a user or organization's namespace by navigating to their
user page.

EXAMPLE: The "travis" user namespace located at
``https://<your-anaconda-repo>/travis`` contains packages that were
uploaded and shared by the user whose account is named "travis."


noarch package
==============

A conda package that contains nothing specific to any system
architecture, so it may be installed on any system. When conda
searches for packages on any system in a channel, conda always
checks both the system-specific subdirectory---such as
``linux-64``---and the ``noarch`` directory.

on-site repository
==================

Repository is powered by Anaconda Server.
You can run your own server behind firewalls or in
air gapped environments. For more information, contact
`sales@anaconda.com <mailto:sales@anaconda.com>`_.

.. _repo-glossary-organization:

organization account
====================

An organization account is a type of account on Repository that
allows multiple individual users to administer packages and control
package access to different user groups. It also includes a large
amount of storage space.

Use organization accounts to:

* Share packages, environments or notebooks under an organization's
  account rather than your personal account.

* Assign multiple account administrators.

* Assign different access permissions to groups of users and customize
  per-package access by group.


.. _repo-glossary-package:

package
=======

All files uploaded to Repository are stored in packages. Each
Repository package is visible at its own unique URL based on the
name of the user who owns the package and the name of the package.

EXAMPLE: If a user "travis" uploads a test package named
"testpkg," it is visible at::

    https://<your-anaconda-repo>/travis/testpkg

Repository packages may contain multiple files, and these files may
be data files such as comma separated value (CSV), tab separated
value (TSV), or text (TXT), or package files such as conda packages,
PyPI packages or R packages.

package manager
===============

A tool that facilitates the process of installing, upgrading,
configuring and removing packages on Repository. Repository supports
two package managers, :ref:`conda <repo-conda-packages>` and
:ref:`PyPI <repo-pypi-packages>`.

For more information, see
:doc:`user-guide/tasks/pkgs/use-pkg-managers`.

project
=======

Anaconda Project is an open source tool created by Anaconda
that delivers light-weight, efficient encapsulation and portability of
data science projects.

repository
==========

A storage location from which software packages may be retrieved and
installed on a computer.

source package
==============

"Source" packages are source code only, not yet built for any specific
platform, and might be compatible with all, some or only one of the
platforms.

.. _repo-glossary-token:

token
=====

An access control token is a random alphanumeric string that is
inserted into a URL that you give to another Repository user.
The token allows them to download a package or add a channel
that you have marked private. Only those users with the correct
access token can access the private file. You can use Client to
generate tokens to give other users specifically scoped access to
packages and collections.
