Proposal: add vector arithmetic to array module
phr-n2001 at nightsong.com
Tue Sep 25 18:08:10 CEST 2001
Chris Barker <chrishbarker at home.net> writes:
> > Please suppress the urge to reply "use NumPy".
> I'm sorry, but I can't suppress it. NumPy is so clearly what you want
No, NumPy is NOT what I want:
1) doesn't come with Python
2) not maintained by Python maintainers
3) Only handles floating point data, not integer. For example
it doesn't provide vector boolean operations (I just remembered this--
so earlier when I said I'd use it if it was part of standard Python,
I was in error).
> > Numpy is a big package
> It's not that big.
If it takes more than 1 minute to download over a modem, it's "big".
It imposes extra hassle and delay on a user who wants to run an app that
Anyway, NumPy is ridiculous overkill if all I want to be able to do
is quickly xor two strings together, something like
a = array.array('b', str1)
array.xor(a, a, array.array('b', str2))
> > that's not part of standard Python
> It should be.
That would make it mostly ok for what I'm doing, modulo the xor issue.
> with a lot of PDF documentation
> Since when is lots of good documentation a BAD thing???????
Documentation good. PDF documentation bad. I see there's an HTML
version of the docs on pfdubois' site (it's not in the Sourceforge
site) but it's not clear where the doc sources are. Any idea?
> > That makes it
> > a lot harder to distribute applications to non-technical users. It's
> > bad enough that they already have to install Python to run Python apps.
> Sort of. As you say, Python has to be installed, and the correct
> version, and all that. Given that, many folks have chosen to use Py2exe
> or McMillan's Istaller for distributing Python apps. with these tools,
> youcan just give them NumPy along with the rest.
Py2exe is a windows-only thing. What's McMillan's installer? Anyway
if there's a way I can easily include NumPy with an application, then
maybe it's ok. But it's bizarre to have to make multiple OS-specific
distributions of an app written entirely in Python and that uses no
complicated system calls.
I think what's really needed is something like JAR files, for packaging
Python apps. Maybe they could be called CAN files (snakes in a can) <wink>.
There was some discussion of this earlier so maybe something will happen.
> For that matter, there is something of a push to create a "batteries
> and accessories included" approach to installing Python. ActiveState
> has made a start of this with their distribution and pyppm. I have
> started a project alnong these lines as well, but havn't gotten far
> because no one else seems to think it's worth it. I still, do, but I
> lost a lot of motivation.
I thought "batteries included" was already supposed to be part of Python's
philosophy, not something that there needed to be a push to create.
> Which is easier:
> Adding a bunch of functionality to a standard module.
> Making a widely used, robust, and powerfull module standard.
Generally, adding functionality to an existing module is easier.
Especially when, as in the particular functionality we're discussing,
it's not really "a bunch". I don't know if that's the answer you
> Personally, I think we should go beyond making NumPy a standard module,
> and make NumPy Arrays a built-in type.
That sounds reasonable to me.
More information about the Python-list