Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-11-03 Thread Alexander Belopolsky
On 11/3/06, Torgil Svensson [EMAIL PROTECTED] wrote:
 class struct_type(Structure):
 _fields_ = []

 ...
 ... which is somewhat static in nature. How do you create structures
 dynamically?


You can put the above in a function that takes fields as an argument, or

type('struct_type', (Structure,), {'_fields_':[('a', c_int), ('b',
c_long)]})

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-11-01 Thread Bill Baxter
Grr, I wrote something up (it was wonderfully eloquent and convincing -- trust me!), but the gmane interface seems to have lost it (I posted two things before responding to the two authorization requested emails, and only one of the two things ever got posted it seems.)
--bbOn 11/2/06, Lisandro Dalcin [EMAIL PROTECTED] wrote:
On 10/31/06, Bill Baxter [EMAIL PROTECTED] wrote: One thing I see with PIL and Matplotlib and PyOpenGL is that they're having to add specific support for Numpy and numeric and numarray and PIL and
 ctypes etc.This is a real problem, and a waste of developing time, because welack a **general** and **standard** mechanism. would the proposed extensions make it possible for all these different packages to just have to support buffer
 protocol and magically be able to work with numpy or numeric without having to introduce explicit dependencies and support code for all those other packages?I think this is the actual reason of Travis's proposal, and of all
other people like me supporting him. If I've got the facts straight then I'd be happy to go and say that on comp.lang.python.Please, go on!
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-11-01 Thread Sasha
On 10/31/06, Travis Oliphant [EMAIL PROTECTED] wrote:
 No, it's not that simple.  We have a headache whenever we want to do
 something like I just did and separate out the concepts of what makes a
 Python Object a Python object.  Now, we don't just modify a simple
 C-structure (PyArray_Descr *), we have to modify a meta-type or a
 altered dictionary and get that change put in to ctypes.

I think I am starting to understand. Forgive me for being slow.

Is it correct that you don't mind writing c_int * 10 instead of
dtype(('i4', 10)) as long as the result does not have to be a
PyTypeObject at the C level? If this is the case, I would suggest to
merge ctypes syntax with your implementation.  This may help to make
the case for the python-dev crowd.  I believe very few people
understand the subtle problems in inheriting from PyTypeObject and
resist your proposal simply because they like c_int * 10  better than
dtype(('i4', 10)).

There is no reason why ctypes should be implemented the way it is. It
is not necessary that type(c_int()) is c_int.  If a type with almost
the same properties gets into the core, ctypes developers may see an
advantage of simply inheriting from it and adding a factory __call__
method.  Meanwhile, users familiar with ctypes will not need to learn
yet another type specification syntax.

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-11-01 Thread Lisandro Dalcin
On 10/31/06, Travis Oliphant [EMAIL PROTECTED] wrote:

 I'm recruiting more comments on python-dev regarding my two proposals
 for improving Python's native ability to share ndarray-like information.


I believe there are another really important reason to support
Travis's proposal.

Python should have a general, simple, powerful and standard way to
associate type metadata to binary streams. This enables efficient
share or memory, but also can help a lot to achieve inter-language
capabilities.

As an example, I would to make some comments about MPI, the de facto
standard for message-passing in parallel computing. When MPI
specification was being developed, there were many different,
incompatible libraries for message passing, and many of them (ie. PVM)
usually communicated binary data following a pack/unpack approach. The
MPI Forum decided to add an alternative approach, adding a class
'MPI_Datatype', and many predefined instances of this class (MPI_INT,
MPI_FLOAT, etc.) in order to represent the basic datatypes (integers,
floats, strings, complex numbers) in C, Fortran, and C++. Predefined
MPI datatypes can be used as building blocks for describing very
complicated memory layouts and derived,nested structures. This way,
any implementations of this standard can support interprocess
communication in a multi-language, muti-architecture approach. MPI
datatypes can also be decoded in order to get the basic, predefined
types contained in a user-defined datatype.

I think the MPI example, despite being taken from a very specific
domain with particular needs, has a strong connection with Travis's
proposal. Pack/unpack degrades performance, but if you want to
efficiently share binary data (with other languages/architecture),
then a general and extensible mechanism for attaching type metadata to
binary streams must me defined.

I would like to know your opinions about this. Travis's datatypes in
Python should be more that something to share data, they should be
able to **describe** data. And I am not sure if ctypes can be be the
way. Can Jython take advantage of ctypes??? Or in the near future
CPython/Jython will have a 'jtypes' module? I forget! Travis/Pearu,
why don't you develop a 'ftypes' for Fortran binary data, and next ask
Python core developers to include it in standard library (a joke, of
course)?

Travis, if you think my previous example about MPI can help, I can
resend this post to Python-Dev. I ask you this because I really want
to help and not to make noise.

Regars,


-- 
Lisandro Dalcín
---
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-11-01 Thread A. M. Archibald
On 01/11/06, Travis Oliphant [EMAIL PROTECTED] wrote:

 And it may be a good idea to also have a get_ctype method or some-such
 on the ctypes attribute so that  one could get a ctypes description
 from the NumPy data-type.

It seems to me that at the python level, there's not much reason to
choose the dtypes proposal over ctypes. There is one at the C level,
it seems (though I, like perhaps most of the people on python-dev,
have never actually tried using either). So perhaps, to persuade the
python-dev folks, what is needed is a comparison of what has to be
done at the C level. What would it take to rewrite numpy to use
ctypes? There seems to be some problem with extending the type objects
used by ctypes, but it's not very clear to me what that problem is
(what the extensions are supposed to do).

The argument that *some* datatypes format should become standard is much easier.

A. M. Archibald

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-11-01 Thread Bill Baxter
On 11/2/06, A. M. Archibald [EMAIL PROTECTED] wrote:
On 01/11/06, Travis Oliphant [EMAIL PROTECTED] wrote: And it may be a good idea to also have a get_ctype method or some-such on the ctypes attribute so thatone could get a ctypes description
 from the NumPy data-type.It seems to me that at the python level, there's not much reason tochoose the dtypes proposal over ctypes. There is one at the C level,it seems (though I, like perhaps most of the people on python-dev,
have never actually tried using either). So perhaps, to persuade thepython-dev folks, what is needed is a comparison of what has to bedone at the C level. What would it take to rewrite numpy to usectypes? There seems to be some problem with extending the type objects
used by ctypes, but it's not very clear to me what that problem is(what the extensions are supposed to do).I posted a message to the thread trying to prod things in that direction. I.e. can we see a simple concrete example of the complications involved in using ctypes interface code, vs the presumably much nicer numpy/data-descriptor code. I too think that would help convince people. Just saying it's more compilcated, trust me, doesn't help when most people reading the list have never had to write any sort of C extension.
--bb
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread David L Goldsmith
Perhaps you could please elaborate on what you regard as the issue(s) 
and what's at stake?  I'm still comparatively new (been using python 
and numpy circa 8-9 months), but so far I haven't encountered any 
problems I'd attribute to Python's ... [in]ability to share 
ndarray-like information.  (The most vexing problems I've had have all 
been with matplotlib, its dual-mode API, and its rather clumsy and 
haphazard documentation.)  I'd like to be supportive, but not blindly-so.

DG

Travis Oliphant wrote:
 I'm recruiting more comments on python-dev regarding my two proposals 
 for improving Python's native ability to share ndarray-like information.

 There is a dearth of scientific-computing and number-crunching-aware 
 people on python-dev.  The result is that I sound like a lone voice 
 arguing for something that nobody cares about.  When, I don't think that 
 is true.  Please, please.  If you want Python to grow support for the 
 array interface (or something like it), then please speak up on 
 python-dev. 

 Even something as simple as I really see the need for a way to exchange 
 data-format information between two objects sharing the buffer protocol 
 can be helpful.

 You can post through the gmane newsgroup interface: 

 gmane.comp.python.devel

 Find any of the posts on the PEP's I've introduced.  Thanks for your help.

 -Travis


 -
 Using Tomcat but need to do more? Need to support web services, security?
 Get stuff done quickly with pre-integrated technology to make your job easier
 Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
 http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
 ___
 Numpy-discussion mailing list
 Numpy-discussion@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/numpy-discussion
   


-- 
HMRD/ORR/NOS/NOAA http://response.restoration.noaa.gov/emergencyresponse/

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread Alan G Isaac
On Tue, 31 Oct 2006, Sasha apparently wrote: 
 I think we should attempt to implement a ctypes approach 

