<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-2933</id>
	<title>Nabble - Python - distutils-sig</title>
	<updated>2009-12-22T18:14:13Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Python---distutils-sig-f2933.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python---distutils-sig-f2933.html" />
	<subtitle type="html">Python Distribution Utilities</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26897199</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T18:14:13Z</published>
	<updated>2009-12-22T18:14:13Z</updated>
	<author>
		<name>David Lyon</name>
	</author>
	<content type="html">On Wed, 23 Dec 2009 02:58:10 +0100, &amp;quot;Martin v. Löwis&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26897199&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;martin@...&lt;/a&gt;&amp;gt;
&lt;br&gt;wrote:
&lt;br&gt;&amp;gt;&amp;gt; However, under Windows 7 Enterprise, with a high security policy. It's 
&lt;br&gt;&amp;gt;&amp;gt; totally impossible now to install the same package, even if python has 
&lt;br&gt;&amp;gt;&amp;gt; been installed by the system administrator. It won't let you run .exe
&lt;br&gt;&amp;gt;&amp;gt; files.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I don't think that's the case - Windows 7 most certainly lets you run
&lt;br&gt;&amp;gt; exe files.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; IOW, I don't know what the problem might be that you are experiencing.
&lt;br&gt;&lt;br&gt;Sorry for the noise. It's something to do with the new security policy that
&lt;br&gt;I don't understand. It won't run any program but the installed programs.
&lt;br&gt;&lt;br&gt;Thanks for asking - Merry Christmas
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26897199&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26897199.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26897064</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T17:58:10Z</published>
	<updated>2009-12-22T17:58:10Z</updated>
	<author>
		<name>&quot;Martin v. Löwis&quot;</name>
	</author>
	<content type="html">&amp;gt; However, under Windows 7 Enterprise, with a high security policy. It's 
&lt;br&gt;&amp;gt; totally impossible now to install the same package, even if python has 
&lt;br&gt;&amp;gt; been installed by the system administrator. It won't let you run .exe
&lt;br&gt;&amp;gt; files.
&lt;br&gt;&lt;br&gt;I don't think that's the case - Windows 7 most certainly lets you run
&lt;br&gt;exe files.
&lt;br&gt;&lt;br&gt;IOW, I don't know what the problem might be that you are experiencing.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Martin
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26897064&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26897064.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26897095</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T17:56:13Z</published>
	<updated>2009-12-22T17:56:13Z</updated>
	<author>
		<name>David Lyon</name>
	</author>
	<content type="html">On Wed, 23 Dec 2009 01:01:11 +0100, Lennart Regebro &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26897095&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;regebro@...&lt;/a&gt;&amp;gt;
&lt;br&gt;wrote:
&lt;br&gt;&amp;gt; OK, so in the Perl community there is apparently a lot of confusion on
&lt;br&gt;&amp;gt; what CPAN is. 
&lt;br&gt;&lt;br&gt;CPAN is plain and simple. There is no confusion, because there is
&lt;br&gt;just one 'brand-name' for the whole kit and caboodle. &amp;quot;Packaging&amp;quot;
&lt;br&gt;in the perl world just goes under the name CPAN.
&lt;br&gt;&lt;br&gt;&amp;gt; And in the Python community there is a lot of confusion
&lt;br&gt;&amp;gt; about installation. 
&lt;br&gt;&lt;br&gt;Relatively speaking, yes.
&lt;br&gt;&lt;br&gt;&amp;gt; And although CPAN does't install and has nothing
&lt;br&gt;&amp;gt; to do with installation, people in the Perl community think it does.
&lt;br&gt;&lt;br&gt;That's right. Because of the bundling.
&lt;br&gt;&lt;br&gt;&amp;gt; So according to you, when Perl people say &amp;quot;Python need CPAN&amp;quot; what they
&lt;br&gt;&amp;gt; actually mean, according to you, is &amp;quot;We can't convert one package
&lt;br&gt;&amp;gt; format to another&amp;quot;, because they don't know that CPAN is the archive,
&lt;br&gt;&amp;gt; not the installation program.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is this correct?
&lt;br&gt;&lt;br&gt;The question is a little too complicated to answer directly on 
&lt;br&gt;that wording.
&lt;br&gt;&lt;br&gt;However, a Perl user (speaking for myself) would typically 
&lt;br&gt;know nothing about conversion of different package formats, 
&lt;br&gt;because as far as I am aware the user isn't exposed to that level 
&lt;br&gt;of complexity.
&lt;br&gt;&lt;br&gt;There is no .tar.gz, .zip, .bz2, .exe, .msi or .egg concept of
&lt;br&gt;packages in perl. And having to pick one.. that may or may not
&lt;br&gt;be right for your configuration.
&lt;br&gt;&lt;br&gt;Call a perl user a pampered pooch by all means. But all they 
&lt;br&gt;know is that if they need a module.. then they use CPAN.
&lt;br&gt;&lt;br&gt;Really, some of these questions should go back up the management
&lt;br&gt;chain for answering. We shouldn't be having expectations that
&lt;br&gt;we can write code when drunk, fix it in the morning, and be 
&lt;br&gt;merry and listen to ump-pah-pah music (like CPAN people).
&lt;br&gt;Especially if the development process is to be reading and
&lt;br&gt;commenting on PEPs.
&lt;br&gt;&lt;br&gt;Please.. lets just go back to the work at hand..
&lt;br&gt;&lt;br&gt;This is serious..
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26897095&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26897095.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26896236</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T16:01:11Z</published>
	<updated>2009-12-22T16:01:11Z</updated>
	<author>
		<name>Lennart Regebro-2</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 23:34, David Lyon &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26896236&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;david.lyon@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Oh come on... nobody is saying pypi sucks. Only that the package
&lt;br&gt;&amp;gt; installation experience in python does. In python, these are two
&lt;br&gt;&amp;gt; separate and entirely different things.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Under Perl, the whole thing is just called CPAN.
&lt;br&gt;&lt;br&gt;OK, so in the Perl community there is apparently a lot of confusion on
&lt;br&gt;what CPAN is. And in the Python community there is a lot of confusion
&lt;br&gt;about installation. And although CPAN does't install and has nothing
&lt;br&gt;to do with installation, people in the Perl community think it does.
&lt;br&gt;So according to you, when Perl people say &amp;quot;Python need CPAN&amp;quot; what they
&lt;br&gt;actually mean, according to you, is &amp;quot;We can't convert one package
&lt;br&gt;format to another&amp;quot;, because they don't know that CPAN is the archive,
&lt;br&gt;not the installation program.
&lt;br&gt;&lt;br&gt;Is this correct?
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Lennart Regebro: Python, Zope, Plone, Grok
&lt;br&gt;&lt;a href=&quot;http://regebro.wordpress.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://regebro.wordpress.com/&lt;/a&gt;&lt;br&gt;+33 661 58 14 64
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26896236&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26896236.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26895466</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T14:34:07Z</published>
	<updated>2009-12-22T14:34:07Z</updated>
	<author>
		<name>David Lyon</name>
	</author>
	<content type="html">On Tue, 22 Dec 2009 19:04:00 +0100, Lennart Regebro &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26895466&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;regebro@...&lt;/a&gt;&amp;gt;
&lt;br&gt;wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2009/12/22 David Cournapeau :
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; ..
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The devil is really in the details for packaging, which is why
&lt;br&gt;&amp;gt;&amp;gt; explicit is a very desirable feature. Someone noticed earlier that
&lt;br&gt;&amp;gt;&amp;gt; distutils was the exact contrary of the python zen on some core
&lt;br&gt;&amp;gt;&amp;gt; issues: more than one way to do it, lack of simplicity, often
&lt;br&gt;&amp;gt;&amp;gt; implicit. I think this describe the problem quite well, and I am
&lt;br&gt;&amp;gt;&amp;gt; deeply convinced that that's the root cause of the failure of Pypi for
&lt;br&gt;&amp;gt;&amp;gt; a subset of the community.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Well, you have completely failed in explaining why CPAN is fantastic
&lt;br&gt;&amp;gt; and PyPI sucks, probably because your answer isn't about CPAN at all,
&lt;br&gt;&amp;gt; but just the same old packaging rant. It really grows old you know.
&lt;/div&gt;&lt;br&gt;Oh come on... nobody is saying pypi sucks. Only that the package
&lt;br&gt;installation experience in python does. In python, these are two 
&lt;br&gt;separate and entirely different things.
&lt;br&gt;&lt;br&gt;Under Perl, the whole thing is just called CPAN. There's one CPAN
&lt;br&gt;client that you use (btw - that gets included in your perl
&lt;br&gt;distribution) and it works. &amp;nbsp;
&lt;br&gt;&lt;br&gt;Guido is being harassed about by users from the scientific community
&lt;br&gt;as I understand it. They are after a 'nice' user experience like 
&lt;br&gt;they get in Perl. 
&lt;br&gt;&lt;br&gt;So let me translate as best as I can ...
&lt;br&gt;&lt;br&gt;&amp;quot;Python people want _NICE_USER_EXPERIENCE_ and how
&lt;br&gt;the latter came about&amp;quot;
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26895466&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26895466.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26895090</id>
	<title>Re: Python people want CPAN and how the latter came	about</title>
	<published>2009-12-22T14:02:35Z</published>
	<updated>2009-12-22T14:02:35Z</updated>
	<author>
		<name>David Lyon</name>
	</author>
	<content type="html">On Tue, 22 Dec 2009 19:48:38 +0100, &amp;quot;Martin v. Löwis&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26895090&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;martin@...&lt;/a&gt;&amp;gt;
&lt;br&gt;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; ..
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; There is most certainly a reason. The binary distribution may be lacking
&lt;br&gt;&amp;gt; pieces of source code that would be needed to build another (different)
&lt;br&gt;&amp;gt; binary distribution.
&lt;br&gt;&lt;br&gt;Actually, I have a question about that. I'll just ask here because
&lt;br&gt;you may be able to answer it in 30 seconds but it might take me
&lt;br&gt;a few hours to find out the answer myself.
&lt;br&gt;&lt;br&gt;Under Windows, through the build-msi and build-exe procedure, we
&lt;br&gt;have windows GUI package installers. When I was using one built by Mark 
&lt;br&gt;Hammond the other day, I noticed that it worked pretty fabulously.
&lt;br&gt;&lt;br&gt;However, under Windows 7 Enterprise, with a high security policy. It's 
&lt;br&gt;totally impossible now to install the same package, even if python has 
&lt;br&gt;been installed by the system administrator. It won't let you run .exe
&lt;br&gt;files.
&lt;br&gt;&lt;br&gt;Since this whole approach now seems broken going forward.. what
&lt;br&gt;is going to happen? Can that code be moved somewhere so that it
&lt;br&gt;can install regular (source) packages?
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26895090&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26895090.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26892989</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T11:24:09Z</published>
	<updated>2009-12-22T11:24:09Z</updated>
	<author>
		<name>Robert Kern-2</name>
	</author>
	<content type="html">On 2009-12-22 13:20 PM, &amp;quot;Martin v. Löwis&amp;quot; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Yes, that use case is rare (and bizarre), but the desire to convert
&lt;br&gt;&amp;gt;&amp;gt; Windows-platform eggs to .msi or .exe installers is not so rare and does
&lt;br&gt;&amp;gt;&amp;gt; not present the same level of difficulty. The latter is the use case
&lt;br&gt;&amp;gt;&amp;gt; David was referring to, not the one you outlined.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Why do people want to do that? Can't they build the type of package they
&lt;br&gt;&amp;gt; want from the source package?
&lt;br&gt;&lt;br&gt;Not necessarily on Windows.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Robert Kern
&lt;br&gt;&lt;br&gt;&amp;quot;I have come to believe that the whole world is an enigma, a harmless enigma
&lt;br&gt;&amp;nbsp; that is made terrible by our own mad attempt to interpret it as though it had
&lt;br&gt;&amp;nbsp; an underlying truth.&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp;-- Umberto Eco
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26892989&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26892989.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26892931</id>
	<title>Re: Python people want CPAN and how the latter came	about</title>
	<published>2009-12-22T11:20:17Z</published>
	<updated>2009-12-22T11:20:17Z</updated>
	<author>
		<name>&quot;Martin v. Löwis&quot;</name>
	</author>
	<content type="html">&amp;gt; Yes, that use case is rare (and bizarre), but the desire to convert
&lt;br&gt;&amp;gt; Windows-platform eggs to .msi or .exe installers is not so rare and does
&lt;br&gt;&amp;gt; not present the same level of difficulty. The latter is the use case
&lt;br&gt;&amp;gt; David was referring to, not the one you outlined.
&lt;br&gt;&lt;br&gt;Why do people want to do that? Can't they build the type of package they
&lt;br&gt;want from the source package?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Martin
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26892931&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26892931.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26892620</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T10:54:42Z</published>
	<updated>2009-12-22T10:54:42Z</updated>
	<author>
		<name>Robert Kern-2</name>
	</author>
	<content type="html">On 2009-12-22 12:48 PM, &amp;quot;Martin v. Löwis&amp;quot; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; By installer, I mean things produced by bdist_*. A significant portion
