Skip to content

Commit 8726db1

Browse files
authored
Merge pull request #1138 from venthur/added_obsolete
Added obsolete fields: requires, provides and obsoletes
2 parents 9a79022 + b42e89f commit 8726db1

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
@@ -761,6 +761,92 @@ Examples::
761761
Obsoletes-Dist: OtherProject (<3.0)
762762
Obsoletes-Dist: Foo; os_name == "posix"
763763

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

766852
.. [1] reStructuredText markup:

0 commit comments

Comments
 (0)