Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread Tarek Ziadé
On Tue, Apr 7, 2009 at 8:47 PM, Lennart Regebro rege...@gmail.com wrote:
 On Tue, Apr 7, 2009 at 20:18, Tarek Ziadé ziade.ta...@gmail.com wrote:
 If anyone wants to work on it, or comment,

 Some comments:

 MANIFEST.in is fine

 Except that it introduces Yet Another Domain Specific Language. Wtf
 does prune mean? It's not obvious. The docs indicate that it
 actually excludes, but why it's not called exclude is then strange.
 We already have a language, Python. We don't need more. ;-)

 And the fact that is uses a separate file doesn't help.

 Yes, I know I'm just whining. But I don't agree that MANIFEST.in is
 fine. I think it is unfine. :)

I agree with this. Remember: I wanted to deprecate MANIFEST.in in favor of
a pure python description. Then people strongly objected.

Tarek
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread Lennart Regebro
On Wed, Apr 8, 2009 at 10:21, Tarek Ziadé ziade.ta...@gmail.com wrote:
 I agree with this. Remember: I wanted to deprecate MANIFEST.in in favor of
 a pure python description. Then people strongly objected.

How many people objected? Would it be OK to only have support for this
in an external plugin, and not in stdlib?

Again, this is of course only possible if the new distutils is called
something else, as we need backwards compatibility for a Very Long
Time if it continues to be called distutils.

-- 
Lennart Regebro: Pythonista, Barista, Notsotrista.
http://regebro.wordpress.com/
+33 661 58 14 64
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread Tarek Ziadé
On Wed, Apr 8, 2009 at 10:30 AM, Lennart Regebro rege...@gmail.com wrote:
 On Wed, Apr 8, 2009 at 10:21, Tarek Ziadé ziade.ta...@gmail.com wrote:
 I agree with this. Remember: I wanted to deprecate MANIFEST.in in favor of
 a pure python description. Then people strongly objected.

 How many people objected? Would it be OK to only have support for this
 in an external plugin, and not in stdlib?

These changes will go into Python current Distutils. You are welcome to help
on enhancing this proposal.


 Again, this is of course only possible if the new distutils is called
 something else, as we need backwards compatibility for a Very Long
 Time if it continues to be called distutils.

We are going to work as we said during the Summit :

- make distutils lighter, and provide better/simpler ways to use it
- include the good bits of setuptools in it
- provide a backport for 2.5/2.6 as soon as 2.7 is out.

I am changing my strategy. Since I am the current Distutils
maintainer, I will take the role of
'packaging dictator' for Python 2.7.

If you think I am missing some points (I am probably), You will need
to complete the wiki pages
or write a new page there explaining what you would like to see
included in Distutils.

But I will not work in flame-threads anymore on my side.

Cheers
Tarek
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread Lennart Regebro
On Wed, Apr 8, 2009 at 12:03, Tarek Ziadé ziade.ta...@gmail.com wrote:
 But I will not work in flame-threads anymore on my side.

Probably a good idea.

The only thing I'm worried about is the fact that you are proposing
both to remove and add things to distutils. Although backports will be
available, how will this work? If I use a new version of distutils,
and somebody uses 2.5 to install my package, how will he know how to
fix the errors that appear? And how will my 2.6 package work under 2.7
if you remove backwards compatibility?

-- 
Lennart Regebro: Pythonista, Barista, Notsotrista.
http://regebro.wordpress.com/
+33 661 58 14 64
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread Tarek Ziadé
On Wed, Apr 8, 2009 at 12:11 PM, Lennart Regebro rege...@gmail.com wrote:
 On Wed, Apr 8, 2009 at 12:03, Tarek Ziadé ziade.ta...@gmail.com wrote:
 But I will not work in flame-threads anymore on my side.

 Probably a good idea.

 The only thing I'm worried about is the fact that you are proposing
 both to remove and add things to distutils. Although backports will be
 available, how will this work? If I use a new version of distutils,
 and somebody uses 2.5 to install my package, how will he know how to
 fix the errors that appear?
And how will my 2.6 package work under 2.7
 if you remove backwards compatibility?

I don't think we want to break any current feature in 2.7, we will
probably just display
deprecation warnings and keep them, then wait until the next python version.

And if someone want to use your package, that uses a new feature
that is not present in 2.5/2.6, he will need to install the backport.

Some good practice will be needed for package developers
for this (maybe a kind error message)

Tarek

-- 
Tarek Ziadé | Association AfPy | www.afpy.org
Blog FR | http://programmation-python.org
Blog EN | http://tarekziade.wordpress.com/
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread Lennart Regebro
On Wed, Apr 8, 2009 at 13:01, Tarek Ziadé ziade.ta...@gmail.com wrote:
 I don't think we want to break any current feature in 2.7, we will
 probably just display
 deprecation warnings and keep them, then wait until the next python version.

 And if someone want to use your package, that uses a new feature
 that is not present in 2.5/2.6, he will need to install the backport.

 Some good practice will be needed for package developers
 for this (maybe a kind error message)

