“Terms about the package management”

Originally from

Package Management Glossary :package:

A glossary of terms relating to package management.


The complete umbrella of a software project that may have one or more packages distributed across multiple package managers.

Package (or Distribution)

A uniquely named record of a project being distributed on a registry, with one or more releases.

Release (or Version)

A (mostly) immutable snapshot of a project's source code published at a point in time under a unique version number.


The declaration of the dependency of one package on another.

Transitive Dependency

A transitive dependency is one that wasn't directly depended on by a package but instead the dependencies of one of a package's declared dependencies.

Dependency Tree

A graph of all the resolved dependencies of a single package or manifest.


A file where a package or application can declare it's top level dependencies, often with version ranges.


The place where a successfully resolve dependency tree is recorded so that it can be recreated at a later date.

Dependency Resolution Algorithm

The strategy used to decide which releases of each package should be picked to produce the complete dependency graph for a package or manifest.

Versioning scheme

The format and meaning applied to each release version number, often in the format X.Y.Z.

Two popular schemes are and

Version Range

A short hand for declaring or constraining which version numbers are acceptable for a package when resolving dependency trees.


The locally installed software for installing and managing packages, usually provided as a command line interface. Often communicates with one or more registries to find package and release metadata and to download releases.


A source of metadata about packages, their releases and where to download those releases.

Source Distribution

Packages that are published in the form of uncompiled source code, this is usually the default for scripting languages that cannot be compiled.

Binary Distribution

Packages that are published in the form of a pre-compiled binary, usually without the original source code. There are often multiple binary distributions available for a single package, each compiled for a particular cpu architecture or operating system.

Source Repository

The version control repository where development of a software project is co-ordinated, often hosted on GitHub, GitLab or Bitbucket.


The end-user software project that utilises other software projects as dependencies but is not something that can be directly depended upon or published as a package.

More details about the next release: 0.0.3

Our team has decided on what will appear in our next release. We will not receive any new feature requests before the official release. However, you are still welcome to post a request on our GitHub, new requests will be added to our next patch.

In the earlier version (0.0.1 and 0.0.2), we have prototyped the basic features and workflow of CVPM. In the next releases, we will focus on the usability. More specific, in the ongoing alpha version, 0.0.3, we are going to release the following major changes and features.

  1. Dashboard. We are going to release a dashboard for cvpm. It is an amazing easy-to-use user interface to interact with. Also, we would like to introduce a demo instance for tests purpose.

  2. Pre-install & Post-install scripts.

  3. Release Hub.

  4. Allow upload models by CLI or web UI.

Although we cannot provide an exact release date yet, our team believe it will be available before January 2019.

At the same time, we will gradually started the business procedure after the next stable release. We still have no idea what the exact version number, but we will always place the stability and usabiy before the business expansion.