[Catalog-sig] PyPI's external packages
M.-A. Lemburg
mal at egenix.com
Mon May 16 11:44:55 CEST 2011
Tres Seaver wrote:
> On 05/13/2011 01:12 PM, exarkun at twistedmatrix.com wrote:
>> On 03:21 pm, merwok at netwok.org wrote:
>>> Le 12/05/2011 21:04, exarkun at twistedmatrix.com a ýcrit :
>>>> On 03:57 pm, ziade.tarek at gmail.com wrote:
>>>>> [...]
>>>>> I'll definitely do something in distutils2 but maybe someone has a
>>>>> better idea ?
>>>> Make it easier to upload packages to PyPI. For example, [...]
>>>> make "upload" work even if the package files exist on
>>>> the filesystem somewhere already.
>>>
>>> You 19re referring to the fact that 1Cupload 1D won 19t push files already
>>> present in dist/, right?
>
>> More or less, yes.
>>> I don 19t know whether this was a design choice
>>> of Martin or merely done for code simplicity, but currently the command
>>> will only push files that are products of a command run from the same
>>> command line, e.g. 1Csdist upload 1D. If you run 1Csdist and then 1Csdist
>>> upload 1D, is the sdist recreated even though there have been no changes
>>> to the files?
>
>> Yes, the sdist is recreated.
>>>
>>> If no, having to run 1Csdist upload 1D is not inefficient, and makes you
>>> be
>>> explicit about the files you want to push, which is IMO good. Do you
>>> agree?
>>>
>>> If yes, I think it 19s a bug.
>
>> I'm not concerned about the efficiency, though. I'm concerned about the
>> quality of the build. I want to generate a release, *test it*, and then
>> upload it. Being forced to generate it and upload it at the same time
>> gets in the way of this.
>
> ISTM that if you run 'python setup.py sdist' a second time and get a
> different result (without changing any included files), then you have a
> built-in quality problem *in your setup.py.*
Just to clarify: creating an sdist really only means copying
over the files from the MANIFEST into a temporary dir and then
running tar or zip on the temporary directory. You can tell
distutils to keep the temporary dir around by using the --keep-temp
option on sdist. This will reduce the operation to just running
the archiver on the temp dir again.
The same can be done for bdist_* commands by having distutils
skip the build process.
Since I don't see how such trivial operations can affect the
quality of the code, the discussion sounds a bit artificial :-)
Note that if you want to do full testing of a release, you'll
have to download the package from PyPI and then run the tests
on the downloaded archive to be sure that things work - everything
else is just preparation for this final run :-)
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, May 16 2011)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2011-06-20: EuroPython 2011, Florence, Italy 35 days to go
::: Try our new mxODBC.Connect Python Database Interface for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/
More information about the Catalog-SIG
mailing list