Terminology - cma-open/cmatools GitHub Wiki

Interchangeable terms

Many python terms are often used interchangeably. Additionally for installed python systems the software may fullfill different uses and could be classified under several different terms, e.g. as a stand alone application, a command line tool, and also serve as a library for use by other packages

Many terms are usefully defined here https://packaging.python.org/glossary/

Use within this project

In many cases the terms "library" and "package" are used in a similar way, to refer to a collection of functional code packaged together for use. This project will focus on the use of the delivery of a main package, with component subpackages and modules. The term "library" will be avoided.


  • distribution package

  • import package

    • see https://packaging.python.org/glossary/
    • "A Python module which can contain other modules or recursively, other packages"
    • "An import package is more commonly referred to with the single word “package” "
  • libary

    • Not typically officially used to refer to developer generated python code
    • However the "python standard libary" refers to the range of built-in modules (or component packages) that are installed when python is installed
    • Additionally several python projects refer to project code as shared libraries, meaning a python package being imported and use in another system
    • There is an implication that "library" refers typically to a larger more substantial codebase and wider range of functionality than typically delviered by a scientific project package
    • The term library may also refer to a library of many different packages, or subpackages, where it is used interchangeably with the term package
    • Some setup tools also use the term lib to refer to the top level directory within the source archive within a python package structure
  • module

    • A python file containing functionality such as simple procedural script statements or defined functions
    • modules can be easily imported into other modules, allowing re-use
  • package

    • A python package refers to an organised collection of python modules within a directory.
    • These may be organised into subpackages.
    • Typically these deliver related functionality and allow an entire package to be imported for use into other modules
  • project

  • release

  • source archive