Common Lisp Package Manager (CLPM) logo

Common Lisp Package Manager (CLPM) CLPM

Use this command to install Common Lisp Package Manager (CLPM):
winget install --id=CLPM.CLPM -e

CLPM is a project manager for Common Lisp. It can manage projects in both global and project specific contexts. It would be called a "package manager" in most other contexts, but the use of "package" unfortunately collides with the use of "package" in the Common Lisp spec as a namespace for symbols. It consists of two major pieces. First is a standalone program that is responsible for all the heavy lifting of downloading and unpacking releases in the correct place, resolving dependencies, and managing project specific environments. This piece is generally referred to as CLPM, the CLPM core, or `clpm` and is distributed as a precompiled executable using SBCL (but it is possible to compile it from source). The second is a small client library written in portable Common Lisp that interfaces with ASDF and calls CLPM as necessary to find and install missing systems. This piece is generally referred to as the CLPM client or `clpm-client` and is meant to be loaded when you are interactively developing code. CLPM is licensed under the two clause BSD license (BSD-2). So, basically do what you want with it (while providing appropriate attribution) and don't complain if it breaks things. CLPM is currently beta quality so expect some breakage and incompatibilites going forward. To receive help or report issues please send email to <mailto:clpm-devel@common-lisp.net>. Additionally, feel free to join the email list at <https://mailman.common-lisp.net/listinfo/clpm-devel>. To join in the development of CLPM, you can find the project hosted on the common-lisp.net Gitlab server at <https://gitlab.common-lisp.net/clpm/clpm>.

CLPM is a project manager for Common Lisp designed to streamline development by managing dependencies and environments. It serves as a package manager in most contexts but avoids the term "package" due to Common Lisp's namespace definition for symbols.

Key Features:

  • Manages projects globally or within specific contexts, resolving dependencies and isolating environments.
  • Comprises two main components:
    • A standalone executable (CLPM core) responsible for downloading, unpacking releases, and managing environments.
    • A client library (CLPM client) that integrates with ASDF to install missing systems during development.
  • Licensed under BSD-2, offering flexibility in use while requiring attribution.

Audience & Benefit: Ideal for Common Lisp developers seeking efficient dependency management. CLPM provides isolated project environments, seamless package installation, and compatibility across platforms like Linux, macOS, and Windows. It is currently in beta, so users should expect ongoing improvements and potential issues.

Versions
0.4.2-rc.2