Re: [pygame] Documenting the pygame C API and making the API consistent

2018-06-21 Thread Lenard Lindstrom
I know from experience how much more of a headache it is to build/distribute native extensions that depend on other native extensions' ABIs (numpy, specifically). Do Pygame Surface/Sound objects support the Buffer Protocol? This would be a convenient way to to read and update object data

Re: [pygame] Documenting the pygame C API and making the API consistent

2018-06-21 Thread Lenard Lindstrom
On 18-06-18 01:45 AM, Daniel Pope wrote: Is this for a public C API or just internal to Pygame? It is internal to Pygame, though if it is formalized and documented someone might use it in another package. I know from experience how much more of a headache it is to build/distribute native

Re: [pygame] Documenting the pygame C API and making the API consistent

2018-06-21 Thread René Dudfield
This is amazing work. Thanks a lot for doing these hard but very helpful changes :) It should make working with pygame internals much easier and understandable for people. cheerio, On Friday, June 15, 2018, Lenard Lindstrom wrote: > Hi everyone, > > A part of the preparation for pygame 2 I

Re: [pygame] Documenting the pygame C API and making the API consistent

2018-06-18 Thread Lenard Lindstrom
Hi Thomas, On 18-06-17 03:17 AM, Thomas Kluyver wrote: I'm not really familiar with C APIs, but I thought that the 0/-1 inconsistency was necessary because 0 may be a valid return value in some contexts, and there is no -1 if you're using a unsigned integer type. Looking quickly at the Python

Re: [pygame] Documenting the pygame C API and making the API consistent

2018-06-18 Thread Leif Theden
unless you are committed to to rewriting everything, i would leave changing error handling alone alone...C is not forgiving and very few people (a dozen, maybe?) use the pygame internal C code, and unless its getting in your way and slowing down development its probably best to document the code

Re: [pygame] Documenting the pygame C API and making the API consistent

2018-06-18 Thread Daniel Pope
Is this for a public C API or just internal to Pygame? I know from experience how much more of a headache it is to build/distribute native extensions that depend on other native extensions' ABIs (numpy, specifically). Do Pygame Surface/Sound objects support the Buffer Protocol? This would be a

Re: [pygame] Documenting the pygame C API and making the API consistent

2018-06-17 Thread Thomas Kluyver
I'm not really familiar with C APIs, but I thought that the 0/-1 inconsistency was necessary because 0 may be a valid return value in some contexts, and there is no -1 if you're using a unsigned integer type. Looking quickly at the Python docs, the pattern seems to be that functions returning a

[pygame] Documenting the pygame C API and making the API consistent

2018-06-15 Thread Lenard Lindstrom
Hi everyone, A part of the preparation for pygame 2 I have documented the functions and types exported by various pygame extension modules. For instance, the pygame.surface module exports C functions for creating and accessing pygame.Surface instances. These are used in other modules, such as