blob: cd1d5986312b69d680bd317a5d1d0e3a5f9d5083 [file] [log] [blame]
Éric Araujo3a9f58f2011-06-01 20:42:49 +02001.. _packaging-package-index:
2
3**********************************
4Registering with the Package Index
5**********************************
6
7The Python Package Index (PyPI) holds metadata describing distributions
8packaged with packaging. The packaging command :command:`register` is used to
9submit your distribution's metadata to the index. It is invoked as follows::
10
11 python setup.py register
12
13Distutils will respond with the following prompt::
14
15 running register
16 We need to know who you are, so please choose either:
17 1. use your existing login,
18 2. register as a new user,
19 3. have the server generate a new password for you (and email it to you), or
20 4. quit
21 Your selection [default 1]:
22
23Note: if your username and password are saved locally, you will not see this
24menu.
25
26If you have not registered with PyPI, then you will need to do so now. You
27should choose option 2, and enter your details as required. Soon after
28submitting your details, you will receive an email which will be used to confirm
29your registration.
30
31Once you are registered, you may choose option 1 from the menu. You will be
32prompted for your PyPI username and password, and :command:`register` will then
33submit your metadata to the index.
34
35You may submit any number of versions of your distribution to the index. If you
36alter the metadata for a particular version, you may submit it again and the
37index will be updated.
38
39PyPI holds a record for each (name, version) combination submitted. The first
40user to submit information for a given name is designated the Owner of that
41name. They may submit changes through the :command:`register` command or through
42the web interface. They may also designate other users as Owners or Maintainers.
43Maintainers may edit the package information, but not designate other Owners or
44Maintainers.
45
46By default PyPI will list all versions of a given package. To hide certain
47versions, the Hidden property should be set to yes. This must be edited through
48the web interface.
49
50
51.. _packaging-pypirc:
52
53The .pypirc file
54================
55
56The format of the :file:`.pypirc` file is as follows::
57
58 [packaging]
59 index-servers =
60 pypi
61
62 [pypi]
63 repository: <repository-url>
64 username: <username>
65 password: <password>
66
67The *packaging* section defines a *index-servers* variable that lists the
68name of all sections describing a repository.
69
70Each section describing a repository defines three variables:
71
72- *repository*, that defines the url of the PyPI server. Defaults to
73 ``http://www.python.org/pypi``.
74- *username*, which is the registered username on the PyPI server.
75- *password*, that will be used to authenticate. If omitted the user
76 will be prompt to type it when needed.
77
78If you want to define another server a new section can be created and
79listed in the *index-servers* variable::
80
81 [packaging]
82 index-servers =
83 pypi
84 other
85
86 [pypi]
87 repository: <repository-url>
88 username: <username>
89 password: <password>
90
91 [other]
92 repository: http://example.com/pypi
93 username: <username>
94 password: <password>
95
96:command:`register` can then be called with the -r option to point the
97repository to work with::
98
99 python setup.py register -r http://example.com/pypi
100
101For convenience, the name of the section that describes the repository
102may also be used::
103
104 python setup.py register -r other