Pygame

P

Peter Hansen

Alexander said:
Why isn't Pygame a part of Python?

What do you think should be the criteria for deciding whether
something "is part of Python" or isn't?

Keep in mind that your guidelines should be applied somewhat
consistently to all packages that might be possibly be included.

And keep in mind that no one wants Python to be a 150MB download...

-Peter
 
B

Bram Stolk

Hi!

Why isn't Pygame a part of Python?

Because PyGame has too many dependencies.
Adding it to Python itself would make Python less portable.
Cheers,
Alexander R_dseth


--
------------------------------------------------------------------------------
Bram Stolk, VR Engineer.
SARA Academic Computing Services Amsterdam, PO Box 94613, 1090 GP AMSTERDAM
email: (e-mail address removed) Phone +31-20-5923059 Fax +31-20-6683167

"For the costs of subsidized agriculture in the EU, we can have all 56 million
European cows fly around the world. First Class." - J. Norberg
------------------------------------------------------------------------------
 
A

Alexander Rødseth

What do you think should be the criteria for deciding whether
something "is part of Python" or isn't?

I agree that my question was a bit vague, so here's a clarification:
In that connection I meant "included in the standard installation procedure
for the average inexperienced user".

Keep in mind that your guidelines should be applied somewhat
consistently to all packages that might be possibly be included.

That's true, but still, there are several other modules, like email,
sound, xml, databases, that could've been separate packages,
but isn't. Why isn't fullscreen graphics considered that important?
This is a riddle to me.

And keep in mind that no one wants Python to be a 150MB download...

I totally agree with you on that one. :)


- Alexander
 
A

Alexander Rødseth

Because PyGame has too many dependencies.
Adding it to Python itself would make Python less portable.

Pygame is very portable. And adding plattform-specific modules in the past,
doesn't seem to have been a problem:

$ lynx http://docs.python.org/modindex.html --dump --nolist | grep -c "Mac"
56
$ lynx http://docs.python.org/modindex.html --dump --nolist | grep -c
"Windows"
6
$ lynx http://docs.python.org/modindex.html --dump --nolist | grep -c "IRIX"
13
$ lynx http://docs.python.org/modindex.html --dump --nolist | grep -c -i
"UNIX"
24

Even though I think your answer is very reasonable, and I agree that
portability is a good thing,
I don't quite see what would make Python so much less portable if Pygame
were added as a module.

I remember using Pippy for Palm Pilot once, and they had just chopped off
all the modules they didn't
want to port. I don't see why the same procedure couldn't be followed in
other cases as well.

- Alexander
 
J

Jakub Fast

pygame (and sdl) are lgpl licensed and as such they are not
commercial-friendly.

kuba
 
J

John Roth

Alexander Rødseth said:
Hi!

Why isn't Pygame a part of Python?

Why should it be?

In looking thorough the libarary, I find that
everything there is a developer tool of some
sort. The few executables are things like
unittest which are standard parts of the
developer's tool chain.

John Roth
 
P

Peter Hansen

John said:
Why should it be?

In looking thorough the libarary, I find that
everything there is a developer tool of some
sort. The few executables are things like
unittest which are standard parts of the
developer's tool chain.

Not that I agree with Alexander that Pygame should be part
of the standard download, but isn't it true that it is just
as much a developer tool as anything else? He gave examples
such as XML and sound... Pygame is in the same vein as those,
only more complex.

(But I do think it would be crazy to include it, just not
for the reason that "it's not a developer tool".)

-Peter
 
A

Alexander Rødseth

Why should it be?

Because it's inconsistent that Python includes many platform-specific and
hardware-specific modules,
and even gui-modules like Tkinter, but, afaik, no way at all to create
fullscreen and/or hw-accelerated graphics.

In looking thorough the libarary, I find that
everything there is a developer tool of some
sort. The few executables are things like
unittest which are standard parts of the
developer's tool chain.

I agree pretty much with Peter's reply.
How exactly did you "look through the library"?
Looking at http://docs.python.org/modindex.html, I find modules for sound,
xml, graphics, mail, a web-server and even the deprecated and insecure
"Enigma-like encryption and decryption". :)

Python is supposed to be "batteries included", but still hasn't got native
support for fullscreen graphics.

Granted, Pygame might not be the optimal solution, due to licensing issues
(or whatever other reason might appeal to you), but IMHO, there should be a
module included that allowed for similar functionality.

- Alexander
 
G

Glenn Andreas

Jakub Fast said:
pygame (and sdl) are lgpl licensed and as such they are not
commercial-friendly.

kuba