Well, that's survivable, if not ideal.
I would push hard for a rename if I could just come up with a good
name. But I can't. :-)

-- 
Lennart Regebro: Pythonista, Barista, Notsotrista.
http://regebro.wordpress.com/
+33 661 58 14 64
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tarek Ziadé wrote:
 On Tue, Apr 7, 2009 at 8:47 PM, Lennart Regebro rege...@gmail.com wrote:
 On Tue, Apr 7, 2009 at 20:18, Tarek Ziadé ziade.ta...@gmail.com wrote:
 If anyone wants to work on it, or comment,
 Some comments:

 MANIFEST.in is fine
 Except that it introduces Yet Another Domain Specific Language. Wtf
 does prune mean? It's not obvious. The docs indicate that it
 actually excludes, but why it's not called exclude is then strange.
 We already have a language, Python. We don't need more. ;-)

 And the fact that is uses a separate file doesn't help.

 Yes, I know I'm just whining. But I don't agree that MANIFEST.in is
 fine. I think it is unfine. :)
 
 I agree with this. Remember: I wanted to deprecate MANIFEST.in in favor of
 a pure python description. Then people strongly objected.

I want *less* stuff (ideally nothing) spelled in imperative Python, with
some common declarative file replacing both the information currently in
setup.py and MANIFEST.in.  I thought we were in agreement that
non-introspectable metadata was a Bad Thing(TM)?

  http://wiki.python.org/moin/Distutils/StaticMetadata



Tres.
- --
===
Tres Seaver  +1 540-429-0999  tsea...@palladion.com
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJ3JdV+gerLs4ltQ4RAhGbAJ4in8+UOgM5GJ/3ISGfU2VHLVh4tgCg13O1
qx4oVMxLRJXHUz794mW2UyM=
=pgtS
-END PGP SIGNATURE-

___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread Lennart Regebro
On Wed, Apr 8, 2009 at 14:23, Tres Seaver tsea...@palladion.com wrote:
 I want *less* stuff (ideally nothing) spelled in imperative Python, with
 some common declarative file replacing both the information currently in
 setup.py and MANIFEST.in.  I thought we were in agreement that
 non-introspectable metadata was a Bad Thing(TM)?

  http://wiki.python.org/moin/Distutils/StaticMetadata

For me, the important part is that it's not spread around many files.
I would also tend to prefer some INI-type file format than python
code. On the other hand, python code offers benefits such as being
able to dynamically change the data depending on things like module
availability and python version, etc.

-- 
Lennart Regebro: Pythonista, Barista, Notsotrista.
http://regebro.wordpress.com/
+33 661 58 14 64
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread Tarek Ziadé
On Wed, Apr 8, 2009 at 2:23 PM, Tres Seaver tsea...@palladion.com wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Tarek Ziadé wrote:
 On Tue, Apr 7, 2009 at 8:47 PM, Lennart Regebro rege...@gmail.com wrote:
 On Tue, Apr 7, 2009 at 20:18, Tarek Ziadé ziade.ta...@gmail.com wrote:
 If anyone wants to work on it, or comment,
 Some comments:

 MANIFEST.in is fine
 Except that it introduces Yet Another Domain Specific Language. Wtf
 does prune mean? It's not obvious. The docs indicate that it
 actually excludes, but why it's not called exclude is then strange.
 We already have a language, Python. We don't need more. ;-)

 And the fact that is uses a separate file doesn't help.

 Yes, I know I'm just whining. But I don't agree that MANIFEST.in is
 fine. I think it is unfine. :)

 I agree with this. Remember: I wanted to deprecate MANIFEST.in in favor of
 a pure python description. Then people strongly objected.

 I want *less* stuff (ideally nothing) spelled in imperative Python, with
 some common declarative file replacing both the information currently in
 setup.py and MANIFEST.in.  I thought we were in agreement that
 non-introspectable metadata was a Bad Thing(TM)?

  http://wiki.python.org/moin/Distutils/StaticMetadata


I consider the MANIFEST static file itself to be part of the metadata.
and the discussions we had were related to the way to *build* this file.

which is not incompatible to what you have proposed I think.

I can imagine a declaration in setup.cfg to provide the commands the options
to use to build metadata, like:

metadata-builder= LIST OF PLUGINS TO USE

for example, a Mercurial script + a MANIFEST.in reader would write in setup.cfg:

metadata-builder=hg,template

Or someone could write another plugin that  builds the file in
imperative Python, but that is
not part of setup.py.

