[Distutils] tracking requested vs dependency installs in PEP 376 metadata

Carl Meyer carl at dirtcircle.com
Thu Oct 8 18:42:02 CEST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Hey all,

I propose adding a bit to the PEP 376 metadata that indicates whether a
package was installed by user request or as a dependency of another
package. This would allow (un)installer tools to intelligently remove
orphaned dependencies, if they so choose. There might be questions about
the details of such an uninstaller feature, but I'm not intending to
discuss that here. The metadata itself is simple enough to track, and
seems like it ought to be included for its future usefulness.

I propose adding a metadata file REQUIRED within the .egg-info
directory. The presence of this file indicates that the user
specifically required this distribution. The absence of the file
indicates that the distribution was installed as a dependency. The
contents of the file are not used.

For the API, I propose adding a "required" property to the Distribution
class, which would be True or False based on the presence or absence of
the REQUIRED file.

I've added a demo implementation to a fork of Tarek's pep376 repo on
bitbucket: http://bitbucket.org/carljm/pep376/changeset/0c8002e65cb7/

Thoughts?

Carl
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iD8DBQFKzhZa1j/fhc23WEARApy3AJ0bbzHBaS85dURlRDEcQOHlrgovXgCg022F
OkpQ56+Re1yRnoNFfFNYm88=
=nkMB
-----END PGP SIGNATURE-----


More information about the Distutils-SIG mailing list