sdl is used in a number of commercial settings including a bunch of
ports done by Loki Games and even ThQ's "Nemo's Underwater World of Fun"
(and it's hard to be more commercial than "Finding Nemo").
 
A

Alexander Rødseth

sdl is used in a number of commercial settings including a bunch of
ports done by Loki Games and even ThQ's "Nemo's Underwater World of Fun"
(and it's hard to be more commercial than "Finding Nemo").

Thanks for the info!


Well, if it's not due to the licensing, and not because it's unusual to
include anything similar,
when speaking in terms of "batteries included"; then I can only conclude
that it's not a standard
Python-module because of the SDL-wrapper's name, which contains the word
"game" instead of
something more acceptable, appropriate, cryptic and network-ish, like
"ipv6". >;-)

(Note: "ipv6" is just an example, for the sake of the name, I know that it's
not a standard Python-module).


- Alexander
 
P

Peter Hansen

Alexander said:
Well, if it's not due to the licensing, and not because it's unusual to
include anything similar,
when speaking in terms of "batteries included";

It most definitely is unusual to include *anything* (my emphasis)
similar, or you would find Python already at 150MB and growing rapidly
as I suggested before.

I ask again what you think should be the criteria for including
something in the standard distribution. Clearly, whatever you
think it should be, it's at odds with what the current maintainers
consider appropriate. Perhaps if you can come up with some
guidelines which would include Pygame but not 130MB of other
useful and interesting packages, we'll have a better way of
deciding what to put in in future releases.

-Peter
 
N

Nemesis

Mentre io pensavo ad una intro simpatica "Jakub Fast" scriveva:
pygame (and sdl) are lgpl licensed and as such they are not
commercial-friendly.

the lgpl license _is_ commercial-friendly.
 
J

Jakub Fast

Well, if it's not due to the licensing [...]

The fact that it has been used in commercial projects doesn't imply it
really is _commercial-friendly_ -- lgpl does impose obligations that,
albeit minor, still are a hassle and require some thought if you're
going to use it in your closed-source project. moreover, including it in
the python distribution would impose the burden of keeping track of
different licenses in your standard modules, which definitely is
something you wouldn't want to have ("ok, i used module this and module
that, so i'm fine to do this with my program, ... but wait module x uses
module y that uses module z which requires me to obey license a... doh).

well, at least _i_ hate sifting through a library for a single module
that i use that happens to have a more restrictive license...

kuba
 
J

Jakub Fast

the lgpl license _is_ commercial-friendly.

AFAIK, you're required to provide the ability to re-link the application
with newer version of the lgpl'd library. this involoves the obligation
to at least provide the source code of the library -- which doesn't seem
like something you'd always want to expose your end users too.

note that many projects specifically modify the lgpl for it to be what i
consider commercial-friendly -- vide wxwidgets, for example.


kuba
 
J

John Roth

Alexander Rødseth said:
Because it's inconsistent that Python includes many platform-specific and
hardware-specific modules,
and even gui-modules like Tkinter, but, afaik, no way at all to create
fullscreen and/or hw-accelerated graphics.



I agree pretty much with Peter's reply.
How exactly did you "look through the library"?
Looking at http://docs.python.org/modindex.html, I find modules for sound,
xml, graphics, mail, a web-server and even the deprecated and insecure
"Enigma-like encryption and decryption". :)

Python is supposed to be "batteries included", but still hasn't got native
support for fullscreen graphics.

Granted, Pygame might not be the optimal solution, due to licensing issues
(or whatever other reason might appeal to you), but IMHO, there should be a
module included that allowed for similar functionality.

If you look at PyGame, you'll find that it's based on SDL, which seems
to be a very good library for doing graphics. That, in turn, is based on
OpenGL.

It also (optionally) uses Numeric, which hasn't been included with Python
because the developers don't want to wait for major Python updates.
 
J

John Roth

Alexander Rødseth said:
Because it's inconsistent that Python includes many platform-specific and
hardware-specific modules,
and even gui-modules like Tkinter, but, afaik, no way at all to create
fullscreen and/or hw-accelerated graphics.



I agree pretty much with Peter's reply.
How exactly did you "look through the library"?
Looking at http://docs.python.org/modindex.html, I find modules for sound,
xml, graphics, mail, a web-server and even the deprecated and insecure
"Enigma-like encryption and decryption". :)

Let's take a look at that. Sound support is on the same level as
the SDL package that Pygame is based on. XML is a developer
tool. Graphics support is pretty weak except for the TK toolkit,
which supports the standard windows paradigm. While not everyone
likes TK, the function is, at least, pretty pervasively needed.

There's a pretty large selection of tools that support internet
protocols, including the mail package you refer to. Etc.

What I don't find is support for specialty application areas.
Games are a specialty application area.
Python is supposed to be "batteries included", but still hasn't got native
support for fullscreen graphics.

Pygame is layered on top of SDL, which in turn is layered on
top of Open GL. If the issue is support for full screen 3d graphics,
(which wasn't apparent from your initial post), I would suggest that
either of those would be a better candidate. In fact, I certainly wouldn't
object to including an interface to Open GL.
 
S

Steve Holden

Alexander Rødseth wrote:

[...]> (Note: "ipv6" is just an example, for the sake of the name, I
know that it's
not a standard Python-module).
In point of fact since Python 2.3 the socket module has handled IPv6.

But if you mean that geeks like, and therefore tend to include, geeky
things in their langauge distributions, you could have a point.

Nothing in the license stops you from building and distributing
"friendly Python", though, so you might consider putting your own
distribution together. If that's too hard, you will at least begin to
get the idea why PyGame (and this, that and the other) aren't in the
standard distribution.

If you get it together I believe you would increase Python's popularity.

regards
Steve
 
G

Gerrit

John said:
What I don't find is support for specialty application areas.
Games are a specialty application area.

The name pygame is IMHO misleading. It's applicable beyond games.
Pygame is layered on top of SDL, which in turn is layered on
top of Open GL.

SDL is not layered on top of OpenGL. I think it's exactly the other way
around. I use Pygame a lot and I don't have OpenGL installed.

Gerrit.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top