mirror of https://github.com/python/cpython
105 lines
3.3 KiB
ReStructuredText
105 lines
3.3 KiB
ReStructuredText
|
.. _packaging-package-index:
|
||
|
|
||
|
**********************************
|
||
|
Registering with the Package Index
|
||
|
**********************************
|
||
|
|
||
|
The Python Package Index (PyPI) holds metadata describing distributions
|
||
|
packaged with packaging. The packaging command :command:`register` is used to
|
||
|
submit your distribution's metadata to the index. It is invoked as follows::
|
||
|
|
||
|
python setup.py register
|
||
|
|
||
|
Distutils will respond with the following prompt::
|
||
|
|
||
|
running register
|
||
|
We need to know who you are, so please choose either:
|
||
|
1. use your existing login,
|
||
|
2. register as a new user,
|
||
|
3. have the server generate a new password for you (and email it to you), or
|
||
|
4. quit
|
||
|
Your selection [default 1]:
|
||
|
|
||
|
Note: if your username and password are saved locally, you will not see this
|
||
|
menu.
|
||
|
|
||
|
If you have not registered with PyPI, then you will need to do so now. You
|
||
|
should choose option 2, and enter your details as required. Soon after
|
||
|
submitting your details, you will receive an email which will be used to confirm
|
||
|
your registration.
|
||
|
|
||
|
Once you are registered, you may choose option 1 from the menu. You will be
|
||
|
prompted for your PyPI username and password, and :command:`register` will then
|
||
|
submit your metadata to the index.
|
||
|
|
||
|
You may submit any number of versions of your distribution to the index. If you
|
||
|
alter the metadata for a particular version, you may submit it again and the
|
||
|
index will be updated.
|
||
|
|
||
|
PyPI holds a record for each (name, version) combination submitted. The first
|
||
|
user to submit information for a given name is designated the Owner of that
|
||
|
name. They may submit changes through the :command:`register` command or through
|
||
|
the web interface. They may also designate other users as Owners or Maintainers.
|
||
|
Maintainers may edit the package information, but not designate other Owners or
|
||
|
Maintainers.
|
||
|
|
||
|
By default PyPI will list all versions of a given package. To hide certain
|
||
|
versions, the Hidden property should be set to yes. This must be edited through
|
||
|
the web interface.
|
||
|
|
||
|
|
||
|
.. _packaging-pypirc:
|
||
|
|
||
|
The .pypirc file
|
||
|
================
|
||
|
|
||
|
The format of the :file:`.pypirc` file is as follows::
|
||
|
|
||
|
[packaging]
|
||
|
index-servers =
|
||
|
pypi
|
||
|
|
||
|
[pypi]
|
||
|
repository: <repository-url>
|
||
|
username: <username>
|
||
|
password: <password>
|
||
|
|
||
|
The *packaging* section defines a *index-servers* variable that lists the
|
||
|
name of all sections describing a repository.
|
||
|
|
||
|
Each section describing a repository defines three variables:
|
||
|
|
||
|
- *repository*, that defines the url of the PyPI server. Defaults to
|
||
|
``http://www.python.org/pypi``.
|
||
|
- *username*, which is the registered username on the PyPI server.
|
||
|
- *password*, that will be used to authenticate. If omitted the user
|
||
|
will be prompt to type it when needed.
|
||
|
|
||
|
If you want to define another server a new section can be created and
|
||
|
listed in the *index-servers* variable::
|
||
|
|
||
|
[packaging]
|
||
|
index-servers =
|
||
|
pypi
|
||
|
other
|
||
|
|
||
|
[pypi]
|
||
|
repository: <repository-url>
|
||
|
username: <username>
|
||
|
password: <password>
|
||
|
|
||
|
[other]
|
||
|
repository: http://example.com/pypi
|
||
|
username: <username>
|
||
|
password: <password>
|
||
|
|
||
|
:command:`register` can then be called with the -r option to point the
|
||
|
repository to work with::
|
||
|
|
||
|
python setup.py register -r http://example.com/pypi
|
||
|
|
||
|
For convenience, the name of the section that describes the repository
|
||
|
may also be used::
|
||
|
|
||
|
python setup.py register -r other
|