Glossar

Built Distribution

Eine Struktur aus Dateien und Metadaten, die bei der Installation nur an den richtigen Speicherort auf dem Zielsystem verschoben werden müssen. Wheel ist ein solches Format, nicht jedoch distutil’s Source Distributions, die einen Build-Schritt erfordern.

conda

Paketmanagement-Tool für die Anaconda-Distribution von Continuum Analytics. Sie ist speziell auf die wissenschaftliche Gemeinschaft ausgerichtet, insbesondere auf Windows, wo die Installation von binären Erweiterungen oft schwierig ist.

Conda installiert keine Pakete von PyPI und kann nur von den offiziellen Continuum-Repositories oder von anaconda.org oder lokalen (z.B. Intranet-) Paketservern installieren. Beachtet jedoch, dass Pip in conda installiert werden und Seite an Seite arbeiten kann, um Distributionen von PyPI zu verwalten.

devpi

devpi ist ein leistungsstarker PyPI-kompatibler Server und ein PyPI-Proxy-Cache mit einem Befehlszeilenwerkzeug um Paketierungs-, Test- und Veröffentlichungsaktivitäten zu ermöglichen.

Distribution Package

Eine versionierte Archivdatei, die Python-Pakete, -Module und andere Ressourcendateien enthält, die zum Verteilen eines Releases verwendet werden.

Egg

Ein Built Distribution-Format, das von Setuptools eingeführt wurde und nun durch Wheel ersetzt wird. Weitere Informationen findet ihr unter The Internal Structure of Python Eggs und Python Eggs.

Import Package

Ein Python-Modul, das andere Module oder rekursiv andere Pakete enthalten kann.

Modul

Die Grundeinheit der Wiederverwendbarkeit von Code in Python, die in einem von zwei Typen existiert:

Pure Module

Ein Modul, das in Python geschrieben wurde und in einer einzigen .py-Datei enthalten ist (und möglicherweise zugehörigen .pyc- und/oder .pyo-Dateien).

Extension Module

In der Regel in eine einzelne dynamisch ladbare vorkompilierte Datei, z. B. einer gemeinsamen Objektdatei (.so).

pip

Ein Tool zum Installieren von Python-Paketen.

Docs | GitHub | PyPI |

Pipfile

Anwendungsfreundliche, auf TOML basierende Alternative zur requirements.txt-Datei von pip.

Dabei kann unterschieden werden zwischen zwei verschiedenen Gruppen von Paketen: [packages] und [dev-packages].

GitHub

Pipfile.lock

Maschinenlesbare Datei auf Basis von JSON, die alle transitiven Abhängigkeiten mit deren exakten Versionen und Download-Hashes enthält.

Auch Pipfile.lock unterscheidet zwischen [packages] und [dev-packages].

Pipenv

Pipenv ist ein Projekt, das darauf abzielt, die beste aller Verpackungswelten in die Python-Welt zu bringen. Es vereint pipfile, pip und virtualenv in einer einzigen Toolchain.

Docs | GitHub | PyPI |

pypi.org

pypi.org ist der Domainname für den Python Package Index (PyPI). Er löste 2017 den alten Index-Domain-Namen pypi.python.org ab. Er wird von warehouse unterstützt.

Python Package Index (PyPI)

PyPI ist der Standard-Paket-Index für die Python-Community. Alle Python-Entwickler können ihre Distributionen nutzen und verteilen.

Release

Der Snapshot eines Projekts zu einem bestimmten Zeitpunkt, gekennzeichnet durch eine Versionskennung.

Eine Veröffentlichung kann mehrere Built Distributions zur Folge haben.

setuptools

setuptools (und easy_install) ist eine Sammlung von Verbesserungen der Python-Distutils, mit denen ihr Python-Distributionen einfacher erstellen und verteilen könnt, insbesondere solche, die Abhängigkeiten von anderen Paketen haben.

Source Distribution (sdist)

Ein Verteilungsformat (das normalerweise mithilfe von python setup.py sdist generiert wird).

Es stellt Metadaten und die wesentlichen Quelldateien bereit, die für die Installation mit einem Tool wie Pip oder zum Generieren von Built Distributions benötigt werden.

Spack

Ein flexibler Paketmanager, der mehrere Versionen, Konfigurationen, Plattformen und Compiler unterstützt. Spack ist ähnlich wie der Nix-Paketmanager, ermöglicht jedoch die Definition virtueller Abhängigkeiten und bietet eine Syntax zur Parametrisierung. Die Pakete sind in Python geschrieben, um einen einfachen Austausch von Compilern, Bibliotheksversionen, Build-Optionen usw. zu ermöglichen. Es können beliebig viele Versionen von Paketen gleichzeitig auf demselben System existieren. Spack wurde für den raschen Aufbau wissenschaftlicher Anwendungen auf Clustern und Supercomputern entwickelt.

Docs | GitHub | Slides | The Spack package manager: bringing order to HPC software chaos |

Virtuelle Umgebung

Eine isolierte Python-Umgebung, die die Installation von Paketen für eine bestimmte Anwendung ermöglicht, anstatt sie systemweit zu installieren.

Docs | Creating Virtual Environments |

Warehouse

Die aktuelle Codebasis, die den Python Package Index (PyPI) antreibt. Sie wird auf pypi.org gehostet.

Wheel

Distributionsformat, das mit PEP 427 eingeführt wurde. Es soll das Egg-Format ersetzen und wird von aktuellen Pip-Installationen unterstützt.

C-Erweiterungen können als plattformspezifische Wheels für Windows, Mac OS und Linux auf PyPI bereitgestellt werden. Dies hat für die Benutzer des Pakets den Vorteil, bei der Installation nicht kompilieren zu müssen.

Home | Docs | PEP | GitHub | PyPI |