&lt;br&gt;&amp;gt;&amp;gt; of windows users don't like eggs, and prefer .exe-based (or
&lt;br&gt;&amp;gt;&amp;gt; .msi-based) installers. Currently, it is not possible to (reliably)
&lt;br&gt;&amp;gt;&amp;gt; convert from one to the other (e.g. eggs-&amp;gt;wininst), but there is no
&lt;br&gt;&amp;gt;&amp;gt; reason why this is so.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; There is most certainly a reason. The binary distribution may be lacking
&lt;br&gt;&amp;gt; pieces of source code that would be needed to build another (different)
&lt;br&gt;&amp;gt; binary distribution.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For example, if you have a Linux RPM or .deb, it is, in general, not
&lt;br&gt;&amp;gt; possible to create a Windows installer out of this, as you may need
&lt;br&gt;&amp;gt; to recompile extension modules. Including the full source code in the
&lt;br&gt;&amp;gt; binary distribution just to support this rare use case is unreasonable:
&lt;br&gt;&amp;gt; people who want a different package format can build from the source
&lt;br&gt;&amp;gt; package.
&lt;/div&gt;&lt;br&gt;Yes, that use case is rare (and bizarre), but the desire to convert 
&lt;br&gt;Windows-platform eggs to .msi or .exe installers is not so rare and does not 
&lt;br&gt;present the same level of difficulty. The latter is the use case David was 
&lt;br&gt;referring to, not the one you outlined.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Robert Kern
&lt;br&gt;&lt;br&gt;&amp;quot;I have come to believe that the whole world is an enigma, a harmless enigma
&lt;br&gt;&amp;nbsp; that is made terrible by our own mad attempt to interpret it as though it had
&lt;br&gt;&amp;nbsp; an underlying truth.&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp;-- Umberto Eco
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26892620&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26892620.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26892530</id>
	<title>Re: Python people want CPAN and how the latter came	about</title>
	<published>2009-12-22T10:48:38Z</published>
	<updated>2009-12-22T10:48:38Z</updated>
	<author>
		<name>&quot;Martin v. Löwis&quot;</name>
	</author>
	<content type="html">&amp;gt; By installer, I mean things produced by bdist_*. A significant portion
&lt;br&gt;&amp;gt; of windows users don't like eggs, and prefer .exe-based (or
&lt;br&gt;&amp;gt; .msi-based) installers. Currently, it is not possible to (reliably)
&lt;br&gt;&amp;gt; convert from one to the other (e.g. eggs-&amp;gt;wininst), but there is no
&lt;br&gt;&amp;gt; reason why this is so.
&lt;br&gt;&lt;br&gt;There is most certainly a reason. The binary distribution may be lacking
&lt;br&gt;pieces of source code that would be needed to build another (different)
&lt;br&gt;binary distribution.
&lt;br&gt;&lt;br&gt;For example, if you have a Linux RPM or .deb, it is, in general, not
&lt;br&gt;possible to create a Windows installer out of this, as you may need
&lt;br&gt;to recompile extension modules. Including the full source code in the
&lt;br&gt;binary distribution just to support this rare use case is unreasonable:
&lt;br&gt;people who want a different package format can build from the source
&lt;br&gt;package.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Martin
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26892530&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26892530.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26892137</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T10:15:30Z</published>
	<updated>2009-12-22T10:15:30Z</updated>
	<author>
		<name>Lennart Regebro-2</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 10:14, Steffen Mueller &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26892137&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;smueller@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Lennart,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Lennart Regebro &amp;lt;regebro &amp;lt;at&amp;gt; gmail.com&amp;gt; writes:
&lt;br&gt;&amp;gt;&amp;gt; Interesting. I generally don't find automatically generated
&lt;br&gt;&amp;gt;&amp;gt; documentation useful, but if it works for PERL I guess that's a
&lt;br&gt;&amp;gt;&amp;gt; personal taste.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Let me add two nits here:
&lt;br&gt;&amp;gt; It's Perl, not PERL. The name of the language is *not* an acronym. Some people
&lt;br&gt;&amp;gt; are really picky about that.
&lt;/div&gt;&lt;br&gt;In a language where you can spell any functionality in millions of
&lt;br&gt;ways, you are not allowed to spell the language however you want!? ;-)
&lt;br&gt;Ok, Pörl. I mean Perl. :-)
&lt;br&gt;&lt;br&gt;&amp;gt; More importantly, it's not &amp;quot;auto-generated&amp;quot; documentation per se. Not something
&lt;br&gt;&amp;gt; like using doxygen to generate an API reference purely from the function/method
&lt;br&gt;&amp;gt; name and signature. Instead, search.cpan.org (and kobesearch) extract the
&lt;br&gt;&amp;gt; inlined documentation from the Perl modules. This documentation was written by
&lt;br&gt;&amp;gt; the authors. It was *not* generated from the code itself. Here's what that looks
&lt;br&gt;&amp;gt; like for a random one of my modules:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://search.cpan.org/~smueller/PAR-Repository-Client/lib/PAR/Repository/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://search.cpan.org/~smueller/PAR-Repository-Client/lib/PAR/Repository/&lt;/a&gt;&lt;br&gt;&amp;gt; Client.pm
&lt;br&gt;&lt;br&gt;OK, so that would be docstrings and stuff then. It's true, if we had
&lt;br&gt;something like that it would work as an incentive for making more such
&lt;br&gt;documentation.
&lt;br&gt;&lt;br&gt;&amp;gt; You could get the same page via
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://search.cpan.org/perldoc?PAR::Repository::Client&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://search.cpan.org/perldoc?PAR::Repository::Client&lt;/a&gt;. This is an example of
&lt;br&gt;&amp;gt; how CPAN works on namespace and distribution level. After a new file is
&lt;br&gt;&amp;gt; uploaded, its contained namespaces (packages/class names) are added to the
&lt;br&gt;&amp;gt; index if they're not already there.
&lt;br&gt;&lt;br&gt;How does it handle if two modules implement the same namespace?
&lt;br&gt;&lt;br&gt;&amp;gt; The index always contains a reference to
&lt;br&gt;&amp;gt; the distribution that contains the newest *authorized* version of any
&lt;br&gt;&amp;gt; namespace.
&lt;br&gt;&lt;br&gt;Who authorizes it?
&lt;br&gt;&lt;br&gt;&amp;gt; We have a band of PAUSE admins with super cow powers to save the day. It's not
&lt;br&gt;&amp;gt; like there's a lot of us, but so far, we've been able to handle authorization
&lt;br&gt;&amp;gt; requests reasonably. Our policy in case an author goes missing who has
&lt;br&gt;&amp;gt; permissions for a certain namespace are documented here:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://search.cpan.org/CPAN/modules/04pause.html#takeover&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://search.cpan.org/CPAN/modules/04pause.html#takeover&lt;/a&gt;&lt;br&gt;&lt;br&gt;I have to say that I vastly prefer not to have any authorization and
&lt;br&gt;allow anyone to release anything in any namespace. But then I am
&lt;br&gt;getting fanatically anarchical in these issues. You can not organize
&lt;br&gt;freedom.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; So far we have identified a &amp;quot;show all versions&amp;quot; link, and
&lt;br&gt;&amp;gt;&amp;gt; automatically generated documentation. Thanks! Finally something
&lt;br&gt;&amp;gt;&amp;gt; concrete!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In a very concrete context: I really like how search.cpan.org will show you the
&lt;br&gt;&amp;gt; latest stable version by default and provide drop-downs to select any developer
&lt;br&gt;&amp;gt; (alpha) or old releases. It also has nice, consistent URLs as demonstrated
&lt;br&gt;&amp;gt; above. ...~author will get me to author's overview page, .../dist/XXX will get
&lt;br&gt;&amp;gt; me to the XXX distribution's overview, etc. Accessing any files within each
&lt;br&gt;&amp;gt; distribution is possible via similar URLs.
&lt;/div&gt;&lt;br&gt;The only thing I can see there that's missing is the &amp;quot;drop down&amp;quot;, or
&lt;br&gt;link to a list of all versions or similar. That would also make it
&lt;br&gt;easier to make alpha versions, they would be easily viewable, but not
&lt;br&gt;shown and listed by default.
&lt;br&gt;We should suggest that to Martin v Löwis.
&lt;br&gt;&lt;br&gt;&amp;gt; Another point that I really like about the service is that the distribution
&lt;br&gt;&amp;gt; pages provide links to many other related services that are run by other
&lt;br&gt;&amp;gt; volunteers. Take for example &lt;a href=&quot;http://search.cpan.org/dist/PAR-Repository-Client/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://search.cpan.org/dist/PAR-Repository-Client/&lt;/a&gt;&lt;br&gt;&amp;gt; There is a link to cpanforum, specifically the relevant discussion forum for the
&lt;br&gt;&amp;gt; module at hand. It shows a link to the bug/request tracker with the number of
&lt;br&gt;&amp;gt; open bugs, the one next to it will display a nice hierarchical (recursive) list
&lt;br&gt;&amp;gt; of dependencies.
&lt;br&gt;&lt;br&gt;Right, those third-party services doesn't exist for PyPI.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Lennart Regebro: Python, Zope, Plone, Grok
&lt;br&gt;&lt;a href=&quot;http://regebro.wordpress.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://regebro.wordpress.com/&lt;/a&gt;&lt;br&gt;+33 661 58 14 64
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26892137&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26892137.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26891952</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T10:04:00Z</published>
	<updated>2009-12-22T10:04:00Z</updated>
	<author>
		<name>Lennart Regebro-2</name>
	</author>
	<content type="html">2009/12/22 David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26891952&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; By installer, I mean things produced by bdist_*. A significant portion
&lt;br&gt;&amp;gt; of windows users don't like eggs, and prefer .exe-based (or
&lt;br&gt;&amp;gt; .msi-based) installers. Currently, it is not possible to (reliably)
&lt;br&gt;&amp;gt; convert from one to the other (e.g. eggs-&amp;gt;wininst), but there is no
&lt;br&gt;&amp;gt; reason why this is so.
&lt;br&gt;&lt;br&gt;You are right, I can't see any reason why not. Why can't you?
&lt;br&gt;Obviously you can do it from a source distribution, but what
&lt;br&gt;information is missing from the binary distributions?
&lt;br&gt;&lt;br&gt;&amp;gt; You are not wrong, but we are not talking about the same scenario. The
&lt;br&gt;&amp;gt; scenario I care the most is user A build or install a package, and
&lt;br&gt;&amp;gt; user B wants to install it; A may know very little about python.
&lt;br&gt;&lt;br&gt;In which case no sane user B wants to install it. ;)
&lt;br&gt;&lt;br&gt;How is this a different scenario? What scenario was I talking about?
&lt;br&gt;&lt;br&gt;On Tue, Dec 22, 2009 at 14:02, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26891952&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; From the top of my head:
&lt;br&gt;&amp;gt; &amp;nbsp;- how data files are included
&lt;br&gt;&lt;br&gt;Well, there are rules for that, just as with python files, you dont'
&lt;br&gt;have to explicitly specify every file that should be included, thank
&lt;br&gt;god, that would be really annoying.
&lt;br&gt;&lt;br&gt;&amp;nbsp;And this has WHAT to do with CPAN? Just to try to keep even remotely
&lt;br&gt;on topic? Isn't this turning into the usual &amp;quot;distutils sucks and
&lt;br&gt;should be rewritten but I can't explain why and how&amp;quot; rant? And isn't
&lt;br&gt;the answer still: &amp;quot;Well, do it then?&amp;quot;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Features only help as much as long as you agree on the purpose (or
&lt;br&gt;&amp;gt; &amp;quot;state of mind&amp;quot; as I put it). A lot of things I consider misfeatures
&lt;br&gt;&amp;gt; in the whole packaging ecosystem in python are justified by being
&lt;br&gt;&amp;gt; convenience to the developer, at the cost of reliability (at least in
&lt;br&gt;&amp;gt; my opinion).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Data files is my favorite example, as it is deceptively simple
&lt;br&gt;&amp;gt; feature-wise, and yet so confusing. We had 2 emails in the recent days
&lt;br&gt;&amp;gt; on this ML on the topic, and even people very familiar with distutils
&lt;br&gt;&amp;gt; got it wrong. Just considering numpy.distutils/distutils/setuptools,
&lt;br&gt;&amp;gt; there are 5 ways to handle data files at least (data_files,
&lt;br&gt;&amp;gt; package_data, MANIFEST[.in], VCS, add_data_dir). None of them makes it
&lt;br&gt;&amp;gt; easy to install a data file in arbitrary location. I think
&lt;br&gt;&amp;gt; distutils/setuptools lacks a robust way of including data files, but
&lt;br&gt;&amp;gt; it is not as much a feature problem (which could be solved relatively
&lt;br&gt;&amp;gt; easily), as more a problem of what people want.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The devil is really in the details for packaging, which is why
&lt;br&gt;&amp;gt; explicit is a very desirable feature. Someone noticed earlier that
&lt;br&gt;&amp;gt; distutils was the exact contrary of the python zen on some core
&lt;br&gt;&amp;gt; issues: more than one way to do it, lack of simplicity, often
&lt;br&gt;&amp;gt; implicit. I think this describe the problem quite well, and I am
&lt;br&gt;&amp;gt; deeply convinced that that's the root cause of the failure of Pypi for
&lt;br&gt;&amp;gt; a subset of the community.
&lt;/div&gt;&lt;br&gt;Well, you have completely failed in explaining why CPAN is fantastic
&lt;br&gt;and PyPI sucks, probably because your answer isn't about CPAN at all,
&lt;br&gt;but just the same old packaging rant. It really grows old you know.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Lennart Regebro: Python, Zope, Plone, Grok
&lt;br&gt;&lt;a href=&quot;http://regebro.wordpress.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://regebro.wordpress.com/&lt;/a&gt;&lt;br&gt;+33 661 58 14 64
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26891952&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26891952.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26889322</id>
	<title>Re: Swig build_py ran before build_ext</title>
	<published>2009-12-22T06:36:52Z</published>
	<updated>2009-12-22T06:36:52Z</updated>
	<author>
		<name>Jari Pennanen</name>
	</author>
	<content type="html">Here is feature request: &lt;a href=&quot;http://bugs.python.org/issue7562&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.python.org/issue7562&lt;/a&gt;&lt;br&gt;&lt;br&gt;2009/12/22 Tarek Ziadé &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26889322&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ziade.tarek@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Dec 22, 2009 at 10:49 AM, Jari Pennanen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26889322&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jari.pennanen@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Well, if that is so, I will paste my workaround for the sake of
