Re: [Python-Dev] Update to Python Documentation Website Request

2009-07-26 Thread Steven D'Aprano
On Sun, 26 Jul 2009 02:32:55 pm David Lyon wrote:

> > In addition to the other constraints you'll have to meet for this
> > to happen, you also have to wait a rather long time (several years)
> > before inclusion becomes possible. This time is necessary for the
> > community to accept your tool, and evaluate it. Ideally, the
> > request for inclusion should not come from you, but from your
> > users.
>
> Yes. But users have been asking for a tool and complaining loudly
> about the lack of such a tool. I know you're an extremely competent
> and those emails you perphaps floss over. But the pleas are many and
> when we compare python to other languages, python rates towards at
> the low end of the spectrum its third party-package management
> facilities.
>
> You can't seriously expect users to wait for years for an integrated
> package management tool. Especially on Windows - that's cruel :-)

Life is cruel and hard. Anyone who tells you different is selling 
something.

Nobody is saying that users have to wait for years for such a tool. They 
can download it from wherever you host it. But you shouldn't expect the 
Python dev team to accept an unproven tool into the official library 
before demonstrating both the need and the solution. (Just because 
users say they want something, doesn't mean they'll actually use the 
tool you provide -- perhaps they don't know what they really need, and 
perhaps your tool doesn't match their needs.)

I'm a user, and personally I don't want Yet Another Integrated Package 
Management Tool. What I really want is the ability to install Python 
packages using the PM tool I already use, namely yum. (And I'd like a 
pony.) Failing that, I want the Python standard library to be stable 
and reliable. With the greatest of respect, fast-tracking unproven 
tools into the library based on the author's say-so is the first step 
to instability and unreliability.

Putting your software on the Cheeseshop, and making regular 
announcements to the Python community (e.g. on comp.lang.python) will 
be a good way to publicise the tool, and if does meet a need, people 
will use it, and then, if it's good enough and popular enough and 
supported, it may be blessed by inclusion in the standard library.

Although I'm not a Windows user, let me say thank you for your efforts 
on behalf of Python users. Good luck!



-- 
Steven D'Aprano
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Update to Python Documentation Website Request

2009-07-26 Thread Nick Coghlan
Steven D'Aprano wrote:
> I'm a user, and personally I don't want Yet Another Integrated Package 
> Management Tool. What I really want is the ability to install Python 
> packages using the PM tool I already use, namely yum. (And I'd like a 
> pony.)

Picking up on this point... out of curiousity, I threw a couple of
package names at "apt-get -s" on my main (Ubuntu 8.04) PC to see what
worked.

The first two names I tried (numpy, scipy) didn't work, but the next
four (python-numpy, python-scipy, python-django, python-turbogears) all
had hits. Because Turbo Gears incorporates so many other projects, the
simulated run at installing it provided a nice overview of a variety of
other Python packages in the Ubuntu repositories as well.

No doubt a search in Adept would reveal a whole lot more "python-*"
packages that are just a few clicks away for me.



Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
---
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Update to Python Documentation Website Request

2009-07-26 Thread David Lyon
On Sun, 26 Jul 2009 08:43:07 +0200, "Martin v. Löwis" 
wrote:
> Hmm. I'm -0 on providing a tool whose only purpose is to download
> files from a web server. I always use a web browser for that...

It does a lot more than that. Firstly it shows what packages you
already have installed and lets you manage them. Namely, deinstall,
(manually) upgrade, view documentation and examples.

In any case, even if it were only a tool to download packages
it's still consistant with modern appliance design (mobile phones,
programming languages, dedicated hardware) to have an internal
application where a user can pretty easily download "checked"
apps to their device/system.

Nobody gives people just a browser to do that... and tell them
"go browse". It isn't being done like that - except in python.

> Hmm. I would expect that a new user is faced with the challenge
> of finding out what packages to install more so than with actually
> installing them. 

Yes. That's exactly the point. You're 100% right.

That's why the pythonpkgmgr provides a useful search capability
for pypi packages. It's faster and more natural to use a native
app than do it all in the browser. That's true in Perl (cpan) as 
in Python and I'm honestly saying that I can't find any noteable
faults in pypi the way I find it.

> If they read examples, they will see import
> statements, and then they have to find out how to make those work.
> Does your tool help with that?

Yes. It will open the website or homepage to the project/package
in question. And find any documentation that might be stored in
the package directory.

If you only have "import interbasedb" it's a complicated process
for a new user to located the home page or project documentation 
without pythonpkgmgr.

Using pythonpkgmgr, they look on their list of installed packages,
find the "interbasedb" or whatever module, and can get quick
access to the pypi page or the package homepage. It's much easier.

