[Python-checkins] python/nondist/peps pep-0301.txt,1.3,1.4

akuchling@users.sourceforge.net akuchling@users.sourceforge.net
2002年11月20日 14:08:51 -0800


Update of /cvsroot/python/python/nondist/peps
In directory sc8-pr-cvs1:/tmp/cvs-serv15620
Modified Files:
	pep-0301.txt 
Log Message:
Updated version of the PEP from Richard Jones.
(Barry, David: this is more recent that the version sent to the PEP editors.
 You can forget about the version you've already received.)
Index: pep-0301.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/peps/pep-0301.txt,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** pep-0301.txt	18 Nov 2002 02:02:43 -0000	1.3
--- pep-0301.txt	20 Nov 2002 22:08:48 -0000	1.4
***************
*** 70,74 ****
 The specification takes three parts, the `web interface`_, the
 `Distutils register command`_ and the `Distutils Trove
! categorisation`_.
 
 
--- 70,74 ----
 The specification takes three parts, the `web interface`_, the
 `Distutils register command`_ and the `Distutils Trove
! classification`_.
 
 
***************
*** 103,107 ****
 "name" and "version" fields are mandatory, as they uniquely identify
 an entry in the index. **Submit** will automatically determine
! whether to create a new entry or updating an existing entry. The
 metadata is checked for correctness where appropriate - specifically
 the Trove discriminators are compared with the allowed set. An
--- 103,107 ----
 "name" and "version" fields are mandatory, as they uniquely identify
 an entry in the index. **Submit** will automatically determine
! whether to create a new entry or update an existing entry. The
 metadata is checked for correctness where appropriate - specifically
 the Trove discriminators are compared with the allowed set. An
***************
*** 128,151 ****
 Registration will be a three-step process, involving:
 
! 1. User submission of details via the Distutils *register* command,
 2. Index server sending email to the user's email address with a URL
 to visit to confirm registration with a random one-time key, and
 3. User visits URL with the key and confirms registration.
 
- Several user Roles will exist, generally revolving around a
- particular package name:
- 
- Owner
- Owns a package name, may assign Maintainer Role for that name. The
- first user to register information about a package is deemed Owner
- of the package name. The Admin user may change this if necessary.
- May submit updates for the package name.
- 
- Maintainer
- Can submit and update info for a particular package name.
- 
- Admin
- Can assign Owner Role and edit user details.
- 
 **roles**
 An interface for changing user Role assignments.
--- 128,137 ----
 Registration will be a three-step process, involving:
 
! 1. User submission of details via the Distutils *register* command
! or through the web,
 2. Index server sending email to the user's email address with a URL
 to visit to confirm registration with a random one-time key, and
 3. User visits URL with the key and confirms registration.
 
 **roles**
 An interface for changing user Role assignments.
***************
*** 171,174 ****
--- 157,219 ----
 ===== ============== ================================================
 
+ User Roles
+ ----------
+ 
+ Three user Roles will be assignable to users:
+ 
+ Owner
+ Owns a package name, may assign Maintainer Role for that name. The
+ first user to register information about a package is deemed Owner
+ of the package name. The Admin user may change this if necessary.
+ May submit updates for the package name.
+ 
+ Maintainer
+ Can submit and update info for a particular package name.
+ 
+ Admin
+ Can assign Owner Role and edit user details. Not specific to a
+ package name.
+ 
+ 
+ Index Storage (Schema)
+ ----------------------
+ 
+ The index is stored in a set of relational database tables:
+ 
+ **packages**
+ Lists package names and holds package-level metadata (currently
+ just the stable release version)
+ 
+ **releases**
+ Each package has an entry in **releases** for each version of the
+ package that is released. A row holds the bulk of the information
+ given in the package's PKG-INFO file. There is one row for each
+ package (*name*, *version*).
+ 
+ **trove_discriminators**
+ Lists the Trove discriminator text and assigns each one a unique
+ ID.
+ 
+ **release_discriminators**
+ Each entry maps a package (*name*, *version*) to a *discriminator_id*.
+ We map to releases instead of packages because the set of 
+ discriminators may change between releases.
+ 
+ **journals**
+ Holds information about changes to package information in the
+ index. Changes to the **packages**, **releases**, **roles**,
+ and **release_discriminators** tables are listed here by
+ package *name* and *version* if the change is release-specific.
+ 
+ **users**
+ Holds our user database - user name, email address and password.
+ 
+ **roles**
+ Maps *user_name* and *role_name* to a *package_name*.
+ 
+ An additional table, **rego_otk** holds the One Time Keys generated
+ during registration and is not interesting in the scope of the index
+ itself.
+ 
 
 Distutils *register* Command
***************
*** 186,190 ****
 On systems where the ``$HOME`` environment variable is set, the user
 will be prompted at exit to save their username/password to a file
! in their ``$HOME`` directory in the file ``.pythonpackagerc``.
 
 Notification of changes to a package entry will be sent to all users
--- 231,235 ----
 On systems where the ``$HOME`` environment variable is set, the user
 will be prompted at exit to save their username/password to a file
! in their ``$HOME`` directory in the file ``.pypirc``.
 
 Notification of changes to a package entry will be sent to all users
***************
*** 200,204 ****
 
 
! Distutils Trove Categorisation
 ------------------------------
 
--- 245,249 ----
 
 
! Distutils Trove Classification
 ------------------------------
 
***************
*** 213,223 ****
 classifiers = [
 'Development Status :: 4 - Beta',
! 'Environment :: Console (Text Based)',
 'Environment :: Web Environment',
 'Intended Audience :: End Users/Desktop',
 'Intended Audience :: Developers',
 'Intended Audience :: System Administrators',
! 'License :: OSI Approved :: Python License',
! 'Operating System :: MacOS X',
 'Operating System :: Microsoft :: Windows',
 'Operating System :: POSIX',
--- 258,268 ----
 classifiers = [
 'Development Status :: 4 - Beta',
! 'Environment :: Console',
 'Environment :: Web Environment',
 'Intended Audience :: End Users/Desktop',
 'Intended Audience :: Developers',
 'Intended Audience :: System Administrators',
! 'License :: OSI Approved :: Python Software Foundation License',
! 'Operating System :: MacOS :: MacOS X',
 'Operating System :: Microsoft :: Windows',
 'Operating System :: POSIX',
***************
*** 243,256 ****
 The list of classification values on the module index has been merged
 from FreshMeat and SourceForge (with their permission). This list
! will be made available through the web interface as a text list which
! may then be copied to the ``setup.py`` file. The *register* command's
! ``--verify`` option will also check classifiers values.
 
 Unfortunately, the addition of the "classifiers" property is not
 backwards-compatible. A setup.py file using it will not work under
! Python 2.1.3. It is hoped that a bugfix release of Python 2.2 will
! relax the argument checking of the setup() command to allow new
! keywords, even if they're not actually used. It is preferable that
! a warning be produced, rather than a show-stopping error.
 
 
--- 288,318 ----
 The list of classification values on the module index has been merged
 from FreshMeat and SourceForge (with their permission). This list
! will be made available both through the web interface and through the
! *regsiter* command's ``--list-classifiers`` option as a text list
! which may then be copied to the ``setup.py`` file. The *register*
! command's ``--verify`` option will check classifiers values against
! the server's list.
 
 Unfortunately, the addition of the "classifiers" property is not
 backwards-compatible. A setup.py file using it will not work under
! Python 2.1.3. It is hoped that a bugfix release of Python 2.2 (most
! likely 2.2.3) will relax the argument checking of the setup() command
! to allow new keywords, even if they're not actually used. It is
! preferable that a warning be produced, rather than a show-stopping
! error. The use of the new keyword should be discouraged in situations
! where the package is advertised as being compatible with python
! versions earlier than 2.2.3 or 2.3.
! 
! In the PKG-INFO, the classifiers list items will appear as individual
! ``Classifier:`` entries::
! 
! Name: roundup 
! Version: 0.5.2
! Classifier: Development Status :: 4 - Beta
! Classifier: Environment :: Console (Text Based)
! .
! .
! Classifier: Topic :: Software Development :: Bug Tracking
! Url: http://sourceforge.net/projects/roundup/
 
 
***************
*** 266,282 ****
 http://www.amk.ca/cgi-bin/pypi.cgi
 
! ===== ===================================================
 Done Feature
! ===== ===================================================
! Y Submission
! Y Index
! Y Display
! Y Search
! Y User registration
! Y User verification
! Y Password reset
! Y Admin interfaces for user/package maintenance
! N Trove
! ===== ===================================================
 
 In the two days of the 22nd and 23rd October 2002, after the first
--- 328,343 ----
 http://www.amk.ca/cgi-bin/pypi.cgi
 
! ===== =============================================================
 Done Feature
! ===== =============================================================
! Y Submission via *register* command (register.py module)
! Y Web interface
! Y Handling of the *classifiers* setup() keyword (dist.py.patch)
! Y Patch Python 2.2.3 to relax keyword argument checks in the
! distutils setup() function
! N Patch Python 2.3 to apply the dist.py.patch
! N Library reference documentation of the *register* command and
! additional *classifiers* keyword
! ===== =============================================================
 
 In the two days of the 22nd and 23rd October 2002, after the first
***************
*** 286,289 ****
--- 347,351 ----
 
 
+ 
 Rejected Proposals
 ==================
***************
*** 320,324 ****
 (http://pause.cpan.org/)
 
! .. [6] PEP 243, Module Repository Upload Mechanism
 (http://www.python.org/peps/pep-0243.html)
 
--- 382,386 ----
 (http://pause.cpan.org/)
 
! . [6] PEP 243, Module Repository Upload Mechanism
 (http://www.python.org/peps/pep-0243.html)
 
***************
*** 358,360 ****
 fill-column: 70
 End:
- 
--- 420,421 ----

AltStyle によって変換されたページ (->オリジナル) /