[Python-checkins] r79419 - peps/trunk/pep-0376.txt

tarek.ziade python-checkins at python.org
Thu Mar 25 11:36:15 CET 2010


Author: tarek.ziade
Date: Thu Mar 25 11:36:15 2010
New Revision: 79419

Log:
integrated Pachi corrections

Modified:
   peps/trunk/pep-0376.txt

Modified: peps/trunk/pep-0376.txt
==============================================================================
--- peps/trunk/pep-0376.txt	(original)
+++ peps/trunk/pep-0376.txt	Thu Mar 25 11:36:15 2010
@@ -14,12 +14,20 @@
 Abstract
 ========
 
-This PEP proposes various enhancements for Distutils:
-
-- A new format for the .egg-info structure.
-- Some APIs to read the meta-data of a distribution.
-- A replacement PEP 262.
-- An uninstall feature.
+The overall goal of this PEP is providing an standard infrastructure to manage
+project distributions. This should allow third party tools to do installation,
+uninstallation and distribution management in a distutils compatible fashion
+and share information between them.
+
+It also provides a sample uninstall feature using this infrastructure.
+
+For it, the PEP proposes various enhancements for Distutils:
+
+- A new format to install projects, as an .egg-info structure.
+- New APIs to read a project meta-data
+- Replace PEP 262, adding capabilities to record and query information about
+  installed packages.
+- A reference uninstall feature
 
 Definitions
 ===========
@@ -42,10 +50,11 @@
 
 Once installed, the elements are located in various places in the system, like:
 
-- In Python's site-packages (Python modules, Python modules organized into
+- Python's site-packages (Python modules, Python modules organized into
   packages, Extensions, etc.)
-- In Python's `include` directory.
-- In Python's `bin` or `Script` directory.
+- Python's `include` directory.
+- Python's `bin` or `Script` directory.
+- Custom paths.
 - Etc.
 
 Rationale
@@ -54,23 +63,23 @@
 There are two problems right now in the way distributions are installed in
 Python:
 
-- There are too many ways to do it.
+- There are too many ways to do it and this makes interoperation difficult.
 - There is no API to get the metadata of installed distributions.
 
 How distributions are installed
 -------------------------------
 
-Right now, when a distribution is installed in Python, the elements it
+Right now, when a distribution is installed in Python, every element it
 contains are installed in various directories.
 
-The pure Python code, for instance, is installed in the `purelib` directory
-which is located in the Python installation at ``lib/python2.6/site-packages``
-for example under Unix-like systems or Mac OS X, and in ``Lib\site-packages``
-under Windows. This is done with the Distutils `install` command, which calls
-various subcommands.
-
-The `install_egg_info` subcommand is called during this process in order to
-create an `.egg-info` file in the `purelib` directory.
+For instance, `Distutils` installs the pure Python code in the `purelib`
+directory, which is `lib\python2.6\site-packages` for unix-like systems and
+Mac OS X, or `Lib/site-packages` under Python's installation directory for
+Windows.
+
+Additionally, the `install_egg_info` subcommand of the Distutils `install`
+command adds an `.egg-info` file for the project into the `purelib`
+directory.
 
 For example, for the `docutils` distribution, which contains one package an
 extra module and executable scripts, three elements are installed in
@@ -311,7 +320,7 @@
     /etc/myapp/config.ini,b690274f621402dda63bf11ba5373bf2,9544
 
 For a windows platform, the drive letter is added for the absolute paths,
-so a file that is copied in `c:\MyApp\` will be::
+so a file that is copied in c:\MyApp\ will be::
 
     c:\etc\myapp\config.ini,b690274f621402dda63bf11ba5373bf2,9544
 
@@ -382,8 +391,8 @@
   ``.egg-info`` directory that contains a PKG-INFO that matches `name`
   for the `name` metadata.
 
-  Notice that there should be at most one result. The first result founded
-  is returned. If the directory is not found, returns None.
+  This function only returns the first result founded, as no more than one
+  values are expected. If the directory is not found, returns None.
 
 - ``get_file_users(path)`` -> iterator of ``Distribution`` instances.
 
@@ -445,9 +454,9 @@
 
 - ``get_egginfo_files(local=False)`` -> iterator of paths
 
-  Iterates over the `RECORD` entries and return paths for each line if the path
-  is pointing a file located in the `.egg-info` directory or one of its
-  subdirectory.
+  Iterates over the `RECORD` entries and returns paths for each line if the path
+  is pointing to a file located in the `.egg-info` directory or one of its
+  subdirectories.
 
   If ``local`` is ``True``, each path is transformed into a
   local absolute path. Otherwise the raw value from `RECORD` is returned.
@@ -659,7 +668,8 @@
 Acknowledgements
 ================
 
-Jim Fulton, Ian Bicking, Phillip Eby, and many people at Pycon and Distutils-SIG.
+Jim Fulton, Ian Bicking, Phillip Eby, Rafael Villar Burke, and many people at
+Pycon and Distutils-SIG.
 
 Copyright
 =========


More information about the Python-checkins mailing list