You are probably aware that Travis has addressed this at some length on
comp.python.devel (for example
http://article.gmane.org/gmane.comp.python.devel/84661 
http://article.gmane.org/gmane.comp.python.devel/84670 )
but just in case ...

Cheers,
Alan Isaac




-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread Travis Oliphant
Sasha wrote:

On 10/31/06, Travis Oliphant [EMAIL PROTECTED] wrote:
  

I'm recruiting more comments on python-dev regarding my two proposals
for improving Python's native ability to share ndarray-like information.




I would love to help, but I feel that I will be on the other side of
the disagreement.  (That's why I reply here rather than on python-dev
first.)
  


Please read my posts about the Python type-object verses normal Python 
Object situation.  That really is the crux of the matter.

Ctypes uses a Python type object for every data-format.
NumPy uses an instance of a data-type object for every data-format.

What advantage do we gain by making every instance of a data-type object 
*also* a Python type object?  We get a lot of head-ache.  Have you seen 
what ctypes had to do?  It had to define a new Dictionary object so it 
could attach it to the tp_dict parameter because you can't just inherit 
from the PyTypeObject and add the fields you want to the structure.
This is my argument.

I for one am not going to put any effort in that direction.  People are 
free to do it, if they want, of course.  But, it's no small change.   I 
would, however, put effort into undertstanding ctypes objects as 
data-type objects.

-Travis




-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread Travis Oliphant
Sasha wrote:

On 10/31/06, Travis Oliphant [EMAIL PROTECTED] wrote:
  

I'm recruiting more comments on python-dev regarding my two proposals
for improving Python's native ability to share ndarray-like information.




I would love to help, but I feel that I will be on the other side of
the disagreement.  (That's why I reply here rather than on python-dev
first.)
  


There's actually two issues here as well.

1) The extended buffer protocol

2) How to exchange data-format information through it.



-Travis


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread Sasha
On 10/31/06, Travis Oliphant [EMAIL PROTECTED] wrote:

 Please read my posts about the Python type-object verses normal Python
 Object situation.  That really is the crux of the matter.

I read the whole python-dev thread before replying.  I may be a little
biased because I never liked somewhat cryptic letter codes in Numeric
and the change of codes from Numeric to numpy did not contribute to my
sympathy particularly when the convert script changed all unrelated
instances of 'b' in my code to something else.  I am also not a big
fan of record arrays.  I believe that numeric data should be stored in
inverted tables, where columns of homogeneous data are stored
contiguously.  With this disclaimer, I will address a few issues
below.

 Ctypes uses a Python type object for every data-format.
 NumPy uses an instance of a data-type object for every data-format.

Yes, but AFAIK this is a recent innovation.  Numarray used type
objects and Numeric simply used letter codes.


 What advantage do we gain by making every instance of a data-type object
 *also* a Python type object?

I think the main advantage is that you can have instances:
 c_int(42)
c_int(42)

Of course, numpy has scalars for that, but ctypes also has
fixed-length arrays, that are somewhat different from ndarrays:
 a10 = c_int*10
 a10()
__main__.c_int_Array_10 object at 0x2a95816958


  We get a lot of head-ache.  Have you seen
 what ctypes had to do?  It had to define a new Dictionary object so it
 could attach it to the tp_dict parameter because you can't just inherit
 from the PyTypeObject and add the fields you want to the structure.
 This is my argument.


But, isn't this someone else's head-ache?  Someone has already gone
through all these contortions, why not reuse the effort?  Others on
python-dev described some specific needs of ctypes that your datatype
object does not address.  Your point seems to be that numpy does not
share these needs and could use a much simpler approach.

 I for one am not going to put any effort in that direction.  People are
 free to do it, if they want, of course.  But, it's no small change.

Can you present some use cases that illustrate the advantage of your
datatype approach best?
I will try to implement them with ctypes.

  I would, however, put effort into undertstanding ctypes objects as
 data-type objects.

Yes, this is the key.  I think we should better understand ctypes
limitations before proposing an alternative.  At the end of the day,
it is better to have buffer protocol that describes the data using
ctypes types than to have no standard type information at all.

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread Travis Oliphant
Sasha wrote:

On 10/31/06, Travis Oliphant [EMAIL PROTECTED] wrote:
  

Yes, this is the key.  I think we should better understand ctypes
limitations before proposing an alternative. 


I already understand it's practical limitations --- type objects as 
data-type instances is too bulky and too restrictive.  You have to be a 
Python type object in order to be a data-type object. 

I wish others would actually understand the difference.

-Travis


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread Travis Oliphant
Sasha wrote:

On 10/31/06, Travis Oliphant [EMAIL PROTECTED] wrote:

  

Please read my posts about the Python type-object verses normal Python
Object situation.  That really is the crux of the matter.



I read the whole python-dev thread before replying.  I may be a little
biased because I never liked somewhat cryptic letter codes in Numeric
and the change of codes from Numeric to numpy did not contribute to my
sympathy particularly when the convert script changed all unrelated
instances of 'b' in my code to something else.  


The letter codes are not data-type objects.  The letter codes are only 
there for historical reasons (and they are in the struct and array 
modules too so blame Python...)

I am also not a big
fan of record arrays.  I believe that numeric data should be stored in
inverted tables, where columns of homogeneous data are stored
contiguously. 

Sure.  I understand this.  This was my argument too when Numarray was 
first proposed.  But, how do you memory-map a record where the data is 
actually stored differently?  Numeric's answer is you don't but that 
is un-acceptable.  This is why record-arrays were created and the whole 
pandora's box of data-types was opened.

  

Ctypes uses a Python type object for every data-format.
NumPy uses an instance of a data-type object for every data-format.



Yes, but AFAIK this is a recent innovation.  Numarray used type
objects and Numeric simply used letter codes.

  

Recent if 1 year is recent, and only if you worry precisely about when 
they were Python objects. Numeric always used a PyArray_Descr * 
structure (which was a PyObject_HEAD away from being a Python object) to 
describe data.   The letter codes were just simple ways to represent 
those underlying structures (which could have been exposed to Python as 
data-types from the very beginning.

What advantage do we gain by making every instance of a data-type object
*also* a Python type object?



I think the main advantage is that you can have instances:
  

c_int(42)


c_int(42)

Of course, numpy has scalars for that, but ctypes also has
fixed-length arrays, that are somewhat different from ndarrays:
  


Sure, but you don't need an instance for every memory-layout 
description.   If you want one, then great, ctypes gives it to you.  But 
requiring data-type to be encoded in a type object is over-kill.


 We get a lot of head-ache.  Have you seen
what ctypes had to do?  It had to define a new Dictionary object so it
could attach it to the tp_dict parameter because you can't just inherit
from the PyTypeObject and add the fields you want to the structure.
This is my argument.




But, isn't this someone else's head-ache?  Someone has already gone
through all these contortions, why not reuse the effort?  


No, it's not that simple.  We have a headache whenever we want to do 
something like I just did and separate out the concepts of what makes a 
Python Object a Python object.  Now, we don't just modify a simple 
C-structure (PyArray_Descr *), we have to modify a meta-type or a 
altered dictionary and get that change put in to ctypes.

Inheriting from Python type objects is harder.   People who have 
apparently never tried seem to think it's not but it is. 

Others on
python-dev described some specific needs of ctypes that your datatype
object does not address.  Your point seems to be that numpy does not
share these needs and could use a much simpler approach.
  

No, that's not the point.  The data-type object could easily be extended 
to accomodate those needs.  The point is using data-types as instances 
of a regular Python object or data-types as instances of a type object.

I for one am not going to put any effort in that direction.  People are
free to do it, if they want, of course.  But, it's no small change.



Can you present some use cases that illustrate the advantage of your
datatype approach best?
  

I will try to implement them with ctypes.
  

This is missing the point.  I have no doubt ctypes could be used on 
the Python side to describe a data-type.  But, we need the PyArray_Descr 
* structure in NumPy.  What are you going to replace the PyArray_Descr * 
structure with?  That is the point. 

 I would, however, put effort into undertstanding ctypes objects as
data-type objects.



Yes, this is the key.  I think we should better understand ctypes
limitations before proposing an alternative.  

Please understand what I meant.  I meant putting effort into getting 
PyArray_DescrConverter to allow ctypes inputs and convert to the 
appropriate PyArray_Descr * structure.   I already understand ctypes 
objects.  I want the dtype() command to also understand them.

-Travis




-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 

Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread Josh Marshall

On 11/31/06, Fernando Perez [EMAIL PROTECTED] wrote:

 Fernando Perez wrote:
 ps - one more thing.  This guy:

 http://blog.vrplumber.com/

 has been rewriting the OpenGL bindings using ctypes, and I've seen
 posts from him about numpy (in his blog).  He might be able to
 contribute something...

I've been working on the OSX port and extensions for OpenGL-ctypes.  
(now released as PyOpenGL-3.00a, please test!). What Mike has done is  
define setuptools plugins to interface to different kinds of array  
data. The default type is ctypes arrays, or numpy arrays if numpy is  
installed. The data types handled are ctypes sized arrays, ctypes  
pointers, strings (read-only), and Python lists. (and old Numeric/ 
numarray via a non-default build.)

Summaries of development and usage, resp, are found:
http://pyopengl.sourceforge.net/ctypes/development.html
http://pyopengl.sourceforge.net/ctypes/using.html

Notes on array handling from the above:

 Perhaps the most complex mechanisms in OpenGL-ctypes are those  
 which implement the array-based operations which allow for using  
 low-level blocks of formatted data to communicate with the OpenGL  
 implementation.  OpenGL-ctypes preferred basic array implementation  
 is the (new) numpy reimplementation of the original Numeric Python.

 The array handling functionality provided within OpenGL-ctypes is  
 localised to the OpenGL.arrays sub-package.  Within the package,  
 there are two major classes, one (the FormatHandler) which  
 implements an interface to a way of storing data in Python, and  
 another (the ArrayDatatype) which models an OpenGL array format.   
 The ArrayDatatype classes use FormatHandlers to manipulate array- 
 compatible objects for use in the system.
and on FormatHandlers, for each of the datatypes I mentioned earlier:

 Each format handler is responsible for implementing an API that  
 ArrayDatatypes can use to work with the Python data-format.  Data- 
 formats can support a subset of the API, they only need to support  
 those aspects of the data-format which make sense.
Now, I haven't spent much time looking at these parts of OpenGL- 
ctypes, as they have just worked for me. I would think that it would  
be trivial to write a FormatHandler which uses the ndarray interface  
and data type description to use any object implenting it as an input  
for OpenGL. This would include things such as PIL images.

Mike, can you give us your opinion on how a standardised data type  
descriptor would be helpful for PyOpenGL? The PEP and some  
information about it can be found here:
http://www.scipy.org/ArrayInterfacePEP

Cheers,
Josh



-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread Alexander Belopolsky
On 10/31/06, Travis Oliphant [EMAIL PROTECTED] wrote:
...
 Please understand what I meant.  I meant putting effort into getting
 PyArray_DescrConverter to allow ctypes inputs and convert to the
 appropriate PyArray_Descr * structure.   I already understand ctypes
 objects.  I want the dtype() command to also understand them.


I think I am starting to understand. Forgive me for being slow.

Is it correct that you don't mind writing c_int * 10 instead of
dtype(('i4', 10)) as long as the result does not have to be a
PyTypeObject at the C level? If this is the case, I would suggest to
merge ctypes syntax with your implementation.  This may help to make
the case for the python-dev crowd.  I believe very few people
understand the subtle problems in inheriting from PyTypeObject and
resist your proposal simply because they like c_int * 10  better than
dtype(('i4', 10)).

There is no reason why ctypes should be implemented the way it is. It
is not necessary that type(c_int()) is c_int.  If a type with almost
the same properties gets into the core, ctypes developers may see an
advantage of simply inheriting from it and adding a factory __call__
method.  Meanwhile, users familiar with ctypes will not need to learn
yet another type specification syntax.

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion


Re: [Numpy-discussion] Need more comments from scientific community on python-dev

2006-10-31 Thread Bill Baxter
One thing I see with PIL and Matplotlib and PyOpenGL is that they're having to add specific support for Numpy and numeric and numarray and PIL and ctypes etc.I'm also in the camp that doesn't really understand this stuff well enough to really argue in favor of it, but would the proposed extensions make it possible for all these different packages to just have to support buffer protocol and magically be able to work with numpy or numeric without having to introduce explicit dependencies and support code for all those other packages? If I've got the facts straight then I'd be happy to go and say that on 
comp.lang.python.--bbOn 10/31/06, Travis Oliphant [EMAIL PROTECTED] wrote:
I'm recruiting more comments on python-dev regarding my two proposalsfor improving Python's native ability to share ndarray-like information.
There is a dearth of scientific-computing and number-crunching-awarepeople on python-dev.The result is that I sound like a lone voicearguing for something that nobody cares about.When, I don't think that
is true.Please, please.If you want Python to grow support for thearray interface (or something like it), then please speak up onpython-dev.Even something as simple as I really see the need for a way to exchange
data-format information between two objects sharing the buffer protocolcan be helpful.You can post through the gmane newsgroup interface:gmane.comp.python.develFind any of the posts on the PEP's I've introduced.Thanks for your help.
-Travis-Using Tomcat but need to do more? Need to support web services, security?Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimohttp://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___Numpy-discussion mailing listNumpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion