Python Packaging Flashcards Preview

The Architecture of Open Source Applications: Elegance, Evolution, and a Few Fearless Hacks > Python Packaging > Flashcards

Flashcards in Python Packaging Deck (13):
1

Windows/Mac installation philosophy is ___

self-containment

2

Linux installation philosophy is ___

modular

3

Upgrading a dependency affects all packages that depend upon it, which sacrifices some ___

stability

4

module

Python file

5

package

directory containing Python files

6

release

one version

7

Problem: To use distutils, conventionally developers use setup.py, but ___

it does too much (build, package, publish, install & more) and causes confusion

8

Problem: static metadata file sent to PyPI is dependent on ___

the platform it is compiled on

9

Problem: PyPI server

PyPI is a single server holding various dependencies, and thus is a single point of failure

10

Problem: When distributions are not stored at PyPI and a Download-URL link is provided, therefore ___

installers must follow that link and hope it works

11

Problem: Distutils installer doesn't record what was installed, therefore ___

it's impossible to remove all files

12

Problem: To work for a particular platform, a packager ___

must repackage and patch setup.py

13

Improved Standards: Metadata

- sane versioning
- project-level dependencies (e.g. optional versioning of dependencies)
- environment markers to add a condition about the execution environment