Skip to content

Commit 9b0bc49

Browse files
committed
Added obsolete fields: requires, provides and obsoletes
closes: #1107
1 parent 108ac27 commit 9b0bc49

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

source/specifications/core-metadata.rst

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,92 @@ Examples::
755755
Obsoletes-Dist: OtherProject (<3.0)
756756
Obsoletes-Dist: Foo; os_name == "posix"
757757

758+
759+
Deprecated Fields
760+
=================
761+
762+
Requires
763+
--------
764+
765+
.. versionadded:: 1.1
766+
.. deprecated:: 1.2
767+
in favour of ``Requires-Dist``
768+
769+
Each entry contains a string describing some other module or package required
770+
by this package.
771+
772+
The format of a requirement string is identical to that of a module or package
773+
name usable with the ‘import’ statement, optionally followed by a version
774+
declaration within parentheses.
775+
776+
A version declaration is a series of conditional operators and version numbers,
777+
separated by commas. Conditional operators must be one of "<", ">"', "<=",
778+
">=", "==", and "!=". Version numbers must be in the format accepted by the
779+
``distutils.version.StrictVersion`` class: two or three dot-separated numeric
780+
components, with an optional "pre-release" tag on the end consisting of the
781+
letter 'a' or 'b' followed by a number. Example version numbers are "1.0",
782+
"2.3a2", "1.3.99",
783+
784+
Any number of conditional operators can be specified, e.g. the string ">1.0,
785+
!=1.3.4, <2.0" is a legal version declaration.
786+
787+
All of the following are possible requirement strings: "rfc822", "zlib
788+
(>=1.1.4)", "zope".
789+
790+
There’s no canonical list of what strings should be used; the Python community
791+
is left to choose its own standards.
792+
793+
Examples::
794+
795+
Requires: re
796+
Requires: sys
797+
Requires: zlib
798+
Requires: xml.parsers.expat (>1.0)
799+
Requires: psycopg
800+
801+
802+
Provides
803+
--------
804+
805+
.. versionadded:: 1.1
806+
.. deprecated:: 1.2
807+
in favour of ``Provides-Dist``
808+
809+
Each entry contains a string describing a package or module that will be
810+
provided by this package once it is installed. These strings should match the
811+
ones used in Requirements fields. A version declaration may be supplied
812+
(without a comparison operator); the package’s version number will be implied
813+
if none is specified.
814+
815+
Examples::
816+
817+
Provides: xml
818+
Provides: xml.utils
819+
Provides: xml.utils.iso8601
820+
Provides: xml.dom
821+
Provides: xmltools (1.3)
822+
823+
824+
Obsoletes
825+
---------
826+
827+
.. versionadded:: 1.1
828+
.. deprecated:: 1.2
829+
in favour of ``Obsoletes-Dist``
830+
831+
Each entry contains a string describing a package or module that this package
832+
renders obsolete, meaning that the two packages should not be installed at the
833+
same time. Version declarations can be supplied.
834+
835+
The most common use of this field will be in case a package name changes, e.g.
836+
Gorgon 2.3 gets subsumed into Torqued Python 1.0. When you install Torqued
837+
Python, the Gorgon package should be removed.
838+
839+
Example::
840+
841+
Obsoletes: Gorgon
842+
843+
758844
----
759845

760846
.. [1] reStructuredText markup:

0 commit comments

Comments
 (0)