Maybe we could start to write down examples of such setup.cfg files
for a few project out there, in this wiki page.

Tarek
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread David Cournapeau
Tres Seaver wrote:
 Tarek Ziadé wrote:
  On Tue, Apr 7, 2009 at 8:47 PM, Lennart Regebro rege...@gmail.com
 wrote:
  On Tue, Apr 7, 2009 at 20:18, Tarek Ziadé ziade.ta...@gmail.com
 wrote:
  If anyone wants to work on it, or comment,
  Some comments:
 
  MANIFEST.in is fine
  Except that it introduces Yet Another Domain Specific Language. Wtf
  does prune mean? It's not obvious. The docs indicate that it
  actually excludes, but why it's not called exclude is then strange.
  We already have a language, Python. We don't need more. ;-)
 
  And the fact that is uses a separate file doesn't help.
 
  Yes, I know I'm just whining. But I don't agree that MANIFEST.in is
  fine. I think it is unfine. :)
  I agree with this. Remember: I wanted to deprecate MANIFEST.in in
 favor of
  a pure python description. Then people strongly objected.

 I want *less* stuff (ideally nothing) spelled in imperative Python, with
 some common declarative file replacing both the information currently in
 setup.py and MANIFEST.in.  I thought we were in agreement that
 non-introspectable metadata was a Bad Thing(TM)?

It is possible to use a single, static format which is a bit more
powerful than .ini (to allow conditional and the likes), like haskell
packaging tool does [1] (or rpm .spec file does as well [2]). I am
convinced that such a format would cover many needs without even needing
any python code except a dummy setup file. It also has the advantages
that it can be made compatible with distutils and a potential successor.

This problem has been solved by other people in other communities. It
may not be perfect, but it is certainly better than the current
distutils situation, and it has been widely used,

cheers,

David

[1]
http://www.haskell.org/cabal/release/cabal-1.6.0.2/doc/users-guide/authors.html#pkg-descr
[2] http://www.rpm.org/max-rpm/s1-rpm-inside-conditionals.html
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-08 Thread P.J. Eby

At 02:33 PM 4/8/2009 +0200, Lennart Regebro wrote:

On Wed, Apr 8, 2009 at 14:23, Tres Seaver tsea...@palladion.com wrote:
 I want *less* stuff (ideally nothing) spelled in imperative Python, with
 some common declarative file replacing both the information currently in
 setup.py and MANIFEST.in.  I thought we were in agreement that
 non-introspectable metadata was a Bad Thing(TM)?

  http://wiki.python.org/moin/Distutils/StaticMetadata

For me, the important part is that it's not spread around many files.
I would also tend to prefer some INI-type file format than python
code. On the other hand, python code offers benefits such as being
able to dynamically change the data depending on things like module
availability and python version, etc.


That's why my preference is to make the static format oriented for 
machine-readability rather than human read/write ability.  It should 
then also be possible to generate the static format from Python or 
from other formats, and to define a standard around either setup.py 
commands or something else to let an installer tool request 
generation of the static data.


Like WSGI, the lingua franca needn't be pretty, just 
well-defined.  Heck, I'd almost be willing to use XML for the file 
format, since XML would make it easy to tag files with multiple 
pieces of information, such as this is generated documentation that 
should be installed vs. this is documentation source *and* should 
also be installed (e.g. a README.txt that's also reSTified to 
HTML).  XML also allows the markup vocabulary to be extended, and 
unrecognized markup to be ignored, so that tagging files as 
installable in the general case could allow a dumber installer to 
just install them without needing to know if they're docs or data or 
message catalogs or what.


That being said, if there was a better format than XML (for 
appropriate values of better; i.e. YAML and JSON don't count), I'd 
be happy with that too.


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Plugins for the MANIFEST file

2009-04-07 Thread Lennart Regebro
On Tue, Apr 7, 2009 at 20:18, Tarek Ziadé ziade.ta...@gmail.com wrote:
 If anyone wants to work on it, or comment,

Some comments:

 MANIFEST.in is fine

Except that it introduces Yet Another Domain Specific Language. Wtf
does prune mean? It's not obvious. The docs indicate that it
actually excludes, but why it's not called exclude is then strange.
We already have a language, Python. We don't need more. ;-)

And the fact that is uses a separate file doesn't help.

Yes, I know I'm just whining. But I don't agree that MANIFEST.in is
fine. I think it is unfine. :)

 Like Bill, he is unable to launch the sdist command because he will probably 
 get a incomplete list of files.

Not if the default is all files except well known temporary files. He
might get more files than desired, though.

-- 
Lennart Regebro: Pythonista, Barista, Notsotrista.
http://regebro.wordpress.com/
+33 661 58 14 64
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig