Skip to main content

Distutils commands to upload files to several servers

Project description

=======================
collective.dist package
=======================

.. contents::

What is collective.dist ?
=========================

I have added in Python 2.6 a new feature to allow people
to deal with several PyPI-like servers in `.pypirc`.

Basically you can use `register` and `upload` commands on any server
registered in `.pypirc`, which changed a bit.

But Plone and Zope runs on Python 2.4.

So this package adds two new commands so you can use what will be
available in Python 2.6:

- **mupload**: command that allows uploading the package to several servers
- **mregister**: command that allow registering to several servers

This package also provides some new commands that will be introduced
in Python 2.7::

- **check**: command that allows you to check if the metadata are compliant.
It checks for example that long_description compiles in reSt.

How to use collective.dist ?
============================

**mregister** and **mupload** are replacing `register` and `upload` commands
and work with an extended version of the `.pypirc` file.

In order to work with it, change your `.pypirc` file this way::

[distutils]
index-servers =
pypi

[pypi]
username:user
password:password

Where `user` and `password` are your `PyPI` users.

With the latest changes, if *password* is omitted the user will be prompt
to type it when needed.

You can then start to use the `mregister` and `mupload` commands, instead
of the usual `register` and `upload` calls.

A typical call to upload your file would be::

pythonsetup.pymregistersdistmuploadTodealwithseveralPyPIlikeservers,youcanaddtheminyour.pypircfile.Forexample,ifyouwanttobeabletopushyourpackagesto:PyPIplone.orgyourownprivatePyPI(byusingPloneSoftwareCenterforexample)Youcanwriteyour.pypircfilelikethis::[distutils]indexservers=pypiplone.orgmycompany[pypi]username:userpassword:password[plone.org]repository:http://plone.org/productsusername:ploneuserpassword:password[plone.org]repository:http://my.company/productsusername:userpassword:passwordFromthere,youwillbeabletoworkwiththedifferentservers,withtheroption:: python setup.py mregister sdist mupload -r http://plone.org

You can even use the section name instead of the url::

pythonsetup.pymregistersdistmuploadrplone.orgIfyourpackageusessetuptools,youcanevencreatealiasestosimplifythecommand:: python setup.py alias plone_release mregister sdist mupload -r plone.org # creates the alias
$ python setup.py plone_release # run the whole sequence

Another usage is to deal with several profiles on PyPI itself::

[distutils]
index-servers =
pypi
pypi-personal

[pypi]
username:user
password:password

[pypi-personal]
username:user2
password:password2

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page