Much faster.. especially if the new user doesn't know the
internals of package storage, pypi and the like.

> When the user is not so new anymore, I seriously doubt that they
> still ask for a package management tool - except perhaps for
> dependencies, and here they use easy_install.

Well, that might be one use-case.

It's true that many python programmers will just want to stick to
their own "known" packages.

However, this tool aids people with more curiosity. Because users can
so easily (and safely) install and deinstall anything.

It's only a click to install a package, and another to deinstall.

At the moment, pythonpkgmgr doesn't handle dependencies except that
which is provided internally by easy_install/pip.

I'm hoping to change this as my experience and understanding grows.

David

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Update to Python Documentation Website Request

2009-07-26 Thread David Lyon
On Sun, 26 Jul 2009 18:05:07 +1000, Steven D'Aprano 
wrote:
> But you shouldn't expect the 
> Python dev team to accept an unproven tool into the official library 
> before demonstrating both the need and the solution. 

Of course... that's why I started off by asking what the process is.

I am accepting that the current status of pythonpkgmgr is "unproven" so
it will need some time for things to run their course.

> (Just because 
> users say they want something, doesn't mean they'll actually use the 
> tool you provide -- perhaps they don't know what they really need, and 
> perhaps your tool doesn't match their needs.)

Conversely, the process of satisfying needs is to discuss them. And
people have been ever so helpful in that regard.

> I'm a user, and personally I don't want Yet Another Integrated Package 
> Management Tool. What I really want is the ability to install Python 
> packages using the PM tool I already use, namely yum. 

ok - but no alternative to that is available on windows.

pythonpkgmgr is not so different to that. And the idea behind it is
to bring consistancy in package management across the different 
platforms.

It does have configuration that are specific to python, and will
continue to do so. Like being able to specify where one wants the
package installed.

> Putting your software on the Cheeseshop, and making regular 
> announcements to the Python community (e.g. on comp.lang.python) will 
> be a good way to publicise the tool, and if does meet a need, people 
> will use it, and then, if it's good enough and popular enough and 
> supported, it may be blessed by inclusion in the standard library.

Thanks very much. Take care.

David
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Update to Python Documentation Website Request

2009-07-26 Thread Michael Foord

David Lyon wrote:

On Sun, 26 Jul 2009 18:05:07 +1000, Steven D'Aprano 
wrote:
  
But you shouldn't expect the 
Python dev team to accept an unproven tool into the official library 
before demonstrating both the need and the solution. 



Of course... that's why I started off by asking what the process is.

I am accepting that the current status of pythonpkgmgr is "unproven" so
it will need some time for things to run their course.

  


It would be great to have  a decent visual package manager for Python. 
It needs to be built on top of the work that Tarek is doing with 
distutils (and be compatible with his Distribute fork of setuptools) and 
it also needs to be established.


The good news is that there is time for both... Aren't there other tools 
that have similar goals? PyPI browser, Yolk etc


It is a shame that it needs to be built on Tk if it is to stand a chance 
of ever being included in the standard library - but with the right 
expertise it is *possible* to create decent looking UIs with Tk.


Michael

(Just because 
users say they want something, doesn't mean they'll actually use the 
tool you provide -- perhaps they don't know what they really need, and 
perhaps your tool doesn't match their needs.)



Conversely, the process of satisfying needs is to discuss them. And
people have been ever so helpful in that regard.

  
I'm a user, and personally I don't want Yet Another Integrated Package 
Management Tool. What I really want is the ability to install Python 
packages using the PM tool I already use, namely yum. 



ok - but no alternative to that is available on windows.

pythonpkgmgr is not so different to that. And the idea behind it is
to bring consistancy in package management across the different 
platforms.


It does have configuration that are specific to python, and will
continue to do so. Like being able to specify where one wants the
package installed.

  
Putting your software on the Cheeseshop, and making regular 
announcements to the Python community (e.g. on comp.lang.python) will 
be a good way to publicise the tool, and if does meet a need, people 
will use it, and then, if it's good enough and popular enough and 
supported, it may be blessed by inclusion in the standard library.



Thanks very much. Take care.

David
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
  



--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Update to Python Documentation Website Request

2009-07-26 Thread Martin v. Löwis
>> If they read examples, they will see import
>> statements, and then they have to find out how to make those work.
>> Does your tool help with that?
> 
> Yes. It will open the website or homepage to the project/package
> in question.

How does it know the project in question?

> Using pythonpkgmgr, they look on their list of installed packages,
> find the "interbasedb" or whatever module, and can get quick
> access to the pypi page or the package homepage. It's much easier.

How do they find interbasedb in the list of installed packages if
they haven't installed interbasedb yet?

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Update to Python Documentation Website Request

2009-07-26 Thread Martin v. Löwis
>> I'm a user, and personally I don't want Yet Another Integrated Package 
>> Management Tool. What I really want is the ability to install Python 
>> packages using the PM tool I already use, namely yum. 
> 
> ok - but no alternative to that is available on windows.

For removal of packages, an alternative *is* available: APR.

> pythonpkgmgr is not so different to that. And the idea behind it is
> to bring consistancy in package management across the different 
> platforms.

At the cost of being inconsistent within a platform.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Py_TPFLAGS_HEAPTYPE too overloaded

2009-07-26 Thread Joshua Haberman
I'm writing a C Python extension that needs to generate PyTypeObjects
dynamically.  Unfortunately, the Py_TPFLAGS_HEAPTYPE flag is overloaded
in a way that makes it difficult to achieve this goal.

The documentation for Pt_TPFLAGS_HEAPTYPE says:

Py_TPFLAGS_HEAPTYPE

  This bit is set when the type object itself is allocated
  on the heap. In this case, the ob_type field of its
  instances is considered a reference to the type, and the
  type object is INCREF’ed when a new instance is created,
  and DECREF’ed when an instance is destroyed (this does not
  apply to instances of subtypes; only the type referenced
  by the instance’s ob_type gets INCREF’ed or DECREF’ed).

This sounds like exactly what I want.  I want my type object INCREF'd
and DECREF'd by its instances so it doesn't leak or get deleted
prematurely.  If this were all that Py_TPFLAGS_HEAPTYPE did, it would
work great for me.

Unfortunately, Py_TPFLAGS_HEAPTYPE is also overloaded to mean
"user-defined type" (as opposed to a built-in type).  It controls
numerous subtle behaviors such as:

- whether the type's name is module.type or just type.
- whether you're allowed to set __name__, __module__, or __bases__ on the type.
- whether you're allowed to set __class__ on instances of this type.
- whether the module name comes from the type name or the __module__ attribute.
- whether it will use type->tp_doc as the docstring
- whether its repr() calls it a "class" or a "type".
- whether you can set attributes of the type.
- whether someone is attempting the Carlo Verre hack.

So I'm stuck with an unenviable choice.  I think the lesser of two evils
is to *not* specify Py_TPFLAGS_HEAPTYPE, because the worst that will
happen is that my types will leak.  This is not as bad as having someone
set __class__ on one of my instances, or set attributes on my type, etc.

Ideally the interpreter would have a separate flag like
Py_TPFLAGS_BUILTIN that would trigger all of the above behaviors, but
still make it possible to have dynamically generated built-in types get
garbage collected appropriately.

At the very least, the documentation I cited above should make it clear
that Py_TPFLAGS_HEAPTYPE controls more than just whether the type gets
INCREF'd and DECREF'd.  Based on the list of behaviors I discovered
above, it is almost certainly not correct for a C exension type to be
declared with Py_TPFLAGS_HEAPTYPE.

Josh

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Py_TPFLAGS_HEAPTYPE too overloaded

2009-07-26 Thread Greg Ewing

Joshua Haberman wrote:

This is not as bad as having someone
set __class__ on one of my instances, or set attributes on my type, etc.


Is there any real need to prevent someone from doing
those things?

Note that even when you are allowed to change the
__class__ of an instance, you're still prevented
from changing it to something that has a different
C layout, so you can't crash the intepreter that
way.

Similarly, built-in methods check that they're
given an object of appropriate type at the C
level.

My suggestion is to just let it be a full heap
type and accept whatever consequences follow.

--
Greg
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Update to Python Documentation Website Request

2009-07-26 Thread Stephen J. Turnbull
"Martin v. Löwis" writes:

 > > pythonpkgmgr is not so different to that. And the idea behind it is
 > > to bring consistancy in package management across the different 
 > > platforms.
 > 
 > At the cost of being inconsistent within a platform.

Indeed, and that seems to be one of the really big sticking points in
all efforts to improve Python's package management: the conflict
between user goals ("something that works for me without any effort[1] on
my part") and sysadmin goals ("something that works and plays nicely
with the rest of the system").

pythonpkgmgr seems entirely oblivious to the latter issue, and not
particularly compatible with the way package management works in *nix
OSS distros (including Linux distros, but also *BSD, MacPorts, and
Fink).  I think that will probably kill uptake on those platforms --
could be wrong, but caution is suggested.

BTW, I think Tarek's efforts strike a good balance between these
goals, and the whole PEP 376 process has demonstrated how difficult it
is to serve these two masters at the same time.

Footnotes: 
[1]  I'm a professional economist: in my lexicon, effort minimization
is a positive goal, not laziness.  Zero is just an extreme case.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com