&lt;br&gt;&amp;gt;&amp;gt; completeness if other people come here to wonder:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;   #!/usr/bin/env python
&lt;br&gt;&amp;gt;&amp;gt;   from distutils.core import setup, Extension
&lt;br&gt;&amp;gt;&amp;gt;   from distutils.command.build_py import build_py
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;   dist = setup(...)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;   # Rerun the build_py to ensure that swig generated py files are also copied
&lt;br&gt;&amp;gt;&amp;gt;   build_py = build_py(dist)
&lt;br&gt;&amp;gt;&amp;gt;   build_py.ensure_finalized()
&lt;br&gt;&amp;gt;&amp;gt;   build_py.run()
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Btw, this could be mentioned in
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://docs.python.org/distutils/setupscript.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.python.org/distutils/setupscript.html&lt;/a&gt;&amp;nbsp;since SWIG is rather
&lt;br&gt;&amp;gt;&amp;gt; common tool... it took me a notable time to figure this out.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Having an option to define explicitely a custom order for the
&lt;br&gt;&amp;gt; subcommands for the build command in setup.py sounds like a feature we
&lt;br&gt;&amp;gt; could add.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Please add an issue in bugs.python.org, I'll add Marc-André in cc.
&lt;br&gt;&amp;gt; there and we can investigate in this,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards
&lt;br&gt;&amp;gt; Tarek
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&amp;nbsp; Tmi: Jari Pennanen
&lt;br&gt;&amp;nbsp; Y-tunnus: 1867270-2
&lt;br&gt;&amp;nbsp; Puh: 050 4911400
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26889322&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Swig-build_py-ran-before-build_ext-tp26882828p26889322.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26888499</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T05:35:15Z</published>
	<updated>2009-12-22T05:35:15Z</updated>
	<author>
		<name>Tarek Ziadé</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 2:02 PM, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26888499&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;[..]
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Data files is my favorite example, as it is deceptively simple
&lt;br&gt;&amp;gt; feature-wise, and yet so confusing. We had 2 emails in the recent days
&lt;br&gt;&amp;gt; on this ML on the topic, and even people very familiar with distutils
&lt;br&gt;&amp;gt; got it wrong. Just considering numpy.distutils/distutils/setuptools,
&lt;br&gt;&amp;gt; there are 5 ways to handle data files at least (data_files,
&lt;br&gt;&amp;gt; package_data, MANIFEST[.in], VCS, add_data_dir). None of them makes it
&lt;br&gt;&amp;gt; easy to install a data file in arbitrary location. I think
&lt;br&gt;&amp;gt; distutils/setuptools lacks a robust way of including data files, but
&lt;br&gt;&amp;gt; it is not as much a feature problem (which could be solved relatively
&lt;br&gt;&amp;gt; easily), as more a problem of what people want.
&lt;/div&gt;&lt;br&gt;I'll speak about distutils only here.
&lt;br&gt;&lt;br&gt;That topic is a good example indeed.
&lt;br&gt;&lt;br&gt;See: &lt;a href=&quot;http://bugs.python.org/issue2279&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.python.org/issue2279&lt;/a&gt;&lt;br&gt;&lt;br&gt;1/ Someone added an issue tracker in bugs.python.org because those
&lt;br&gt;data files are
&lt;br&gt;&amp;nbsp; &amp;nbsp; not added unless you add an explicit MANIFEST.in
&lt;br&gt;&lt;br&gt;2/ I worked to change that
&lt;br&gt;&lt;br&gt;3/ it is now included in Python 2.7
&lt;br&gt;&lt;br&gt;So now I am asking you: what do *you* want ?
&lt;br&gt;&lt;br&gt;When you say &amp;quot;which could be solved relatively easily&amp;quot; I suggest that
&lt;br&gt;you take the time to add concise and precise proposals in
&lt;br&gt;bugs.python.org so I can work on them.
&lt;br&gt;&lt;br&gt;And when you say &amp;quot;even people very familiar with distutils got it
&lt;br&gt;wrong&amp;quot; I suggest that you also take the time to propose some doc
&lt;br&gt;fixes, or points its lacking in the tracker.
&lt;br&gt;&lt;br&gt;Distutils has now a maintainer, and that would be me. In two days, it
&lt;br&gt;will be one year exactly since I've taken over the maintenance and
&lt;br&gt;I've done so far 185 commits in the distutils package,
&lt;br&gt;and 15 commits in its documentation and this rate is going to increase
&lt;br&gt;once the PEPs we are building are accepted. &amp;nbsp;Unfortunately I can't
&lt;br&gt;make it a great package in just one year, and there is a huge amount
&lt;br&gt;of work left to be done.
&lt;br&gt;&lt;br&gt;So I suggest that you take the chance to help me fixing the stuff you
&lt;br&gt;don't like in that package by feeding the tracker.
&lt;br&gt;&lt;br&gt;Patches welcome ! ;)
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Tarek
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Tarek Ziadé | &lt;a href=&quot;http://ziade.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ziade.org&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26888499&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26888499.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26887998</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T05:02:12Z</published>
	<updated>2009-12-22T05:02:12Z</updated>
	<author>
		<name>David Cournapeau</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 4:43 PM, Lennart Regebro &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26887998&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;regebro@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; On Mon, Dec 21, 2009 at 23:48, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26887998&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; mind&amp;quot;. Reliable packaging requires explicit handling, where the whole
&lt;br&gt;&amp;gt;&amp;gt; python stack for packaging relies a lot on implicit behavior.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Can you give examples of this implicit behaviour?
&lt;br&gt;&lt;br&gt;&amp;gt;From the top of my head:
&lt;br&gt;&amp;nbsp;- how data files are included
&lt;br&gt;&amp;nbsp;- how sdist is produced (a lot of sdist-generated tarballs contain
&lt;br&gt;lot of junk like *.pyc or egg-info). I think we already had this
&lt;br&gt;discussion, and that I was the only one who thought this was a
&lt;br&gt;problem.
&lt;br&gt;&amp;nbsp;- how files are installed: distutils just copy whatever is in the
&lt;br&gt;build directory for at least some files, so you cannot easily check
&lt;br&gt;which files are installed - hence my proposal on a build manifest to
&lt;br&gt;make this step explicit. This is maybe the number one issue we have in
&lt;br&gt;numpy/scipy where people unfamiliar with distutils warts try to
&lt;br&gt;build/install numpy/scipy.
&lt;br&gt;&lt;br&gt;&amp;gt; It's not worse, it's the same.But it's admittedly a big lack of
&lt;br&gt;&amp;gt; feature in the current Python situation, yes. But it's also not a
&lt;br&gt;&amp;gt; question of &amp;quot;CPAN&amp;quot;, is it? CPAN doesn't uninstall things.
&lt;br&gt;&lt;br&gt;Yes, CPAN does not uninstall things, which is why I was making the
&lt;br&gt;difference betwen explicitely uninstally things and (implicitely)
&lt;br&gt;uninstalling beforere reinstalling things. The former would not be
&lt;br&gt;done though CPAN, the later would.
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Up until this, you wore concrete and could explain exactly what you
&lt;br&gt;&amp;gt; didn't like. You are partly incorrect and for some reason very angry,
&lt;br&gt;&amp;gt; which is nonconstructive but beside the point. Your claim that it's
&lt;br&gt;&amp;gt; not of features and concrete problems but a &amp;quot;state of mind&amp;quot; was
&lt;br&gt;&amp;gt; countered by your concrete answers. ;-)
&lt;br&gt;&lt;br&gt;Features only help as much as long as you agree on the purpose (or
&lt;br&gt;&amp;quot;state of mind&amp;quot; as I put it). A lot of things I consider misfeatures
&lt;br&gt;in the whole packaging ecosystem in python are justified by being
&lt;br&gt;convenience to the developer, at the cost of reliability (at least in
&lt;br&gt;my opinion).
&lt;br&gt;&lt;br&gt;Data files is my favorite example, as it is deceptively simple
&lt;br&gt;feature-wise, and yet so confusing. We had 2 emails in the recent days
&lt;br&gt;on this ML on the topic, and even people very familiar with distutils
&lt;br&gt;got it wrong. Just considering numpy.distutils/distutils/setuptools,
&lt;br&gt;there are 5 ways to handle data files at least (data_files,
&lt;br&gt;package_data, MANIFEST[.in], VCS, add_data_dir). None of them makes it
&lt;br&gt;easy to install a data file in arbitrary location. I think
&lt;br&gt;distutils/setuptools lacks a robust way of including data files, but
&lt;br&gt;it is not as much a feature problem (which could be solved relatively
&lt;br&gt;easily), as more a problem of what people want.
&lt;br&gt;&lt;br&gt;The devil is really in the details for packaging, which is why
&lt;br&gt;explicit is a very desirable feature. Someone noticed earlier that
&lt;br&gt;distutils was the exact contrary of the python zen on some core
&lt;br&gt;issues: more than one way to do it, lack of simplicity, often
&lt;br&gt;implicit. I think this describe the problem quite well, and I am
&lt;br&gt;deeply convinced that that's the root cause of the failure of Pypi for
&lt;br&gt;a subset of the community.
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26887998&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26887998.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26886262</id>
	<title>Re: Swig build_py ran before build_ext</title>
	<published>2009-12-22T02:19:46Z</published>
	<updated>2009-12-22T02:19:46Z</updated>
	<author>
		<name>Tarek Ziadé</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 10:49 AM, Jari Pennanen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26886262&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jari.pennanen@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Well, if that is so, I will paste my workaround for the sake of
&lt;br&gt;&amp;gt; completeness if other people come here to wonder:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;   #!/usr/bin/env python
&lt;br&gt;&amp;gt;   from distutils.core import setup, Extension
&lt;br&gt;&amp;gt;   from distutils.command.build_py import build_py
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;   dist = setup(...)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;   # Rerun the build_py to ensure that swig generated py files are also copied
&lt;br&gt;&amp;gt;   build_py = build_py(dist)
&lt;br&gt;&amp;gt;   build_py.ensure_finalized()
&lt;br&gt;&amp;gt;   build_py.run()
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Btw, this could be mentioned in
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://docs.python.org/distutils/setupscript.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.python.org/distutils/setupscript.html&lt;/a&gt;&amp;nbsp;since SWIG is rather
&lt;br&gt;&amp;gt; common tool... it took me a notable time to figure this out.
&lt;/div&gt;&lt;br&gt;Having an option to define explicitely a custom order for the
&lt;br&gt;subcommands for the build command in setup.py sounds like a feature we
&lt;br&gt;could add.
&lt;br&gt;&lt;br&gt;Please add an issue in bugs.python.org, I'll add Marc-André in cc.
&lt;br&gt;there and we can investigate in this,
&lt;br&gt;&lt;br&gt;Regards
&lt;br&gt;Tarek
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26886262&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Swig-build_py-ran-before-build_ext-tp26882828p26886262.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26885943</id>
	<title>Re: Swig build_py ran before build_ext</title>
	<published>2009-12-22T01:49:22Z</published>
	<updated>2009-12-22T01:49:22Z</updated>
	<author>
		<name>Jari Pennanen</name>
	</author>
	<content type="html">Well, if that is so, I will paste my workaround for the sake of
