PyGUI 1.6 is now available:
http://www.cosc.canterbury.ac.nz/~greg/python_gui/
The major change in this version is that the Mac version
is based on Cocoa instead of Carbon. This should provide a
much better base for future development, but it does mean
that MacOSX will now be required
PyGUI 1.6.1 is now available:
http://www.cosc.canterbury.ac.nz/~greg/python_gui/
Bug fixes:
- Mouse down event in a GLView caused a crash.
- Canvas methods fill_poly() and stroke_poly() didn't work. Added
a test for these.
What is PyGUI
PyGUI 1.7 is now available:
http://www.cosc.canterbury.ac.nz/~greg/python_gui/
New features:
* GL.DisplayList class for managing OpenGL display
lists in a similar way to the GL.Texture class
introduced in 1.6.
* Facilites for displaying a chosen cursor when the
mouse
Pyrex 0.9.4.1 is now available:
http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/
This is a very minor update to correct a tab/space
problem in the distutils extension.
What is Pyrex?
--
Pyrex is a language for writing Python extension modules.
It lets you freely mix
PyGUI 1.7.1 is now available:
http://www.cosc.canterbury.ac.nz/~greg/python_gui/
New features:
- Slider control.
- run() convenience function, equivalent to application().run().
- Geometry.rects_intersect() function.
Enhancements:
- Files given on the command
PyGUI 1.7.2 is now available:
http://www.cosc.canterbury.ac.nz/~greg/python_gui/
This version adds support for multiple mouse buttons,
mouse enter and leave events, enhancements to the BlobEdit
example application, and a big pile of other enhancements
and bug fixes. See the CHANGES.txt file
I have released a small update to Plex to fix the
problem of assignment to None causing syntax warnings
or errors in Python 2.3 and later.
What is Plex?
Plex is a Python module for lexical analysis that
provides similar functionality to Lex and Flex.
--
Greg
--
http://mail.python.org/mailman
for lexical analysis that
provides similar functionality to Lex and Flex.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-announce-list
Support the Python Software Foundation:
http://www.python.org/psf/donations.html
Pyrex 0.9.5.1 is now available:
http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/
This is a minor release to fix a few bugs introduced
in 0.9.5. See the CHANGES for details.
What is Pyrex?
--
Pyrex is a language for writing Python extension modules.
It lets you freely mix
Pyrex 0.9.5.1a is now available:
http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/
This is a glitch-fix nanorelease to correct a problem
with the setup.py file. The list of packages to install
is now calculate dynamically, so that it will work with
or without the testing files.
What
, and can
actually be played in a deliberate way now instead
of just trial and error like the first one.
Currently available here:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/PyWeek4/Probe-1.0.zip
--
Greg
--
http://mail.python.org/mailman/listinfo/python-announce-list
Support the Python
Pyrex 0.9.7 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
Highlights of this version:
* I have streamlined the integer for-loop syntax. Instead
of the loop variable redundantly appearing in two places,
it's now just
for x i y:
...
* If you
Pyrex 0.9.7.1 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
This version fixes a bug in the new integer indexing
optimisation which causes indexing of a non-sequence type
with a C int to fail with a TypeError.
What is Pyrex?
--
Pyrex is a language
Pyrex 0.9.8 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
This version has a number of new features:
* In-place operators (+= etc.) are now supported.
* The Pyrex compiler now has built-in facilities for
automatically tracking down and compiling all the
Pyrex 0.9.8.1 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
Base classes no longer need to be specified in a forward
declaration of an extension type, or in the implementation
part of an extension type defined in a .pxd file.
Also, I've come up with an even
Pyrex 0.9.8.3 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
Compiling multiple .pyx files in one go works properly now, and
can be substantially faster if you have a lot of modules that
cimport from each other. I had to rearrange various things to
make this work,
Pyrex 0.9.8.4 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
This version fixes a bug introduced by the last change
to unsigned integer indexing.
What is Pyrex?
--
Pyrex is a language for writing Python extension modules.
It lets you freely mix
ALBOW - A Little Bit of Widgetry for PyGame
Version 2.0 is now available.
This version incorporates substantial additions and improvements.
New widgets include TabPanel, TableView, CheckBox, RadioButton and
an enhanced set of TextField-based controls.
Forgive me, and be kind, as I am just a newby learning this language
out of M.L. Hetland's book. The following behavior of 2.4.1 seems very
strange
x = ['aardvark', 'abalone', 'acme', 'add',
'aerate']
x.sort(key=len)
x
['add', 'acme', 'aerate', 'abalone', 'aardvark']
x.sort(reverse=True)
an ordering for all objects, whatever they might be.
Greg
--
http://mail.python.org/mailman/listinfo/python-list
PyGUI 1.6 is now available:
http://www.cosc.canterbury.ac.nz/~greg/python_gui/
The major change in this version is that the Mac version
is based on Cocoa instead of Carbon. This should provide a
much better base for future development, but it does mean
that MacOSX will now be required
represent the imaginary.
I've looked at the unpack command, but from what I can tell it isn't
really efficient for a large data sample.
Is there a command or method around to read in large amounts of 16 bit
complex data?
Thanks in advance for your help,
Greg
--
http://mail.python.org/mailman/listinfo
That worked, thanks a lot.
Greg
--
http://mail.python.org/mailman/listinfo/python-list
.
If you really want to generate code, find a way of
separating out the generated code into another .py
file that never needs to be edited by hand.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
long it takes them to notice they're being fed a load
of bull.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
on the Python
web site could be seen as a good sign. :-)
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
light travelling or propagating. Take
your pick.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
turned on, and when one occurs, consult the state to
determine whether to raise an exception or re-try that
operation with trapping turned off.
That would only incur the overhead of changing the hardware
setting when a zero division occurs, which presumably is a
relatively rare occurrence.
--
Greg
// -- mathematical integer division
/// -- IEEE floating point division (where supported)
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
it's trying to compile!
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
is forked from the other, the parent
can mmap an anonymous block and the child will inherit that
mapping.
(I suppose if both processes had sufficient privileges they
could map physical memory out of /dev/mem, but that would be
*really* dangerous!)
--
Greg
--
http://mail.python.org/mailman/listinfo
. they will likely expect a 2kg hammer
to fall to the floor twice as fast as a 1kg hammer, which
isn't anywhere near to being true.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
that
rocket engineers, of all people, would be acutely
aware of the need to avoid confusing force and
mass!
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
describe the table
entirely with static data, it'll be very fast to
load and incur no overhead for code to create it at
all. Also, with demand-paging out of the executable
file, and infrequent lookups, only parts of the
table will actually get loaded anyway.
--
Greg
--
http://mail.python.org/mailman
.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
to
be on it, even though they contain references, because it's
impossible to create a cycle consisting entirely of such
objects. There has to be at least one mutable object in the
cycle, and the GC will be able to find the cycle via that
object.
--
Greg
--
http://mail.python.org/mailman/listinfo
to the argument list rather than passed as a
single object?
ie. class T:
def __init__(self, foo, bar):
self.foo = foo
self.bar = bar
argspec = inspect.argspec(T.__init__)
args = (1, 2)
??? how do you call T(args)?
Thanks.
Greg
--
http://mail.python.org
.
Another way is to make your object iterable -- read
up about the iterator protocol.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
buffer waiting to be read.
When using select(), you really need to deal with the
socket directly, with no buffering in the way.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
Pyrex 0.9.7 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
Highlights of this version:
* I have streamlined the integer for-loop syntax. Instead
of the loop variable redundantly appearing in two places,
it's now just
for x i y:
...
* If you
Pyrex 0.9.7.1 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
This version fixes a bug in the new integer indexing
optimisation which causes indexing of a non-sequence type
with a C int to fail with a TypeError.
What is Pyrex?
--
Pyrex is a language
Pyrex 0.9.7.2 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
Seems I didn't quite eradicate all of the integer
indexing bugs. Here's a fix for the other half.
What is Pyrex?
--
Pyrex is a language for writing Python extension modules.
It lets you
Pyrex 0.9.8 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
This version has a number of new features:
* In-place operators (+= etc.) are now supported.
* The Pyrex compiler now has built-in facilities for
automatically tracking down and compiling all the
Pyrex 0.9.8.1 is now available:
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
Base classes no longer need to be specified in a forward
declaration of an extension type, or in the implementation
part of an extension type defined in a .pxd file.
Also, I've come up with an even
in advance!
Greg
--
http://mail.python.org/mailman/listinfo/python-list
.
HTH, Carl
Selenium. It's not pretty for what I want to do but it works ... then
again, what I need to do is not pretty either.
Ciao,
Greg
--
http://mail.python.org/mailman/listinfo/python-list
or options are welcome.
Thanks,
Greg
--
http://mail.python.org/mailman/listinfo/python-list
Terry Reedy wrote:
Does it work with 3.0?
As it stands, almost certainly not. But you're welcome
to try running it through 2to3 and see what happens.
Relevant libraries would have to be available for
3.0 as well -- not sure what the state of play is
there.
--
Greg
--
http://mail.python.org
couldn't find
any way of implementing these.
Test 37-image-cursor.py:
1. Mouse pointer hotspot is in the middle of the image.
That's okay too, it's meant to be there.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
Arnaud Delobelle wrote:
Or:
import ModuleName as this_module
Or:
this_module = __import__(__name__)
then you don't have to change anything.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
)
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
want to start iterating
again.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
know, whether something is deemed a derivative work is
judged on the basis of how similar it is to another work,
not whether its author had knowledge of the other work.
As long as you express an idea in an original way, it
shouldn't matter where you got the idea from.
--
Greg
--
http
it with the following.
Then you're effectively distributing the modified source in
its entirety, just with a funny header at the top of each
source file that serves no useful purpose.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
be
rather hackish, and wouldn't do anything for any
other incomparable types that might come along.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
the elements
involved are transitive, and leave the semantics in other
cases undefined.
Then in the Decimal module it could be warned that the
equality relations between int-float and int-Decimal are
not transitive, perhaps noting that this can cause
problems with sets and dicts.
--
Greg
--
http
:-)
(BTW, try doing that with the x.len() notation!)
--
Greg
But it's too late to change things.
--
http://mail.python.org/mailman/listinfo/python-list
Aaron Castironpi Brady wrote:
How do you have a yellow dog,
It's not a yellow dog, it's a dog yellow. Attention pay! :-)
--
Ewing Gregory
--
http://mail.python.org/mailman/listinfo/python-list
, they don't have any defined
relationship to source files, so they don't help you
find which file something is defined in.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
is that there are *no* side effects.
The confusing thing is that in everyday English the term
implies something bad or unwanted (e.g. side effects of
a drug). That's not necessarily true of the technical
meaning -- often the side effect is exactly what we want,
as in the case of append.
--
Greg
--
http
is regarded as a feature, so anything
which changes that seems to be a non-starter.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
own nest).
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
Marc 'BlackJack' Rintsch wrote:
On Fri, 03 Oct 2008 19:10:27 +1200, greg wrote:
(BTW, try doing that with the x.len() notation!)
def size(obj):
return obj.len()
or
size = operator.methodcaller('len')
No, what I meant was that if the normal way of getting
the len of something were
after I've changed
something.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
it has anything to do with
recursion.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
ALBOW - A Little Bit of Widgetry for PyGame
Version 2.0 is now available.
This version incorporates substantial additions and improvements.
New widgets include TabPanel, TableView, CheckBox, RadioButton and
an enhanced set of TextField-based controls.
functions.
Although Guido has defended it on the grounds that it can
be inconvenient having a function that returns different
types under different circumstances. Also it discourages
making the mistake of treating the return value as a
boolean.
--
Greg
--
http://mail.python.org/mailman/listinfo
, either it's sufficient to just
resize one pane and keep the others a fixed size, or
you really want user control over the size of each
pane individually. Proportional resizing is a
compromise that just ends up annoying me.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
for an
event to get scheduled while in the midst of a sleep. It
also doesn't take any measures to protect its data structures
from concurrent access.
The documentation could make this clearer, especially since
it confusingly talks about allowing other threads to run.
--
Greg
--
http://mail.python.org
.
Anyway, glad you're finding it useful. Feel free to ask if
you have any more questions.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
into arguments, it's
the program being run. So you need to avoid any kind of
exec or spawn operation, whether it goes through the shell
or not, unless you know the program being run isn't going
to interpret '/' as an option.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
. The main problem is that its nature
needs to be much more clearly spelled out in the
docs -- it's something of an attractive nuisance the
way it is.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
fast,
but good for a lot of every day tasks.
The neat thing about Python is that you can strap
on a jet engine (C extension) when you really need
a burst of speed.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
James Mills wrote:
Directly importing a bash function into python is not
possible.
Well, you could write a bash interpreter in Python...
but that's probably more work than it's worth
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
and shouldn't be done in multi-
threaded apps
No, it's there because it's necessary for acceptable performance
when multiple threads are running in one interpreter. Independent
interpreters wouldn't mean the absence of a GIL; it would only
mean each interpreter having its own GIL.
--
Greg
--
http
pointers around everywhere is bound to have some effect
on performance. The idea mightn't go down too well if it
slows things significantly in the case where you're only
using one interpreter.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
to create its
own versions of all the builtin constants and type objects,
and import its own copy of all the modules it uses.
One wonders if it wouldn't be cheaper just to fork the
process. Shared memory can be used to transfer large lumps
of data if needed.
--
Greg
--
http://mail.python.org/mailman
a separate thread for
each interpreter, which you mightn't always want.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
dump
the big lump of data to be transferred in there, and send
a short message through a pipe to the other process to
let it know it's there.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
in there? It becomes visible to other
threads using the same type object. If it's not safe
for sharing, bad things happen.
Python's data model is not conducive to making a clear
distinction between private and shared objects,
except at the level of an entire interpreter.
--
Greg
--
http://mail.python.org/mailman
, are shared as well.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
that the attribute wasn't found. So when
your property raises an AttributeError, this is
indistinguishable from the case where the property wasn't
there at all.
To avoid this you would have to raise some exception
that doesn't derive from AttributeError.
--
Greg
--
http://mail.python.org/mailman
, other.value)
Unfortunately, the __cmp__ method has been eliminated from
3.0 as well, so this won't work as-is. You would need to
override __lt__, __eq__, etc.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
an alias for the actual parameter,
so that assigning to the formal parameter has the same
effect as assigning to the actual parameter.
Seems to me that (1) describes exactly how parameter passing
works in Python. So why insist that it's *not* call by value?
--
Greg
--
http://mail.python.org
Douglas Alan wrote:
greg [EMAIL PROTECTED] writes:
Seems to me that (1) describes exactly how parameter passing
works in Python. So why insist that it's *not* call by value?
Because there's an important distinction to be made,
The distinction isn't about parameter passing, though, it's
Gabriel Genellina wrote:
En Tue, 28 Oct 2008 00:58:10 -0200, greg [EMAIL PROTECTED]
escribió:
(1) Call by value: The actual parameter is an expression. It is
evaluated and the result is assigned to the formal parameter.
Subsequent assignments to the formal parameter do not affect
assignment works in Python, that
tells them all they need to know.
If they don't understand how assignment works, then they
have a more fundamental knowledge gap that needs to be
corrected first.
--
Greg
Then the questions and puzzled looks will start...
And when they tell their friend that Joe
that
don't have anything to do with parameter passing!
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
and references.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
).
Since Python only has one parameter passing mechanism,
there's no need to give it a name at all. If you're
having to explain it, just explain it, and don't
bother naming it!
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
*, not some other language
you happen to know previously.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
, that tells them all
they need to know.
Nonsense.
Why? What else *do* you think they need to know?
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
about it, we don't need it!
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
Douglas Alan wrote:
greg [EMAIL PROTECTED] writes:
This holds for *all* languages that I know about, both
static and dynamic.
Then you don't know about all that many languages. There are
languages that use call-by-name, and those that use
call-by-value-return. Some use call-by-need
is somewhat unfortunate.
If they'd been called something like call by assignment
and call by alias, none of this confusion would have
arisen.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
of
their regular employment temporarily, so unless there's
quite a *lot* of money being offered (enough to offer someone
full-time employment, for example) it doesn't necessarily
make any more man-hours available.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
if it doesn't
support indexing or iterating or whatever you want to
do with it.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
in some way. So instead, you just
tell them how it works, and leave them to decide for themselves
what name they want to give it.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
and effort developing the compiler than
writing the tests.
--
Greg
--
http://mail.python.org/mailman/listinfo/python-list
On May 25, 9:50 pm, [EMAIL PROTECTED] wrote:
On May 24, 9:41 am, Sh4wn [EMAIL PROTECTED] wrote:
Python advertises himself as a full OOP language, but why does it miss
one of the basic principles of OOP? Will it ever be added to python?
Others have already answered this directly, but I'd
1 - 100 of 1559 matches
Mail list logo