What are the metaphors underlying the python packaging vocabulary?

I am trying to understand why python has .egg or .wheel (or cheeseshop) names when installing packages.

Is there any explanation for using terminology eggs or wheels? What do they relate to? What is the main image? Metaphor? I just don’t understand what a metaphor is.

Note. I ask about names, not about "what is an egg?".

+5
source share
1 answer

Eggs and wheels

Eggs are what straight pythons-the-snakes come out of - they are "containers for python (s)".

As for wheels , β€œPEP 427 - Binary Disc Package Format 1.0”, the Comparison with .egg section explains:

  1. The wheel is a reference to another Python.

... meaning Pythons-the-comedians .

Martijn Pieters commented on the answer to the corresponding question, pointing to the tongue in the cheek of the slogans of the wheels (my attention):

wheels ...

  • Because "newegg" was made.
  • Python package - reinvented.
  • Cheese container.
  • This simplifies software deployment.

This leads directly to ...

Cheese Shop

The cheese shop itself explains its name :

Nonsense

The secret code name refers to the Cheese Shop Design , written and written by John Cleese and Michelle Palin on January 7, 1972.

If you're really interested, check out the thumbnail on YouTube .

Whether this name was chosen because CPAN [contains] so many packets at this time remains in the dark zone of rumors and wild speculation.

The latter indicates the response of your subsequent comment : "The sketch metaphor does not work: it has no cheese, and pypi is filled with this." When it was created in 2002, the Cheese Shop will have only a small fraction of the available Python packages. This is highly recommended compared to the PERL Comprehensive PERL Archive Network (CPAN).

They also intentionally or did not predict such experiences as trying to find the yaml package in an obvious place --- https://pypi.python.org/pypi/yaml --- when it really hides in https://pypi.python.org/pypi/PyYAML .

Finally, in even more direct parallel with the sketch, registering a package from the Cheese Shop does not require actually uploading anything to the Cheese Shop. From distutils upload docs, version 3.1 (emphasis mine):

The Python Package Index (PyPI) not only stores package information, but also package data , if the package author wishes .

Since the owner of the package can choose to place the package files in a different location, and since this "in a different place" may cease to exist for several reasons, PyPI may literally offer a package that it cannot provide.

+3
source

Source: https://habr.com/ru/post/1262560/


All Articles