&lt;br&gt;completeness if other people come here to wonder:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;#!/usr/bin/env python
&lt;br&gt;&amp;nbsp; &amp;nbsp;from distutils.core import setup, Extension
&lt;br&gt;&amp;nbsp; &amp;nbsp;from distutils.command.build_py import build_py
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;dist = setup(...)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;# Rerun the build_py to ensure that swig generated py files are also copied
&lt;br&gt;&amp;nbsp; &amp;nbsp;build_py = build_py(dist)
&lt;br&gt;&amp;nbsp; &amp;nbsp;build_py.ensure_finalized()
&lt;br&gt;&amp;nbsp; &amp;nbsp;build_py.run()
&lt;br&gt;&lt;br&gt;Btw, this could be mentioned in
&lt;br&gt;&lt;a href=&quot;http://docs.python.org/distutils/setupscript.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.python.org/distutils/setupscript.html&lt;/a&gt;&amp;nbsp;since SWIG is rather
&lt;br&gt;common tool... it took me a notable time to figure this out.
&lt;br&gt;&lt;br&gt;(Sorry about duplicate mail)
&lt;br&gt;&lt;br&gt;2009/12/22 David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26885943&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Dec 22, 2009 at 7:16 AM, Jari Pennanen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26885943&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jari.pennanen@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi!
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I have old/new problem, once mentioned in 2004 at this same mailing
&lt;br&gt;&amp;gt;&amp;gt; list ( &lt;a href=&quot;http://mail.python.org/pipermail/distutils-sig/2004-March/003807.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/pipermail/distutils-sig/2004-March/003807.html&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; ) but surely that implementation is bad... But the problem persists, I
&lt;br&gt;&amp;gt;&amp;gt; use SWIG and had to Google all over to only find out build order
&lt;br&gt;&amp;gt;&amp;gt; cannot be changed.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Someone should implement build_order keyword argument to setup, e.g.:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;    setup(..., build_order=['build_ext', 'build_py'])
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; If some orders are missing, like in above example: build_clib,
&lt;br&gt;&amp;gt;&amp;gt; build_scripts, they would be appended as last. Anyways, the point is
&lt;br&gt;&amp;gt;&amp;gt; make the build order customizable through setup keyword.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This would need to be tested/confirmed on real packages, but I am
&lt;br&gt;&amp;gt; afraid it would break a lot of packages, especially the ones extending
&lt;br&gt;&amp;gt; distutils.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; cheers,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; David
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&amp;nbsp; Tmi: Jari Pennanen
&lt;br&gt;&amp;nbsp; Y-tunnus: 1867270-2
&lt;br&gt;&amp;nbsp; Puh: 050 4911400
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26885943&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Swig-build_py-ran-before-build_ext-tp26882828p26885943.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26885617</id>
	<title>Re: Python people want CPAN and how the latter came	about</title>
	<published>2009-12-22T01:14:38Z</published>
	<updated>2009-12-22T01:14:38Z</updated>
	<author>
		<name>Steffen Mueller-6</name>
	</author>
	<content type="html">Hi Lennart,
&lt;br&gt;&lt;br&gt;Lennart Regebro &amp;lt;regebro &amp;lt;at&amp;gt; gmail.com&amp;gt; writes:
&lt;br&gt;&amp;gt; Interesting. I generally don't find automatically generated
&lt;br&gt;&amp;gt; documentation useful, but if it works for PERL I guess that's a
&lt;br&gt;&amp;gt; personal taste.
&lt;br&gt;&lt;br&gt;Let me add two nits here:
&lt;br&gt;It's Perl, not PERL. The name of the language is *not* an acronym. Some people
&lt;br&gt;are really picky about that.
&lt;br&gt;&lt;br&gt;More importantly, it's not &amp;quot;auto-generated&amp;quot; documentation per se. Not something
&lt;br&gt;like using doxygen to generate an API reference purely from the function/method
&lt;br&gt;name and signature. Instead, search.cpan.org (and kobesearch) extract the
&lt;br&gt;inlined documentation from the Perl modules. This documentation was written by
&lt;br&gt;the authors. It was *not* generated from the code itself. Here's what that looks
&lt;br&gt;like for a random one of my modules:
&lt;br&gt;&lt;a href=&quot;http://search.cpan.org/~smueller/PAR-Repository-Client/lib/PAR/Repository/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://search.cpan.org/~smueller/PAR-Repository-Client/lib/PAR/Repository/&lt;/a&gt;&lt;br&gt;Client.pm
&lt;br&gt;&lt;br&gt;You could get the same page via
&lt;br&gt;&lt;a href=&quot;http://search.cpan.org/perldoc?PAR::Repository::Client&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://search.cpan.org/perldoc?PAR::Repository::Client&lt;/a&gt;. This is an example of
&lt;br&gt;how CPAN works on namespace and distribution level. After a new file is
&lt;br&gt;uploaded, its contained namespaces (packages/class names) are added to the
&lt;br&gt;index if they're not already there. The index always contains a reference to
&lt;br&gt;the distribution that contains the newest *authorized* version of any
&lt;br&gt;namespace. Thus, you can access the distribution directly like in the first
&lt;br&gt;URL or have search.cpan.org go from package name to the most recent
&lt;br&gt;authorized version automatically (via the perldoc link).
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; 4. Namespaces and some way of reserving them. There are likely many
&lt;br&gt;&amp;gt; &amp;gt; modules named postgresql on PyPI, but there's only one DBD::Pg (although
&lt;br&gt;&amp;gt; &amp;gt; there are other PostgreSQL modules that implement the perl DBI driver
&lt;br&gt;&amp;gt; &amp;gt; interface). This also helps with specifying dependencies.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; There is no reserving in the Python world, that's true. I'm skeptical.
&lt;br&gt;&amp;gt; There's enough problems with packages not being updated, we don't want
&lt;br&gt;&amp;gt; that for namespaces too, that would be terrible.
&lt;br&gt;&lt;br&gt;We have a band of PAUSE admins with super cow powers to save the day. It's not
&lt;br&gt;like there's a lot of us, but so far, we've been able to handle authorization
&lt;br&gt;requests reasonably. Our policy in case an author goes missing who has
&lt;br&gt;permissions for a certain namespace are documented here:
&lt;br&gt;&lt;a href=&quot;http://search.cpan.org/CPAN/modules/04pause.html#takeover&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://search.cpan.org/CPAN/modules/04pause.html#takeover&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; It definitely appears to have the framework, but lacks some finishing
&lt;br&gt;&amp;gt; &amp;gt; touches that would enormously enhance usability.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So far we have identified a &amp;quot;show all versions&amp;quot; link, and
&lt;br&gt;&amp;gt; automatically generated documentation. Thanks! Finally something
&lt;br&gt;&amp;gt; concrete! 
&lt;br&gt;&lt;br&gt;In a very concrete context: I really like how search.cpan.org will show you the
&lt;br&gt;latest stable version by default and provide drop-downs to select any developer
&lt;br&gt;(alpha) or old releases. It also has nice, consistent URLs as demonstrated
&lt;br&gt;above. ...~author will get me to author's overview page, .../dist/XXX will get
&lt;br&gt;me to the XXX distribution's overview, etc. Accessing any files within each
&lt;br&gt;distribution is possible via similar URLs.
&lt;br&gt;&lt;br&gt;Another point that I really like about the service is that the distribution
&lt;br&gt;pages provide links to many other related services that are run by other
&lt;br&gt;volunteers. Take for example &lt;a href=&quot;http://search.cpan.org/dist/PAR-Repository-Client/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://search.cpan.org/dist/PAR-Repository-Client/&lt;/a&gt;&lt;br&gt;There is a link to cpanforum, specifically the relevant discussion forum for the
&lt;br&gt;module at hand. It shows a link to the bug/request tracker with the number of
&lt;br&gt;open bugs, the one next to it will display a nice hierarchical (recursive) list
&lt;br&gt;of dependencies. Again. Run by another volunteer. The line below is dedicated to
&lt;br&gt;CPAN testers results. It shows the number of FAIL/PASS/UNKNOWN results followed
&lt;br&gt;by a link to the page with the raw reports and -- this is extremely useful as an
&lt;br&gt;author -- a colourful matrix that shows the test results depending on perl
&lt;br&gt;version and operating system. My example in this mail is not a very widely used
&lt;br&gt;module. Thus, the matrix is somewhat sparse, too:
&lt;br&gt;&lt;a href=&quot;http://matrix.cpantesters.org/?dist=PAR-Repository-Client+0.25&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://matrix.cpantesters.org/?dist=PAR-Repository-Client+0.25&lt;/a&gt;. But it clearly
&lt;br&gt;shows my module isn't compatible to really old versions of Perl (5.6). In some
&lt;br&gt;other cases, I might learn that it isn't working well on some operating system
&lt;br&gt;because its column is red or yellow. Here's an example of a more widely used and
&lt;br&gt;installed distribution: &lt;a href=&quot;http://matrix.cpantesters.org/?dist=Data-Dumper+2.125&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://matrix.cpantesters.org/?dist=Data-Dumper+2.125&lt;/a&gt;.
&lt;br&gt;As an author, these tools help me identify weak points or portability problems
&lt;br&gt;in my software. As a user, this can help me understand whether I really want to
&lt;br&gt;rely on this piece of software for my business. Everyone wins.
&lt;br&gt;&lt;br&gt;Please don't take any of this the wrong way. I'm not trying to say &amp;quot;look what we
&lt;br&gt;can do and you don't&amp;quot; at all. Not only do I have no idea what the python tools
&lt;br&gt;look like, but in the previous two paragraphs, I am really just trying to point
&lt;br&gt;out a few technical strong points of various CPAN-related services that are very
&lt;br&gt;valuable to me as a user, developer and contributor.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;Steffen
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26885617&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26885617.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26885090</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T00:11:38Z</published>
	<updated>2009-12-22T00:11:38Z</updated>
	<author>
		<name>David Cournapeau</name>
	</author>
	<content type="html">2009/12/22 Lennart Regebro &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26885090&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;regebro@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; On Tue, Dec 22, 2009 at 02:07, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26885090&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; But there is much more than what PEP 314 defines. Think about
&lt;br&gt;&amp;gt;&amp;gt; everything which is in an egg, for example. How are files locations
&lt;br&gt;&amp;gt;&amp;gt; are described, how are files outside site-packages described, etc...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What do you mean &amp;quot;how&amp;quot;?
&lt;br&gt;&lt;br&gt;This is answered in my another email (build manifest and eggs).
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; As a concrete example, there is not enough metadata in every installer
&lt;br&gt;&amp;gt;&amp;gt; so that you can convert from one to the other, even though this would
&lt;br&gt;&amp;gt;&amp;gt; be very useful and definitely possible.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This I don't understand. What do you mean with &amp;quot;installer&amp;quot;? What kind
&lt;br&gt;&amp;gt; of conversions do you refer to?
&lt;br&gt;&lt;br&gt;By installer, I mean things produced by bdist_*. A significant portion
&lt;br&gt;of windows users don't like eggs, and prefer .exe-based (or
&lt;br&gt;.msi-based) installers. Currently, it is not possible to (reliably)
&lt;br&gt;convert from one to the other (e.g. eggs-&amp;gt;wininst), but there is no
&lt;br&gt;reason why this is so.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; For example, you can upload a distribution which does not even have a
&lt;br&gt;&amp;gt;&amp;gt; name, or a version, easy_install tries to find tarballs by scrapping
&lt;br&gt;&amp;gt;&amp;gt; webpages, etc...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Well, if you like your distribution to be called UNKNOWN-0.0, then I
&lt;br&gt;&amp;gt; guess you can. But you also get warnings like this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; warning: sdist: standard file not found: should have one of README, README.txt
&lt;br&gt;&amp;gt; warning: sdist: missing required meta-data: name, url
&lt;br&gt;&amp;gt; warning: sdist: missing meta-data: either (author and author_email) or
&lt;br&gt;&amp;gt; (maintainer and maintainer_email) must be supplied
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In my opinion that's your problem of you ignore those
&lt;/div&gt;&lt;br&gt;You are not wrong, but we are not talking about the same scenario. The
&lt;br&gt;scenario I care the most is user A build or install a package, and
&lt;br&gt;user B wants to install it; A may know very little about python.
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26885090&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26885090.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26885031</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-22T00:02:28Z</published>
	<updated>2009-12-22T00:02:28Z</updated>
	<author>
		<name>Lennart Regebro-2</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 02:07, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26885031&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; But there is much more than what PEP 314 defines. Think about
&lt;br&gt;&amp;gt; everything which is in an egg, for example. How are files locations
&lt;br&gt;&amp;gt; are described, how are files outside site-packages described, etc...
&lt;br&gt;&lt;br&gt;What do you mean &amp;quot;how&amp;quot;?
&lt;br&gt;&lt;br&gt;&amp;gt; As a concrete example, there is not enough metadata in every installer
&lt;br&gt;&amp;gt; so that you can convert from one to the other, even though this would
&lt;br&gt;&amp;gt; be very useful and definitely possible.
&lt;br&gt;&lt;br&gt;This I don't understand. What do you mean with &amp;quot;installer&amp;quot;? What kind
&lt;br&gt;of conversions do you refer to?
&lt;br&gt;&lt;br&gt;&amp;gt; For example, you can upload a distribution which does not even have a
&lt;br&gt;&amp;gt; name, or a version, easy_install tries to find tarballs by scrapping
&lt;br&gt;&amp;gt; webpages, etc...
&lt;br&gt;&lt;br&gt;Well, if you like your distribution to be called UNKNOWN-0.0, then I
&lt;br&gt;guess you can. But you also get warnings like this:
&lt;br&gt;&lt;br&gt;warning: sdist: standard file not found: should have one of README, README.txt
&lt;br&gt;warning: sdist: missing required meta-data: name, url
&lt;br&gt;warning: sdist: missing meta-data: either (author and author_email) or
&lt;br&gt;(maintainer and maintainer_email) must be supplied
&lt;br&gt;&lt;br&gt;In my opinion that's your problem of you ignore those, but maybe I'm
&lt;br&gt;wrong. Convince me.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Lennart Regebro: Python, Zope, Plone, Grok
&lt;br&gt;&lt;a href=&quot;http://regebro.wordpress.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://regebro.wordpress.com/&lt;/a&gt;&lt;br&gt;+33 661 58 14 64
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26885031&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26885031.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26884877</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-21T23:43:05Z</published>
	<updated>2009-12-21T23:43:05Z</updated>
	<author>
		<name>Lennart Regebro-2</name>
	</author>
	<content type="html">On Mon, Dec 21, 2009 at 23:48, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26884877&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; mind&amp;quot;. Reliable packaging requires explicit handling, where the whole
&lt;br&gt;&amp;gt; python stack for packaging relies a lot on implicit behavior.
&lt;br&gt;&lt;br&gt;Can you give examples of this implicit behaviour?
&lt;br&gt;&lt;br&gt;&amp;gt;  - distutils (and most tools on top) throw away metadata, and then
&lt;br&gt;&amp;gt; other tools try to guess them back.
&lt;br&gt;&lt;br&gt;What metadata is thrown away?
&lt;br&gt;&lt;br&gt;&amp;gt; tools try to add another level of complexity to circumvent it. The
&lt;br&gt;&amp;gt; fact that python has something like 5 or 6 tools to deploy things
&lt;br&gt;&amp;gt; where most other languages have only one or two is quite striking.
&lt;br&gt;&lt;br&gt;Can you list these 5 or 6 tools to deploy, because I'm only aware of
&lt;br&gt;two, easy_install and pip. And in the current refactoring of
&lt;br&gt;Distribute, easy_install is going away.
&lt;br&gt;&lt;br&gt;&amp;gt;  - Linked to the above, metadata are not enforced in pypi. This just
&lt;br&gt;&amp;gt; cannot work. Most other systems in existence enforce strict rules.
&lt;br&gt;&lt;br&gt;It is working, right now, so that's a strange claim. Obviously, you
&lt;br&gt;are less likely to use a package with less metadata, but that's the
&lt;br&gt;package authors problem, not your, or?
&lt;br&gt;&lt;br&gt;&amp;gt; For example, when you
&lt;br&gt;&amp;gt; install a package, the previous installation is not removed. Worse,
&lt;br&gt;&amp;gt; there is no way to correctly uninstall things
&lt;br&gt;&lt;br&gt;It's not worse, it's the same. But it's admittedly a big lack of
&lt;br&gt;feature in the current Python situation, yes. But it's also not a
&lt;br&gt;question of &amp;quot;CPAN&amp;quot;, is it? CPAN doesn't uninstall things. It's a
&lt;br&gt;package repository. In any case this is a well known problem being
&lt;br&gt;looked at and in the process of being solved.
&lt;br&gt;&lt;br&gt;&amp;gt;  - etc...
&lt;br&gt;&lt;br&gt;Up until this, you wore concrete and could explain exactly what you
&lt;br&gt;didn't like. You are partly incorrect and for some reason very angry,
&lt;br&gt;which is nonconstructive but beside the point. Your claim that it's
&lt;br&gt;not of features and concrete problems but a &amp;quot;state of mind&amp;quot; was
&lt;br&gt;countered by your concrete answers. ;-)
&lt;br&gt;&lt;br&gt;Now if you cool down a bit we probably can find the actual problems. :-)
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Lennart Regebro: Python, Zope, Plone, Grok
&lt;br&gt;&lt;a href=&quot;http://regebro.wordpress.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://regebro.wordpress.com/&lt;/a&gt;&lt;br&gt;+33 661 58 14 64
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26884877&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26884877.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26883445</id>
	<title>Re: Specifying eggs and build manifest ?</title>
	<published>2009-12-21T19:21:07Z</published>
	<updated>2009-12-21T19:21:07Z</updated>
	<author>
		<name>David Cournapeau</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 11:06 AM, Tarek Ziadé &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883445&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ziade.tarek@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; If you are referring to the installation format, Distribute wants to
&lt;br&gt;&amp;gt; drop any extra format in the future and stick with a unique, standard
&lt;br&gt;&amp;gt; format described in PEP 376 to avoid having an heterogeneous
&lt;br&gt;&amp;gt; site-packages.
&lt;br&gt;&lt;br&gt;Does that mean that eggs would be &amp;quot;deprecated&amp;quot; ?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; I like the idea
&lt;br&gt;&lt;br&gt;Cool :)
&lt;br&gt;&lt;br&gt;Here is what I got so far. I have my small own packaging solution, and
&lt;br&gt;a small utility called toymaker, which works as steps (toymaker
&lt;br&gt;configure, toymaker build, etc...). For this discussion, the only
&lt;br&gt;thing to know is that toymaker build produces this build manifest, and
&lt;br&gt;both toymaker install/build_egg read this build manifest to produce
&lt;br&gt;the install target.
&lt;br&gt;&lt;br&gt;Right now, the format I use is ad-hoc, what matters at this point is
&lt;br&gt;the information it describes, and anything is open to changes if
&lt;br&gt;anyone has a better idea on a particular point. There are three
&lt;br&gt;sections:
&lt;br&gt;&amp;nbsp;- A copy of PKG-INFO data in a simple form for easy parsing
&lt;br&gt;&amp;nbsp;- A variable section, containing paths (bindir, libdir, etc..) and executables
&lt;br&gt;&amp;nbsp;- A files section, which contains subsections of files to install.
&lt;br&gt;&lt;br&gt;For example, for sphinx, toymaker build produces this
&lt;br&gt;&lt;br&gt;name=Sphinx
&lt;br&gt;license=BSD
&lt;br&gt;author=Georg Brandl
&lt;br&gt;url=&lt;a href=&quot;http://sphinx.pocoo.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sphinx.pocoo.org/&lt;/a&gt;&lt;br&gt;top_levels=sphinx
&lt;br&gt;download_url=&lt;a href=&quot;http://pypi.python.org/pypi/Sphinx&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pypi.python.org/pypi/Sphinx&lt;/a&gt;&lt;br&gt;summary=Python documentation generator
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883445&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;author_email=georg@...&lt;/a&gt;
&lt;br&gt;version=0.6.3
&lt;br&gt;platforms=any
&lt;br&gt;install_requires=Pygments&amp;gt;=0.8
&lt;br&gt;install_requires=Jinja2&amp;gt;=2.1
&lt;br&gt;install_requires=docutils&amp;gt;=0.4
&lt;br&gt;classifiers=Development Status :: 4 - Beta
&lt;br&gt;classifiers=Environment :: Console
&lt;br&gt;classifiers=Environment :: Web Environment
&lt;br&gt;classifiers=Intended Audience :: Developers
&lt;br&gt;classifiers=License :: OSI Approved :: BSD License
&lt;br&gt;classifiers=Operating System :: OS Independent
&lt;br&gt;classifiers=Programming Language :: Python
&lt;br&gt;classifiers=Topic :: Documentation
&lt;br&gt;classifiers=Topic :: Utilities
&lt;br&gt;description=Sphinx is a tool that makes it easy to create intelligent
&lt;br&gt;and beautiful
&lt;br&gt;description=documentation for Python projects (or other documents consisting of
&lt;br&gt;description=multiple reStructuredText sources), written by Georg Brandl.
&lt;br&gt;description=It was originally created to translate the new Python documentation,
&lt;br&gt;description=but has now been cleaned up in the hope that it will be
&lt;br&gt;useful to many
&lt;br&gt;description=other projects.
&lt;br&gt;description=
&lt;br&gt;description=Sphinx uses reStructuredText as its markup language, and
&lt;br&gt;many of its strengths
&lt;br&gt;description=come from the power and straightforwardness of
&lt;br&gt;reStructuredText and its
&lt;br&gt;description=parsing and translating suite, the Docutils.
&lt;br&gt;description=
&lt;br&gt;description=Although it is still under constant development, the
&lt;br&gt;following features
&lt;br&gt;description=are already present, work fine and can be seen &amp;quot;in action&amp;quot;
&lt;br&gt;in the Python docs:
&lt;br&gt;description=
&lt;br&gt;description=* Output formats: HTML (including Windows HTML Help),
&lt;br&gt;plain text and LaTeX,
&lt;br&gt;description= &amp;nbsp;for printable PDF versions
&lt;br&gt;description=* Extensive cross-references: semantic markup and automatic links
&lt;br&gt;description= &amp;nbsp;for functions, classes, glossary terms and similar
&lt;br&gt;pieces of information
&lt;br&gt;description=* Hierarchical structure: easy definition of a document
&lt;br&gt;tree, with automatic
&lt;br&gt;description= &amp;nbsp;links to siblings, parents and children
&lt;br&gt;description=* Automatic indices: general index as well as a module index
&lt;br&gt;description=* Code handling: automatic highlighting using the Pygments
&lt;br&gt;highlighter
&lt;br&gt;description=* Various extensions are available, e.g. for automatic
&lt;br&gt;testing of snippets
&lt;br&gt;description= &amp;nbsp;and inclusion of appropriately formatted docstrings.
&lt;br&gt;description=
&lt;br&gt;description=A development egg can be found `here
&lt;br&gt;description=&amp;lt;&lt;a href=&quot;http://bitbucket.org/birkenfeld/sphinx/get/tip.gz#egg=Sphinx-dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bitbucket.org/birkenfeld/sphinx/get/tip.gz#egg=Sphinx-dev&lt;/a&gt;&amp;gt;`_.
&lt;br&gt;!- VARIABLES
&lt;br&gt;paths
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pkgname=Sphinx
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; datarootdir=$prefix/share
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; eprefix=$prefix
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sitedir=$libdir/python$py_version_short/site-packages
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; libdir=$eprefix/lib
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prefix=/usr/local
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; py_version_short=2.6
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gendatadir=$sitedir
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; datadir=$datarootdir
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; includedir=$prefix/include
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sbindir=$eprefix/sbin
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pkgdatadir=$datadir/$pkgname
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bindir=$eprefix/bin
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mandir=$datarootdir/man
&lt;br&gt;executables
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sphinx-build=sphinx:main
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sphinx-quickstart=sphinx.quickstart:main
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sphinx-autogen=sphinx.ext.autosummary.generate:main
&lt;br&gt;!- FILELIST
&lt;br&gt;executables:sphinx-build
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; srcdir=build/scripts-2.6
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; target=$bindir
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sphinx-build
&lt;br&gt;executables:sphinx-quickstart
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; srcdir=build/scripts-2.6
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; target=$bindir
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sphinx-quickstart
&lt;br&gt;executables:sphinx-autogen
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; srcdir=build/scripts-2.6
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; target=$bindir
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sphinx-autogen
&lt;br&gt;datafiles:gendata_sphinx_locale
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&lt;br&gt;The file contains just enough data to build egg and install on disk
&lt;br&gt;ATM, and I include the build manifest in the produced egg so that
&lt;br&gt;conversion to wininst-based (or other types of) installers is
&lt;br&gt;possible. For the file list, each section has the same structure:
&lt;br&gt;&amp;nbsp;- type:name -&amp;gt; type would be used for post-install (byte compile
&lt;br&gt;python files, chmod binaries, etc...), name is not really important,
&lt;br&gt;but it enables having several subsections of the same type (so that
&lt;br&gt;different target/srcdir are possible)
&lt;br&gt;&amp;nbsp;- the next two lines are srcdir and target: target can be a variable
&lt;br&gt;as defined in the path section (this is important to &amp;quot;relocate&amp;quot;
&lt;br&gt;installs in some cases), srcdir is such as every file of the section
&lt;br&gt;can be found in srcdir/file.
&lt;br&gt;&lt;br&gt;Although I have not thought about the problem yet, it should also be
&lt;br&gt;usable for uninstall, and for on-disk query of installed packages. I
&lt;br&gt;should note at this point that it is mostly a rip-off of one concept
&lt;br&gt;in cabal I really like, the installed package information, which is
&lt;br&gt;used for those purposes as well:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.haskell.org/cabal/release/cabal-latest/doc/API/Cabal/Distribution-InstalledPackageInfo.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.haskell.org/cabal/release/cabal-latest/doc/API/Cabal/Distribution-InstalledPackageInfo.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Distribute 0.7 is still under heavy construction, and the goals we have
&lt;br&gt;&amp;gt; about the installation features are not fully defined yet. What we want for
&lt;br&gt;&amp;gt; sure is to make it the laboratory of Distutils to improve things in smaller
&lt;br&gt;&amp;gt; cycles than python. And having a better build description sounds like
&lt;br&gt;&amp;gt; something we could use/have.
&lt;br&gt;&lt;br&gt;I could start implementing it within distutils/Distribute, at least
&lt;br&gt;for the parts which I guess will be the least controversial (the FILE
&lt;br&gt;section and the path variables), and specify the exact file format.
&lt;br&gt;&lt;br&gt;I think it should be possible for the install command of distribute to
&lt;br&gt;only rely on this file - this would actually be a good test, comparing
&lt;br&gt;installs with the old and the new way.
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883445&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Specifying-eggs-and-build-manifest---tp26882731p26883445.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26883289</id>
	<title>Re: Specifying eggs and build manifest ?</title>
	<published>2009-12-21T18:48:39Z</published>
	<updated>2009-12-21T18:48:39Z</updated>
	<author>
		<name>David Cournapeau</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 11:42 AM, P.J. Eby &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883289&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pje@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; At 10:24 AM 12/22/2009 +0900, David Cournapeau wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;  1 Formally specifying the egg format (and versioning it !) - or is
&lt;br&gt;&amp;gt;&amp;gt; egg format outside distribute goal ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; FYI: &lt;a href=&quot;http://peak.telecommunity.com/DevCenter/EggFormats&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://peak.telecommunity.com/DevCenter/EggFormats&lt;/a&gt;&lt;br&gt;&lt;br&gt;I know about this page, but it says
&lt;br&gt;&lt;br&gt;&amp;quot;Instead, this is internal documentation for how those concepts and
&lt;br&gt;features are implemented in concrete terms. It is intended for people
&lt;br&gt;who are working on the setuptools code base, who want to be able to
&lt;br&gt;troubleshoot setuptools problems, want to write code that reads the
&lt;br&gt;file formats involved, or want to otherwise tinker with
&lt;br&gt;setuptools-generated files and directories.&amp;quot;
&lt;br&gt;&lt;br&gt;So unless this description is not accurate anymore, it is not a
&lt;br&gt;specification. I want to build eggs, without having distutils (and
&lt;br&gt;setuptools) involved at all. I would like to be able to do so while
&lt;br&gt;staying compatible with the existing infrastructure, so that if
&lt;br&gt;someone use my own tool instead of setuptools to produce an egg, it
&lt;br&gt;still works as expected with virtualenv, buildout, etc...
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883289&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Specifying-eggs-and-build-manifest---tp26882731p26883289.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26883218</id>
	<title>Re: Specifying eggs and build manifest ?</title>
	<published>2009-12-21T18:42:49Z</published>
	<updated>2009-12-21T18:42:49Z</updated>
	<author>
		<name>P.J. Eby</name>
	</author>
	<content type="html">At 10:24 AM 12/22/2009 +0900, David Cournapeau wrote:
&lt;br&gt;&amp;gt; &amp;nbsp;1 Formally specifying the egg format (and versioning it !) - or is
&lt;br&gt;&amp;gt;egg format outside distribute goal ?
&lt;br&gt;&lt;br&gt;FYI: &lt;a href=&quot;http://peak.telecommunity.com/DevCenter/EggFormats&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://peak.telecommunity.com/DevCenter/EggFormats&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883218&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Specifying-eggs-and-build-manifest---tp26882731p26883218.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26883047</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-21T18:16:26Z</published>
	<updated>2009-12-21T18:16:26Z</updated>
	<author>
		<name>Tarek Ziadé</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 2:58 AM, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883047&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Dec 22, 2009 at 10:50 AM, Tarek Ziadé &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883047&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ziade.tarek@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Two things:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1/ you get warnings if you try to build a distribution with missing metadata
&lt;br&gt;&amp;gt;&amp;gt;    and there's now a command in 2.7 called &amp;quot;check&amp;quot; so you can set a
&lt;br&gt;&amp;gt;&amp;gt; strict control
&lt;br&gt;&amp;gt;&amp;gt;    on client side
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This is nice, I missed this new check feature. This is definitely a
&lt;br&gt;&amp;gt; step in the right direction.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;more on this:
&lt;br&gt;&lt;a href=&quot;http://docs.python.org/dev/distutils/examples.html#checking-a-package&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.python.org/dev/distutils/examples.html#checking-a-package&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883047&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26883047.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882983</id>
	<title>Re: Specifying eggs and build manifest ?</title>
	<published>2009-12-21T18:06:58Z</published>
	<updated>2009-12-21T18:06:58Z</updated>
	<author>
		<name>Tarek Ziadé</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 2:24 AM, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882983&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I wonder if there is any interest in the current distribute effort to
&lt;br&gt;&amp;gt; specify some low-level commonalities outside the distutils code for
&lt;br&gt;&amp;gt; interoperation. In particular, I had two things in mind:
&lt;br&gt;&amp;gt;  1 Formally specifying the egg format (and versioning it !) - or is
&lt;br&gt;&amp;gt; egg format outside distribute goal ?
&lt;br&gt;&lt;br&gt;If you are referring to the installation format, Distribute wants to
&lt;br&gt;drop any extra format in the future and stick with a unique, standard
&lt;br&gt;format described in PEP 376 to avoid having an heterogeneous
&lt;br&gt;site-packages.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;  2 Formally specifying something like a build manifest which would be
&lt;br&gt;&amp;gt; used for installation.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think the first point is self-explanatory. Concerning the second
&lt;br&gt;&amp;gt; point, the current way of installing things in distutils is a bit too
&lt;br&gt;&amp;gt; ad-hoc to my taste, and could be fixed inside distutils to make it
&lt;br&gt;&amp;gt; easier to interoperate with other methods (be it native OS methods or
&lt;br&gt;&amp;gt; other python-related tools). Right now, distutils install things from
&lt;br&gt;&amp;gt; a list of files, but this only contains the target location for some
&lt;br&gt;&amp;gt; kind of files. What about the following kind of format instead (or in
&lt;br&gt;&amp;gt; complement for backward-compatibility):
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;  - split the flat list into a list of &amp;quot;typed&amp;quot; sections, where type
&lt;br&gt;&amp;gt; would be e.g. data, python files, extensions, scripts, etc...
&lt;br&gt;&amp;gt;  - for each section, specify both the source and target directory.
&lt;br&gt;&amp;gt;  - the format should be easy to parse/produce, and versioned.
&lt;/div&gt;&lt;br&gt;I like the idea
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The rationale is that such a format would enable the following:
&lt;br&gt;&amp;gt;  - it becomes easier to post-process files at install time, with
&lt;br&gt;&amp;gt; different methods for each type
&lt;br&gt;&amp;gt;  - such a format could form a basis to produce &amp;quot;conventional&amp;quot; install,
&lt;br&gt;&amp;gt; eggs and other kind of installers, including convertion between them.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Assuming this idea fits into what people involved in distribute are
&lt;br&gt;&amp;gt; doing, I would be willing to propose a more formal description - I
&lt;br&gt;&amp;gt; already have the implementation in my own project toydist, where I use
&lt;br&gt;&amp;gt; build manifest to do explicit install and eggs/wininst conversion.
&lt;/div&gt;&lt;br&gt;Distribute 0.7 is still under heavy construction, and the goals we have
&lt;br&gt;about the installation features are not fully defined yet. What we want for
&lt;br&gt;sure is to make it the laboratory of Distutils to improve things in smaller
&lt;br&gt;cycles than python. And having a better build description sounds like
&lt;br&gt;something we could use/have.
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882983&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Specifying-eggs-and-build-manifest---tp26882731p26882983.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882966</id>
	<title>Re: Swig build_py ran before build_ext</title>
	<published>2009-12-21T18:04:05Z</published>
	<updated>2009-12-21T18:04:05Z</updated>
	<author>
		<name>David Cournapeau</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 7:16 AM, Jari Pennanen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882966&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jari.pennanen@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have old/new problem, once mentioned in 2004 at this same mailing
&lt;br&gt;&amp;gt; list ( &lt;a href=&quot;http://mail.python.org/pipermail/distutils-sig/2004-March/003807.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/pipermail/distutils-sig/2004-March/003807.html&lt;/a&gt;&lt;br&gt;&amp;gt; ) but surely that implementation is bad... But the problem persists, I
&lt;br&gt;&amp;gt; use SWIG and had to Google all over to only find out build order
&lt;br&gt;&amp;gt; cannot be changed.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Someone should implement build_order keyword argument to setup, e.g.:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    setup(..., build_order=['build_ext', 'build_py'])
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If some orders are missing, like in above example: build_clib,
&lt;br&gt;&amp;gt; build_scripts, they would be appended as last. Anyways, the point is
&lt;br&gt;&amp;gt; make the build order customizable through setup keyword.
&lt;/div&gt;&lt;br&gt;This would need to be tested/confirmed on real packages, but I am
&lt;br&gt;afraid it would break a lot of packages, especially the ones extending
&lt;br&gt;distutils.
&lt;br&gt;&lt;br&gt;cheers,
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882966&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Swig-build_py-ran-before-build_ext-tp26882828p26882966.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882936</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-21T17:58:48Z</published>
	<updated>2009-12-21T17:58:48Z</updated>
	<author>
		<name>David Cournapeau</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 10:50 AM, Tarek Ziadé &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882936&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ziade.tarek@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Two things:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1/ you get warnings if you try to build a distribution with missing metadata
&lt;br&gt;&amp;gt;    and there's now a command in 2.7 called &amp;quot;check&amp;quot; so you can set a
&lt;br&gt;&amp;gt; strict control
&lt;br&gt;&amp;gt;    on client side
&lt;br&gt;&lt;br&gt;This is nice, I missed this new check feature. This is definitely a
&lt;br&gt;step in the right direction.
&lt;br&gt;&lt;br&gt;&amp;gt; Are you referring to the install schemes ? these schemes are described
&lt;br&gt;&amp;gt; in the stdlib itself, but are not as detailed as what you could find
&lt;br&gt;&amp;gt; in Debian for sure.
&lt;br&gt;&lt;br&gt;I have started a new thread with a more details explanation, since
&lt;br&gt;this is not directly related to PyPi (although it is important to make
&lt;br&gt;installing from Pypi more robust IMHO).
&lt;br&gt;&lt;br&gt;cheers,
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882936&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26882936.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882882</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-21T17:50:38Z</published>
	<updated>2009-12-21T17:50:38Z</updated>
	<author>
		<name>Tarek Ziadé</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 2:07 AM, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882882&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;[..]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The &amp;quot;metadata&amp;quot;, as defined in PEP 314,
&lt;br&gt;&amp;gt;&amp;gt; are not thrown away by Distutils, but properly uploaded at PyPI.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; But there is much more than what PEP 314 defines.
&lt;br&gt;&lt;br&gt;Then that's not the metadata as defined in python packaging, but some
&lt;br&gt;other information
&lt;br&gt;you are talking about.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;Think about
&lt;br&gt;&amp;gt; everything which is in an egg, for example. How are files locations
&lt;br&gt;&amp;gt; are described, how are files outside site-packages described, etc...
&lt;br&gt;&amp;gt; As a concrete example, there is not enough metadata in every installer
&lt;br&gt;&amp;gt; so that you can convert from one to the other, even though this would
&lt;br&gt;&amp;gt; be very useful and definitely possible.
&lt;br&gt;&amp;gt; So it is not just metadata at the &amp;quot;input&amp;quot; stage (although there is
&lt;br&gt;&amp;gt; certainly a lot of things lost there too), but how they are
&lt;br&gt;&amp;gt; represented internally, and how they are represented in the various
&lt;br&gt;&amp;gt; installers. This matters a lot for people who extend distutils.
&lt;/div&gt;&lt;br&gt;I think you are talking about internal representation of elements in an archive
&lt;br&gt;built by distutils here, which is different from the metadata that describes the
&lt;br&gt;project/release and pushed at PyPI.
&lt;br&gt;&lt;br&gt;There's no need to publish and share those extra information unless you want
&lt;br&gt;to create some kind of converter.
&lt;br&gt;&lt;br&gt;What's important is to clearly define the metadata of a project, as published
&lt;br&gt;at PyPI and installed on your system. Not the internal cooking of each
&lt;br&gt;installer.
&lt;br&gt;&lt;br&gt;PEP 376 as a matter of fact, provides API to read/write the metadata
&lt;br&gt;of installed
&lt;br&gt;distributions.
&lt;br&gt;&lt;br&gt;Now, for extending distutils, that's another problem: we already said
&lt;br&gt;that distutils
&lt;br&gt;was hard to extend, and we have proposed some changes for this (for example
&lt;br&gt;to have a configure/build/install scheme), but this has nothing to do
&lt;br&gt;with the published
&lt;br&gt;metadata.
&lt;br&gt;&lt;br&gt;As a matter of fact, I am working on a configure command for
&lt;br&gt;distutils, looking at 4suite's work
&lt;br&gt;I've started a prototype here :
&lt;br&gt;&lt;a href=&quot;http://bitbucket.org/tarek/distutils-configure&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bitbucket.org/tarek/distutils-configure&lt;/a&gt;&amp;nbsp;(early stage)
&lt;br&gt;you are welcome to join :)
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  - Linked to the above, metadata are not enforced in pypi. This just
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; cannot work. Most other systems in existence enforce strict rules.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I am not sure what you mean by enforcing strict rules. You need to be
&lt;br&gt;&amp;gt;&amp;gt; more precise.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For example, you can upload a distribution which does not even have a
&lt;br&gt;&amp;gt; name, or a version, easy_install tries to find tarballs by scrapping
&lt;br&gt;&amp;gt; webpages, etc...
&lt;/div&gt;&lt;br&gt;Two things:
&lt;br&gt;&lt;br&gt;1/ you get warnings if you try to build a distribution with missing metadata
&lt;br&gt;&amp;nbsp; &amp;nbsp; and there's now a command in 2.7 called &amp;quot;check&amp;quot; so you can set a
&lt;br&gt;strict control
&lt;br&gt;&amp;nbsp; &amp;nbsp; on client side
&lt;br&gt;&lt;br&gt;2/ easy_install doesn't &amp;quot;scrap&amp;quot; webpages but uses a protocol implemented
&lt;br&gt;&amp;nbsp; &amp;nbsp; by PyPI - see
&lt;br&gt;&lt;a href=&quot;http://peak.telecommunity.com/DevCenter/EasyInstall#package-index-api&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://peak.telecommunity.com/DevCenter/EasyInstall#package-index-api&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; What do you want to do ? reject any package that doesn't meet some QA tests ?
&lt;br&gt;&amp;gt;&amp;gt; Is PyPI is a community repository, or an entreprise repository ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That's common sense to reject packages which do not define a basic set
&lt;br&gt;&amp;gt; of metadata, and this has nothing to do with enterprise vs community.
&lt;br&gt;&amp;gt; Debian, for example, enforces metadata in its package, and it does not
&lt;br&gt;&amp;gt; qualify as enterprise software to me if the term is meant as the
&lt;br&gt;&amp;gt; opposite of community.
&lt;/div&gt;&lt;br&gt;I am even opposing PyPI to debian packages because PyPI allows
&lt;br&gt;anyone to upload some python code to share, even if it doesn't have
&lt;br&gt;all the required
&lt;br&gt;metadata or QA. Installers are not the only PyPI end users right now.
&lt;br&gt;&lt;br&gt;IOW, you don't have to be a professional packager to publish and share
&lt;br&gt;code at PyPI.
&lt;br&gt;That's how I understand its philosophy and I think it goes pretty well
&lt;br&gt;with Python's own
&lt;br&gt;philosophy.
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I would have understood this frustration a year ago, but now, that's
&lt;br&gt;&amp;gt;&amp;gt; just a free rant/flame  :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have tried to explain several times about describing how files are
&lt;br&gt;&amp;gt; installed where, and everytime I was shut down (not by you). In
&lt;br&gt;&amp;gt; particular, I think I have explained already why I believe PEP 376
&lt;br&gt;&amp;gt; does not solve the issue of interoperation with other installers
&lt;br&gt;&amp;gt; because it loses source/target directory information.
&lt;br&gt;&lt;br&gt;Are you referring to the install schemes ? these schemes are described
&lt;br&gt;in the stdlib itself, but are not as detailed as what you could find
&lt;br&gt;in Debian for sure.
&lt;br&gt;&lt;br&gt;And these scheme only concerns Python locations, because other locations
&lt;br&gt;were a bit out of distutils scope. But some people are working on extending
&lt;br&gt;that in PEP 376 so we can point stuff like man pages etc.
&lt;br&gt;&lt;br&gt;But distutils will never ever compete with debian's dpkg or fedora's
&lt;br&gt;rpm if you need
&lt;br&gt;a full blown packaging system for a given platform. Rather, the best thing we
&lt;br&gt;can do is to make sure those packagers can easily extract info out of
&lt;br&gt;distutils distributions;
&lt;br&gt;&lt;br&gt;if you think this can be improved, if you have examples of info loss,
&lt;br&gt;as you said
&lt;br&gt;that's the perfect thing to throw in the PEP discussions. And if you
&lt;br&gt;already did some months
&lt;br&gt;ago, I am sorry, I think you will have to do it again because that
&lt;br&gt;just means imho that
&lt;br&gt;the &amp;quot;distutils community&amp;quot; was not ready to hear it back then. But it
&lt;br&gt;grew up a little bit since then
&lt;br&gt;so I think it worth a try.
&lt;br&gt;&lt;br&gt;Tarek
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Tarek Ziadé | &lt;a href=&quot;http://ziade.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ziade.org&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882882&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26882882.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882810</id>
	<title>Re: Specifying eggs and build manifest ?</title>
	<published>2009-12-21T17:33:28Z</published>
	<updated>2009-12-21T17:33:28Z</updated>
	<author>
		<name>David Lyon</name>
	</author>
	<content type="html">&lt;br&gt;Just use buildout...
&lt;br&gt;&lt;br&gt;On Tue, 22 Dec 2009 10:24:07 +0900, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882810&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt;
&lt;br&gt;wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I wonder if there is any interest in the current distribute effort to
&lt;br&gt;&amp;gt; specify some low-level commonalities outside the distutils code for
&lt;br&gt;&amp;gt; interoperation. In particular, I had two things in mind:
&lt;br&gt;&amp;gt; &amp;nbsp;1 Formally specifying the egg format (and versioning it !) - or is
&lt;br&gt;&amp;gt; egg format outside distribute goal ?
&lt;br&gt;&amp;gt; &amp;nbsp;2 Formally specifying something like a build manifest which would be
&lt;br&gt;&amp;gt; used for installation.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I think the first point is self-explanatory. Concerning the second
&lt;br&gt;&amp;gt; point, the current way of installing things in distutils is a bit too
&lt;br&gt;&amp;gt; ad-hoc to my taste, and could be fixed inside distutils to make it
&lt;br&gt;&amp;gt; easier to interoperate with other methods (be it native OS methods or
&lt;br&gt;&amp;gt; other python-related tools). Right now, distutils install things from
&lt;br&gt;&amp;gt; a list of files, but this only contains the target location for some
&lt;br&gt;&amp;gt; kind of files. What about the following kind of format instead (or in
&lt;br&gt;&amp;gt; complement for backward-compatibility):
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;- split the flat list into a list of &amp;quot;typed&amp;quot; sections, where type
&lt;br&gt;&amp;gt; would be e.g. data, python files, extensions, scripts, etc...
&lt;br&gt;&amp;gt; &amp;nbsp;- for each section, specify both the source and target directory.
&lt;br&gt;&amp;gt; &amp;nbsp;- the format should be easy to parse/produce, and versioned.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The rationale is that such a format would enable the following:
&lt;br&gt;&amp;gt; &amp;nbsp;- it becomes easier to post-process files at install time, with
&lt;br&gt;&amp;gt; different methods for each type
&lt;br&gt;&amp;gt; &amp;nbsp;- such a format could form a basis to produce &amp;quot;conventional&amp;quot; install,
&lt;br&gt;&amp;gt; eggs and other kind of installers, including convertion between them.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Assuming this idea fits into what people involved in distribute are
&lt;br&gt;&amp;gt; doing, I would be willing to propose a more formal description - I
&lt;br&gt;&amp;gt; already have the implementation in my own project toydist, where I use
&lt;br&gt;&amp;gt; build manifest to do explicit install and eggs/wininst conversion.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; cheers,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; David
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882810&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;/div&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882810&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Specifying-eggs-and-build-manifest---tp26882731p26882810.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882731</id>
	<title>Specifying eggs and build manifest ?</title>
	<published>2009-12-21T17:24:07Z</published>
	<updated>2009-12-21T17:24:07Z</updated>
	<author>
		<name>David Cournapeau</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I wonder if there is any interest in the current distribute effort to
&lt;br&gt;specify some low-level commonalities outside the distutils code for
&lt;br&gt;interoperation. In particular, I had two things in mind:
&lt;br&gt;&amp;nbsp;1 Formally specifying the egg format (and versioning it !) - or is
&lt;br&gt;egg format outside distribute goal ?
&lt;br&gt;&amp;nbsp;2 Formally specifying something like a build manifest which would be
&lt;br&gt;used for installation.
&lt;br&gt;&lt;br&gt;I think the first point is self-explanatory. Concerning the second
&lt;br&gt;point, the current way of installing things in distutils is a bit too
&lt;br&gt;ad-hoc to my taste, and could be fixed inside distutils to make it
&lt;br&gt;easier to interoperate with other methods (be it native OS methods or
&lt;br&gt;other python-related tools). Right now, distutils install things from
&lt;br&gt;a list of files, but this only contains the target location for some
&lt;br&gt;kind of files. What about the following kind of format instead (or in
&lt;br&gt;complement for backward-compatibility):
&lt;br&gt;&lt;br&gt;&amp;nbsp;- split the flat list into a list of &amp;quot;typed&amp;quot; sections, where type
&lt;br&gt;would be e.g. data, python files, extensions, scripts, etc...
&lt;br&gt;&amp;nbsp;- for each section, specify both the source and target directory.
&lt;br&gt;&amp;nbsp;- the format should be easy to parse/produce, and versioned.
&lt;br&gt;&lt;br&gt;The rationale is that such a format would enable the following:
&lt;br&gt;&amp;nbsp;- it becomes easier to post-process files at install time, with
&lt;br&gt;different methods for each type
&lt;br&gt;&amp;nbsp;- such a format could form a basis to produce &amp;quot;conventional&amp;quot; install,
&lt;br&gt;eggs and other kind of installers, including convertion between them.
&lt;br&gt;&lt;br&gt;Assuming this idea fits into what people involved in distribute are
&lt;br&gt;doing, I would be willing to propose a more formal description - I
&lt;br&gt;already have the implementation in my own project toydist, where I use
&lt;br&gt;build manifest to do explicit install and eggs/wininst conversion.
&lt;br&gt;&lt;br&gt;cheers,
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882731&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Specifying-eggs-and-build-manifest---tp26882731p26882731.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882728</id>
	<title>Finishing PEP 345</title>
	<published>2009-12-21T17:13:56Z</published>
	<updated>2009-12-21T17:13:56Z</updated>
	<author>
		<name>&quot;Martin v. Löwis&quot;</name>
	</author>
	<content type="html">&amp;gt; FYI. This Distutils-SIG thread is about proposing PEP 345 and impacts PyPI.
&lt;br&gt;&amp;gt; So if there's anything that look suspicious to anyone, please join the
&lt;br&gt;&amp;gt; discussion at Distutils-SIG
&lt;br&gt;&lt;br&gt;In a number of places (Requires-Dist, Requires-Python), comma-separated
&lt;br&gt;lists of version constraints are used. The PEP needs to specify what the
&lt;br&gt;collective constraint means that gets specified.
&lt;br&gt;&lt;br&gt;Most likely, the intended meaning is that the constraints get
&lt;br&gt;and-combined, in which case the example
&lt;br&gt;&lt;br&gt;Requires-Python: 2.5, 2.6
&lt;br&gt;&lt;br&gt;is non-sensical (no Python release meets that constraint). (else,
&lt;br&gt;if it was meant to denote or-combination, then &amp;quot;&amp;gt;1.0, !=1.3.4, &amp;lt;2.0&amp;quot;
&lt;br&gt;would be non-sensical, specifying no constrating at all)
&lt;br&gt;&lt;br&gt;For the Copyright field, I'm not sure what the purpose of it is.
&lt;br&gt;If it is what I think it is (listing attribution), it should probably
&lt;br&gt;be specified as &amp;quot;multiple use&amp;quot;.
&lt;br&gt;&lt;br&gt;For Documentation, I think the entire field must be reconsidered.
&lt;br&gt;If it is really meant to be reStructuredText, then the spec should
&lt;br&gt;explain how to do leading spaces/indentation.
&lt;br&gt;&lt;br&gt;For Platform, I fail to see the point of supporting both multiple
&lt;br&gt;use, and comma-separated lists.
&lt;br&gt;&lt;br&gt;For Metadata-Version, I think formally, the only legal value according
&lt;br&gt;to the PEP is 1.2. If 1.0 and 1.1 are also conforming values, the PEP
&lt;br&gt;should elaborate what it means to put a different version number into
&lt;br&gt;the field.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Martin
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882728&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Finishing-PEP-345-tp26844442p26882728.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882623</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-21T17:07:07Z</published>
	<updated>2009-12-21T17:07:07Z</updated>
	<author>
		<name>David Cournapeau</name>
	</author>
	<content type="html">On Tue, Dec 22, 2009 at 9:04 AM, Tarek Ziadé &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882623&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ziade.tarek@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Mon, Dec 21, 2009 at 11:48 PM, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882623&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; On Mon, Dec 21, 2009 at 7:13 PM, Lennart Regebro &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882623&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;regebro@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; What nobody still fails to explain in this discussion is what CPAN
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;is&amp;quot; and Why Python doesn't already have it.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; That's not the right question to ask. The problem is not much a
&lt;br&gt;&amp;gt;&amp;gt; feature problem as much as a fundamental implementation and &amp;quot;state of
&lt;br&gt;&amp;gt;&amp;gt; mind&amp;quot;. Reliable packaging requires explicit handling, where the whole
&lt;br&gt;&amp;gt;&amp;gt; python stack for packaging relies a lot on implicit behavior. I don't
&lt;br&gt;&amp;gt;&amp;gt; know much about CPAN, but both CRAN (&amp;quot;CPAN for R&amp;quot;) and hackage (&amp;quot;CPAN
&lt;br&gt;&amp;gt;&amp;gt; for haskell&amp;quot;) work reliably where Pypi often fails, and the reasons
&lt;br&gt;&amp;gt;&amp;gt; are easy to see:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;  - distutils (and most tools on top) throw away metadata, and then
&lt;br&gt;&amp;gt;&amp;gt; other tools try to guess them back. That alone is source of numerous
&lt;br&gt;&amp;gt;&amp;gt; errors, weird hacks, and unexplainable issues. Generally, when there
&lt;br&gt;&amp;gt;&amp;gt; is a design error at some level, instead of fixing it at this level,
&lt;br&gt;&amp;gt;&amp;gt; tools try to add another level of complexity to circumvent it. The
&lt;br&gt;&amp;gt;&amp;gt; fact that python has something like 5 or 6 tools to deploy things
&lt;br&gt;&amp;gt;&amp;gt; where most other languages have only one or two is quite striking.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think you are quite confused here.
&lt;/div&gt;&lt;br&gt;I really don't think I am.
&lt;br&gt;&lt;br&gt;&amp;gt; The &amp;quot;metadata&amp;quot;, as defined in PEP 314,
&lt;br&gt;&amp;gt; are not thrown away by Distutils, but properly uploaded at PyPI.
&lt;br&gt;&lt;br&gt;But there is much more than what PEP 314 defines. Think about
&lt;br&gt;everything which is in an egg, for example. How are files locations
&lt;br&gt;are described, how are files outside site-packages described, etc...
&lt;br&gt;As a concrete example, there is not enough metadata in every installer
&lt;br&gt;so that you can convert from one to the other, even though this would
&lt;br&gt;be very useful and definitely possible.
&lt;br&gt;&lt;br&gt;So it is not just metadata at the &amp;quot;input&amp;quot; stage (although there is
&lt;br&gt;certainly a lot of things lost there too), but how they are
&lt;br&gt;represented internally, and how they are represented in the various
&lt;br&gt;installers. This matters a lot for people who extend distutils.
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;  - Linked to the above, metadata are not enforced in pypi. This just
&lt;br&gt;&amp;gt;&amp;gt; cannot work. Most other systems in existence enforce strict rules.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am not sure what you mean by enforcing strict rules. You need to be
&lt;br&gt;&amp;gt; more precise.
&lt;br&gt;&lt;br&gt;For example, you can upload a distribution which does not even have a
&lt;br&gt;name, or a version, easy_install tries to find tarballs by scrapping
&lt;br&gt;webpages, etc...
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What do you want to do ? reject any package that doesn't meet some QA tests ?
&lt;br&gt;&amp;gt; Is PyPI is a community repository, or an entreprise repository ?
&lt;br&gt;&lt;br&gt;That's common sense to reject packages which do not define a basic set
&lt;br&gt;of metadata, and this has nothing to do with enterprise vs community.
&lt;br&gt;Debian, for example, enforces metadata in its package, and it does not
&lt;br&gt;qualify as enterprise software to me if the term is meant as the
&lt;br&gt;opposite of community.
&lt;br&gt;&lt;br&gt;Those metada are needed, because other tools do use them (e.g.
&lt;br&gt;easy_install, and I guess pip as well).
&lt;br&gt;&lt;br&gt;&amp;gt; I would have understood this frustration a year ago, but now, that's
&lt;br&gt;&amp;gt; just a free rant/flame  :)
&lt;br&gt;&lt;br&gt;I have tried to explain several times about describing how files are
&lt;br&gt;installed where, and everytime I was shut down (not by you). In
&lt;br&gt;particular, I think I have explained already why I believe PEP 376
&lt;br&gt;does not solve the issue of interoperation with other installers
&lt;br&gt;because it loses source/target directory information.
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882623&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26882623.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882600</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-21T16:58:02Z</published>
	<updated>2009-12-21T16:58:02Z</updated>
	<author>
		<name>David Lyon</name>
	</author>
	<content type="html">On Tue, 22 Dec 2009 07:48:55 +0900, David Cournapeau &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882600&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cournape@...&lt;/a&gt;&amp;gt;
&lt;br&gt;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; (cpan) ... is not much a
&lt;br&gt;&amp;gt; feature problem as much as a fundamental implementation and &amp;quot;state of
&lt;br&gt;&amp;gt; mind&amp;quot;. 
&lt;br&gt;&lt;br&gt;Yes. Their state of mind is make it simple and make it work across
&lt;br&gt;the board for everything for everyone.
&lt;br&gt;&lt;br&gt;&amp;gt; Reliable packaging requires explicit handling, where the whole
&lt;br&gt;&amp;gt; python stack for packaging relies a lot on implicit behavior. 
&lt;br&gt;&lt;br&gt;Yep.. That's it in a nutshell.
&lt;br&gt;&lt;br&gt;&amp;gt; (distutils) .. is a design error ... , instead of fixing 
&lt;br&gt;&amp;gt; it at this level, tools try to add another level of complexity 
&lt;br&gt;&amp;gt; to circumvent it. 
&lt;br&gt;&lt;br&gt;This now begs the beer-drinking style (cpan/perl developers understand)
&lt;br&gt;question of what to actually do about this in 2010. 
&lt;br&gt;&lt;br&gt;One thing I'm pretty certain of is that people would prefer to
&lt;br&gt;accomplish something and after that drink beer together. That
&lt;br&gt;was really the secret of the cpan success. They loved the
&lt;br&gt;sense of accomplishment. They loved bragging too - but it
&lt;br&gt;was always a welcoming type of bragging that one could easily
&lt;br&gt;fall in to and feel a part of.
&lt;br&gt;&lt;br&gt;After reading your email David, you leave the reader with no
&lt;br&gt;other conclusion other than a new explicit build tool is
&lt;br&gt;needed for 2010.
&lt;br&gt;&lt;br&gt;Otherwise, we're all going to be sitting helplessly reading
&lt;br&gt;the same old 'how can I tell distutils I want to ...?&amp;quot; for
&lt;br&gt;the whole of the next decade.
&lt;br&gt;&lt;br&gt;At the same time, there won't be much of an effort to
&lt;br&gt;address the design issues you talk about. Simply because
&lt;br&gt;of legacy software syndrome management issues. 
&lt;br&gt;&lt;br&gt;What can be done, if there is good delegation of the
&lt;br&gt;tasks, is for a new pypi toolset (let's not fragment
&lt;br&gt;things and confuse new users with lots of different
&lt;br&gt;names) to be started.
&lt;br&gt;&lt;br&gt;At the highest level, the toolset needs to:
&lt;br&gt;&lt;br&gt;&amp;nbsp;- build python packages/apps from explicit metadata
&lt;br&gt;&lt;br&gt;&amp;nbsp;- upload and register them
&lt;br&gt;&lt;br&gt;&amp;nbsp;- download and install (and the other functions)
&lt;br&gt;&lt;br&gt;I'd toss in a few extra things not in cpan. Like
&lt;br&gt;incorporating buildout support. I don't use it myself
&lt;br&gt;but so many others do.
&lt;br&gt;&lt;br&gt;The bigger issue is about deployment. It's about 
&lt;br&gt;getting python apps/libraries out to all the machines 
&lt;br&gt;out there with as little effort as possible.
&lt;br&gt;&lt;br&gt;The Package concept is based on a static snapshot
&lt;br&gt;idea.
&lt;br&gt;&lt;br&gt;But how much python software is now in mercurial
&lt;br&gt;or bzr repositories ? lots of times software is
&lt;br&gt;slow moving. Yes, we do want that latest bug
&lt;br&gt;fix. Say it didn't work.. jump back a revision
&lt;br&gt;or two.
&lt;br&gt;&lt;br&gt;Is a 'package' really a good way to deploy? I'm
&lt;br&gt;not against them, just suggesting that a
&lt;br&gt;repository link in pypi metadata is an equally
&lt;br&gt;good but perphaps more modern way.
&lt;br&gt;&lt;br&gt;What is python doing or going to do to help us
&lt;br&gt;manage all these deployment issues. At some point
&lt;br&gt;in time the stdlib has got to address lots of
&lt;br&gt;'stuff' landing up on the end machine.
&lt;br&gt;&lt;br&gt;Batteries included has just got to include
&lt;br&gt;built in bzr or mercurial or cvs or svn
&lt;br&gt;support.
&lt;br&gt;&lt;br&gt;Just where I work I've written enough mini apps
&lt;br&gt;for different machines deployment is getting
&lt;br&gt;to be a challenge. Most have scm. But setup from
&lt;br&gt;scratch is still un-optimal imo.
&lt;br&gt;&lt;br&gt;How does our fundamental distutils design cope
&lt;br&gt;with the evolving landscape? including supercomputer
&lt;br&gt;and server farm type requirements. Also just plain
&lt;br&gt;commercial and scientific (workstation) type
&lt;br&gt;implementations.
&lt;br&gt;&lt;br&gt;My list of future packaging/configuration/
&lt;br&gt;deployment projects to interoperate with are
&lt;br&gt;(but not limited to):
&lt;br&gt;&lt;br&gt;&amp;nbsp;- buildout
&lt;br&gt;&lt;br&gt;&amp;nbsp;- celery (&lt;a href=&quot;http://pypi.python.org/pypi/celery/0.3.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pypi.python.org/pypi/celery/0.3.0&lt;/a&gt;)
&lt;br&gt;&lt;br&gt;&amp;nbsp;- pip/distribute/setuptools
&lt;br&gt;&lt;br&gt;&amp;nbsp;- bzr/svn/hg etc
&lt;br&gt;&lt;br&gt;Add to that the web frameworks..
&lt;br&gt;&lt;br&gt;Anyway, you've totally convinced me it's time for
&lt;br&gt;a new pypi package/app build tool.. 
&lt;br&gt;&lt;br&gt;I would like to also suggest that it be built
&lt;br&gt;upon some small python web framework like cherrypy
&lt;br&gt;and fire up a browser for the user to work with.
&lt;br&gt;&lt;br&gt;I don't want another text based command line
&lt;br&gt;program sorry. Maybe it is just a django app.
&lt;br&gt;&lt;br&gt;Anybody adventurous enough to build a package or
&lt;br&gt;an app isn't going to mind installing a small
&lt;br&gt;web app to run on port 8080 or whatever to do
&lt;br&gt;their package build - imo.
&lt;br&gt;&lt;br&gt;Cheers.. drink and be merry
&lt;br&gt;&lt;br&gt;David
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882600&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26882600.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26882243</id>
	<title>Re: Python people want CPAN and how the latter came about</title>
	<published>2009-12-21T16:04:50Z</published>
	<updated>2009-12-21T16:04:50Z</updated>
	<author>
		<name>Glyph Lefkowitz</name>
	</author>
	<content type="html">&lt;br&gt;On Dec 21, 2009, at 5:48 PM, David Cournapeau wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; On Mon, Dec 21, 2009 at 7:13 PM, Lennart Regebro &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882243&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;regebro@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; What nobody still fails to explain in this discussion is what CPAN
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;is&amp;quot; and Why Python doesn't already have it.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; That's not the right question to ask. The problem is not much a
&lt;br&gt;&amp;gt; feature problem as much as a fundamental implementation and &amp;quot;state of
&lt;br&gt;&amp;gt; mind&amp;quot;. Reliable packaging requires explicit handling, where the whole
&lt;br&gt;&amp;gt; python stack for packaging relies a lot on implicit behavior.
&lt;br&gt;&lt;br&gt;It is definitely the right question to ask, and it is very much a feature problem.
&lt;br&gt;&lt;br&gt;The missing feature is &amp;quot;install what I mean&amp;quot;. easy_install is missing by default in most cases, and then broken by default when you install it. &amp;nbsp;If a fresh python install, you cannot just type &amp;quot;easy_install foo&amp;quot;, or even 'cd foo; python setup.py install' and reliably get a copy of 'foo' installed for whatever user asked for it. &amp;nbsp;Instead you get piles of cryptic error messages until you learn how to use it and what command-line options to pass.
&lt;br&gt;&lt;br&gt;Now, CPAN is not perfect, and you can most definitely get cryptic error messages out of it. &amp;nbsp;But, *most of the time*, it just works, and *most of the time*, developers can install dependencies and users can install software without really thinking about it too hard.
&lt;br&gt;&lt;br&gt;Everything you're saying about mindset and standardization may be good, and in fact entirely necessary to achieving this goal. &amp;nbsp;But it is very important that, as a community, we:
&lt;br&gt;&lt;br&gt;&amp;nbsp; A) keep our eyes on the prize, and try to improve the default, out-of-the-box Python package installation experience wherever possible, and
&lt;br&gt;&amp;nbsp; B) be clear about what the prize _is_. &amp;nbsp;It's really important to nail down what it is that we all agree needs to improve. &amp;nbsp;I say this because if someone wants to ask a question like &amp;quot;what is this thing that everyone seems to say we should work on&amp;quot;, I think it's important to answer it.
&lt;br&gt;&lt;br&gt;In one sense of &amp;quot;not a feature problem&amp;quot;, I think you're right. &amp;nbsp;The problem here is not a particular *advanced* feature, some more sophisticated option, although many features might help fix it: the problem is that the user experience of existing functionality is bad.
&lt;br&gt;&lt;br&gt;We're not hearing a lot of lucid articulation of what exactly the &amp;quot;CPAN problem&amp;quot; is, and I believe the reason is that when you actually look at the problems and describe them, they're easy to work around. &amp;nbsp;setup.py install doesn't work for users who aren't root? &amp;nbsp;Well, maybe that's not really a feature problem, it's a documentation problem. &amp;nbsp;For most of us it's pretty easy to set your PATH and PYTHONPATH and type --prefix and --single-version-externally-managed, and then everything works fine. &amp;nbsp;Or use something like virtualenv. &amp;nbsp;Or you can just use Python 2.6 and set only your PATH, as long as you know that Windows keeps things in one directory layout (%APPDATA%/Python) and POSIX another (~/.local/lib/site-packages).
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Distutils-SIG maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26882243&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Distutils-SIG@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mail.python.org/mailman/listinfo/distutils-sig&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail.python.org/mailman/listinfo/distutils-sig&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Python-people-want-CPAN-and-how-the-latter-came-about-tp26864753p26882243.html" />
</entry>

</feed>
