See http://gmpy.sourceforge.net/ for details.
What is it: a wrapper for the GMP library, to provide multi-precision
arithmetic for Python. Multi-precision floats, and unbounded-precision
rationals, are not present in stock Python; multi-precision integers
('long') are, but gmpy's version of multi-precision integers is faster
for some operations (NOT all -- used to be, but Python 2.3 did serious
enhancements to some operations on longs) and provides lots of nifty
pre-packaged additional functions.
Minor changes and bug-fixes since the latest 0.9 pre-alpha; support for
Python 2.3. The Windows binary release is now for Python 2.3 _only_ (if
you're stuck with Python 2.2 on Windows, you can keep using gmpy 0.9
pre-alpha and not really suffer from that). Known bug on Windows: the
scan0 and scan1 functions appear broken (perhaps related to the lack of
a GMP 4.0 library for Windows -- haven't found one around yet).
Alex
py_mpgedit SDK 0.1 beta has been released.
Download the py_mpgedit SDK:
http://www.mpgedit.org/mpgedit/download_sdks.html
Browse the documention:
http://www.mpgedit.org/mpgedit/sdk/py_mpgedit.htm
-----
py_mpgedit is the mpgedit SDK python extension for Linux and Windows.
mpgedit Software Development Toolkit (SDK) is a library exporting core editing, playback and indexing functionality. It
edits and plays MP3 files (MPEG 1 layer 1/ 2/3, MPEG 2, and MPEG 2.5 audio files). Using this toolkit, developers can
create their own MP3 editing applications.
Here is a sample session demonstrating editing and playback of an mp3 file using this extension. This creates a file
new.mp3 from seconds 6 to 12 of old.mp3, then plays new.mp3.
>>> import mpgedit
>>> spec = mpgedit.Spec()
>>> spec.append('old.mp3', '6-12')
>>> mpgedit.Index('old.mp3').index()
>>> mpgedit.Edit(spec, 'new.mp3').edit()
>>> mpgedit.Play('new.mp3').play()
mpgedit home page:
http://www.mpgedit.org
mpgedit SDK on freshmeat:
http://freshmeat.net/projects/mpgedit_sdk
What is PyProtocols?
--------------------
PyProtocols is an extended implementation of PEP 246, adding a new
"declaration API" that lets you easily define your own interfaces and
adapters, and declare what adapters should be used to adapt what types,
objects, or interfaces. Using PyProtocols, you can easily make flexible
frameworks that you or other developers can extend without needing to
modify the base framework. PyProtocols interfaces can interoperate with
those of Twisted and Zope, or can be used entirely standalone.
PyProtocols may be used, modified, and distributed under the same terms
and conditions as Python or Zope.
What's new in version 0.9.1?
----------------------------
* Implemented Samuele Pedroni's "subproto" idea (see
http://mail.python.org/pipermail/python-dev/2003-June/036242.html) as the
new 'protocolForType()' API.
* Added other APIs to automatically generate protocols, such as
'protocolForURI()', 'sequenceOf()', and 'Variation()'.
* Compatible with Zope X3 Milestone 4, Python 2.3.2, and Twisted
1.1.0. (Also runs on Python 2.2.2+, if you don't need Zope 3 compatibility.)
* New 'Adapter' and 'StickyAdapter' convenience base classes
* Fixes for compatibility with 'ExtensionClass', and for a memory leak in
the optional C "speedups" module
PyProtocols Resources
---------------------
* Detailed Changes since the 0.9 release:
http://peak.telecommunity.com/protocol_api/CHANGES.txt.html
* Release notes, installation instructions, and browsable API docs:
http://peak.telecommunity.com/protocol_api/
* Source and Binary Releases:
http://peak.telecommunity.com/dist/
* Reference Manual (HTML):
http://peak.telecommunity.com/protocol_ref/module-protocols.html
* Reference Manual (PDF):
http://peak.telecommunity.com/protocol_ref.pdf
* Browsable CVS Repository:
http://cvs.eby-sarna.com/PyProtocols/
Dear Judges, Lawyers, Policemen, Guards, Counselors, Taxpayers, et. al.,
We are here. Like it or not, for good or bad, we are here. Who are we? We are the
downtrodden and dispossesed, the self-torturing, the disenfranchised convicts,
drug and alcohol addicts, the unemployed and unemployable. We are the children of
poverty, financial and spiritual. We have and will have children of our own,
grandchildren too. We are ex-cons, uninsured, homeless, of many colors and speaking
many tongues. We are the enemy in what has become a domestic war against ourselves.
And who are you? You who like the tough talk of Tough on Crime? You who watch as
budgets are cut in education and health care while you militarize a police force?
Bullet-proof vests, automatic weapons, helicopters, tanks, robots ... the
testosterone is oozing through the streets, more prisons, longer sentences, tighten
the belt, spartan conditions, task forces, gang units, gun courts. And what is there
to show for it? Unemployent stays low because half the population oversees those
"out of the workforce", the dregs, the rabble, the enemy? Please tell me there is a
deeper reason. Do you feel safer? More humane? More like a cohesive society with a
shared sense of purpose, who can identify Us and Them? Do you live in a gated
community or gentrified neighborhood? By the way, have you read the Declaration of
Independence and US Constitution - or do you only know the first phrases?
It's about time we got together. Please know that I have yet to meet a convict who
wants their child to be a thief, an addict, a dealer, a prostitute, or a violent
individual. Most of us still have hope for ourselves even when stuck in the darkest
dilemmas, ruts and catch-22s. Most of us believe in crafting laws and instilling
order. Many of us have burrowed beneath the surface to find a spiritual sense of
being, an understanding force at least as powerful as those we succumbed to, and many
of use wouldn't escape if you opened the front door. Did you know that approximately
10 million Americans are either incarcerated, on probation, on parole or once were in
those categories? Each of those 10 million have families, friends, neighbors ... and
so closer and closer does the We interface with the You. Don't you think it's time we
talked?
Are you ready? Can you accept that the road we are travelling points toward a grim
and painful future? Do you have the heart to face monumental failures while bravely
struggling beyond where we are now? I know that some of you are, and that some of us
are, and this is what gives me hope. You need our insights just as we need your
structure. It is never over, especially when a real solution, a real treatment for
our sickness, is yet to begin.
In Solidarity,
Bruce Reilly (a.k.a Bruha)
P.O.Box 8274
Cranston, RI 02920 USA
P.S. - I am trying to conceptualize an effective guerilla media campaign to promote
this cause. Ideas are welcome. Collaboration is prayed.
using an e-mail proxy!
Due to popular demand, an anonymous FTP site list of pictures-related
"stuff" has now been compiled and is available from bongo in
/gifstuff/ftpsites. This list is by no means guaranteed to be accurate
or comprehensive, but hopefully most of the information is valid. BTW,
this list is a condensed and supplemented version of the Jan. 20, 1990
revision of Jon Granrose's (odin(a)pilot.njin.net) "List of Hosts that
Accept Anonymous FTP Requests", which is posted regularly to comp.misc,
comp.sources.wanted, and alt.sources.wanted, and also available via
anonymous FTP from pilot.njin.net (128.6.7.38). Any additions or
corrections would be most welcome and appreciated!
Most ftp programs will allow you to enter something like
ftp wsmr-simtel20.army.mil
which will connect you with the mighty SIMTEL-20 archives at the White
Sands Missile Range. Occasionally, you will encounter an ftp program
that is old enough or slothful enough that it does not recognize
internet-style addresses like the one above. In that case, you'll
need to know the computer's numeric address; for SIMTEL-20
you would
python-dev Summary for 2003-10-16 through 2003-11-15
++++++++++++++++++++++++++++++++++++++++++++++++++++
This is a summary of traffic on the `python-dev mailing list`_ from
October 16, 2003 through November 15, 2003. It is intended to inform
the wider Python community of on-going developments on the list. To
comment on anything mentioned here, just post to `comp.lang.python`_ (or
email python-list(a)python.org which is a gateway to the newsgroup) with a
subject line mentioning what you are discussing. All python-dev members
are interested in seeing ideas discussed by the community, so don't
hesitate to take a stance on something. And if all of this really
interests you then get involved and join `python-dev`_!
This is the twenty-eighth and twenty-ninth summaries written by Brett
Cannon (does anyone even read this?).
All summaries are archived at http://www.python.org/dev/summary/ .
Please note that this summary is written using reStructuredText_ which
can be found at http://docutils.sf.net/rst.html . Any unfamiliar
punctuation is probably markup for reST_ (otherwise it is probably
regular expression syntax or a typo =); you can safely ignore it,
although I suggest learning reST; it's simple and is accepted for `PEP
markup`_ and gives some perks for the HTML output. Also, because of the
wonders of programs that like to reformat text, I cannot guarantee you
will be able to run the text version of this summary through Docutils_
as-is unless it is from the original text file.
.. _PEP Markup: http://www.python.org/peps/pep-0012.html
The in-development version of the documentation for Python can be found
at http://www.python.org/dev/doc/devel/ and should be used when looking
up any documentation on something mentioned here. PEPs (Python
Enhancement Proposals) are located at http://www.python.org/peps/ . To
view files in the Python CVS online, go to
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/ . Reported bugs
and suggested patches can be found at the SourceForge_ project page.
.. _python-dev: http://www.python.org/dev/
.. _SourceForge: http://sourceforge.net/tracker/?group_id=5470
.. _python-dev mailing list:
http://mail.python.org/mailman/listinfo/python-dev
.. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python
.. _Docutils: http://docutils.sf.net/
.. _reST:
.. _reStructuredText: http://docutils.sf.net/rst.html
.. contents::
.. _last summary:
http://www.python.org/dev/summary/2003-09-01_2003-09-15.html
=====================
Summary Announcements
=====================
Thanks to midterms and projects my time got eaten up by school. That
postponed when I could work on the twenty-eighth summary so much that
the twenty-ninth was need of being written. So they are combined in
into one to just get the stuff out the door.
The second half of October had some major discussions happen. Guido and
Alex Martelli talking equals pain for me. =)
There was a large discussion on scoping and accessing specific
namespaces. Jeremy Hylton is working on a PEP on the subject so I am
not going to stress myself over summarizing the topic.
A big discussion on the first half of November was about weakrefs and
shutdown. Tim Peters figured out the problem (had to do with weakrefs
referencing things already gc'ed and thus throwing a fit when trying to
gc them later or keeping an object alive because of the weakref). It
was long and complicated, but the problem was solved.
If you have ever wanted to see linked lists used in Python in a rather
elegant way, take a look at Guido's implementation of itertools.tee at
http://mail.python.org/pipermail/python-dev/2003-October/039593.html .
Europython is going to be held from June 7-9, 2004 in Sweden. See
http://mail.python.org/pipermail/europython/2003-November/003634.html
for more details.
PyCon is slowly moving along. The registration site is being put
through QA and the paper submission system is being worked on. The Call
for Proposals (CFP) is still on-going; details at
http://www.python.org/pycon/dc2004/cfp.html . Keep an eye out for when
we announce when the registration and paper submission systems go live.
=========
Summaries
=========
------------------------------------------
How to help with the development of Python
------------------------------------------
In an attempt to make it easy as possible for people to find out how
they can help contribute to Python's development, I wrote an essay on
the topic (mentioned last month, but some revisions have been done). It
covers how Python is developed and how **anyone** can contribute to the
development process. The latest version can be found at
http://mail.python.org/pipermail/python-dev/2003-October/039473.html .
Any comments on the essay are appreciated.
Contributing threads:
- `Draft of an essay on Python development
<http://mail.python.org/pipermail/python-dev/2003-October/038677.html>`__
- `2nd draft of "How Py is Developed" essay
<http://mail.python.org/pipermail/python-dev/2003-October/039473.html>`__
------------------------------------------------
Generator Expressions: list comp's older brother
------------------------------------------------
If you ever wanted to have the power of list comprehensions but without
the overhead of generating the entire list you have Peter Norvig to
thank initially, and then what seems like the rest of the world, for
generator expressions.
`PEP 289`_ covers all the details, but here is a quick intro. You can
think of generator expressions as list comprehensions that return an
iterator for each item instead a list items. The syntax is practically
the same as list comprehensions as well; just substitute parentheses for
square brackets (most of the time; generator expressions just need
parentheses around them, so being the only argument to a method takes
care of the parentheses requirement).
A quick example is::
(x for x in range(10) if x%2)
returns an iterator that returns the odd numbers from 0 to 10. This
make list comprehensions just syntactic sugar for passing a generator
expression to list() (note how extra parentheses are not needed)::
list(x for x in range(10) is x%2)
Having list comprehensions defined this way also takes away the dangling
item variable for the 'for' loop. Using that dangling variable is now
discouraged and will be made illegal at some point.
For complete details, read the PEP.
.. _PEP 289: http://www.python.org/peps/pep-0289.html
Contributing threads:
- `decorate-sort-undecorate
<http://mail.python.org/pipermail/python-dev/2003-October/038652.html>`__
- `accumulator display syntax
<http://mail.python.org/pipermail/python-dev/2003-October/038804.html>`__
- `listcomps vs. for loops
<http://mail.python.org/pipermail/python-dev/2003-October/039081.html>`__
- `PEP 289: Generator Expressions (second draft)
<http://mail.python.org/pipermail/python-dev/2003-October/039356.html>`__
---------------------
list.sorted() is born
---------------------
After the addition of the 'key' argument to list.sort(), people began to
clamor for list.sort() to return self. Guido refused to do give in, so
a compromise was reached. 'list' now has a class method named 'sorted';
pass it an iterable and it will return a sorted list.
Contributing threads:
- `decorate-sort-undecorate
<http://mail.python.org/pipermail/python-dev/2003-October/038811.html>`__
- `inline sort option
<http://mail.python.org/pipermail/python-dev/2003-October/038825.html>`__
- `sort() return value
<http://mail.python.org/pipermail/python-dev/2003-October/038855.html>`__
- `copysort patch
<http://mail.python.org/pipermail/python-dev/2003-October/038947.html>`__
------------------------------------
Recursion limit in re is now history
------------------------------------
Thanks to Gustavo Niemeyer the recursion limit in the re module has now
be removed!
Contributing threads:
- `SRE recursion
<http://mail.python.org/pipermail/python-dev/2003-October/038839.html>`__
- `SRE recursion removed
<http://mail.python.org/pipermail/python-dev/2003-October/038962.html>`__
-----------------------------------
Copying iterators one day at a time
-----------------------------------
Reiteration for iterators came up as part of the immense discussion on
generator expressions. The difficulty of doing it generally came up.
This lead to Alex Martelli proposing magic method support for __copy__
in iterators that have want to allow making a copy of itself. This was
written down as `PEP 323`_.
As an interim solution, itertools grew a new function: tee. It takes in
an iterable and returns two or more iterators which independently
iterate over the iterable.
.. _PEP 323: http://www.python.org/peps/pep-0323.html
Contributing threads:
- `Reiterability
<http://mail.python.org/pipermail/python-dev/2003-October/038969.html>`__
- `cloning iterators again
<http://mail.python.org/pipermail/python-dev/2003-October/039593.html>`__
- `... python/nondist/peps pep-0323.txt, NONE ...
<http://mail.python.org/pipermail/python-dev/2003-October/039656.html>`__
- `Guido's Magic Code
<http://mail.python.org/pipermail/python-dev/2003-October/039819.html>`__
------------------------------------------------------
Returning Py_(None, True, False) now easier than ever!
------------------------------------------------------
Py_RETURN_NONE, Py_RETURN_TRUE, and Py_RETURN_FALSE have been added to
Python 2.4. They are macros for returning the singleton mentioned in
the name. Documentation has yet to be written (my fault).
Contributing threads:
- `How to spell Py_return_None and friends
<http://mail.python.org/pipermail/python-dev/2003-October/039000.html>`__
- `python/dist/src/Include object.h, 2.121, ...
<http://mail.python.org/pipermail/python-dev/2003-October/039026.html>`__
-------------------------------------------------------------------------
'String substitutions'/'dict interpolation'/'replace %(blah)s with $blah'
-------------------------------------------------------------------------
The idea of introducing string substitutions using '$' came up. Guido
said that if this was made a built-in feature it would have to wait
until Python 3. He was receptive to moving the functionality to a
module, though.
Barry Warsaw pasted code into
http://mail.python.org/pipermail/python-dev/2003-October/039369.html
that handles string substitutions.
Contributing threads:
- `Can we please have a better dict interpolation syntax?
<http://mail.python.org/pipermail/python-dev/2003-October/039324.html>`__
------------------------------------------
"reduce() just doesn't get enough mileage"
------------------------------------------
That quote comes from Guido during the discussion over whether 'product'
should be added as an accumulator function built-in like 'sum'. The
idea was shot down and conversation quickly turned to whether 'reduce'
should stay in the language (the consensus was "no" since the function
does not read well and its functionality can easily be done with a 'for'
loop).
A larger discussion on what built-ins should eventually disappear will
be covered in the next Summary.
Contributing threads:
- `product()
<http://mail.python.org/pipermail/python-dev/2003-October/039326.html>`__
-----------
PyPy update
-----------
The PyPy_ development group sent an update on their happenings to the
list. Turns out they are trying to get funding from the European Union.
They are also fairly close to getting a working version (albeit with
some bootstrapping from CPython, but it will still be damn cool what
they have pulled off even with this caveat).
They also announced a sprint they are holding in Amsterdam from Dec.
14-21. More info can be found at
http://codespeak.net/moin/pypy/moin.cgi/AmsterdamSprint .
.. _PyPy: http://codespeak.net/pypy/
Contributing threads:
- `PyPy: sprint and news
<http://mail.python.org/pipermail/python-dev/2003-October/039579.html>`__
----------------------------
Never say Python is finished
----------------------------
I asked python-dev for masters thesis ideas. I great number of
possibilities were put out. If anyone out there is curious to see what
some people would like to see done for Python in terms of a large
project check the thread out.
Contributing threads:
- `Looking for master thesis ideas involving Python
<http://mail.python.org/pipermail/python-dev/2003-October/039763.html>`__
---------------------------------
Rough draft of Decimal object PEP
---------------------------------
Facundo Batista has posted a rough draft of a PEP for a decimal object
that is being worked on in the sandbox. Comment on it on
`comp.lang.python`_ if this interests you.
Contributing threads:
- `prePEP: Decimal data type
<http://mail.python.org/pipermail/python-dev/2003-October/039870.html>`__
----------------------------------------------------------
Relations of basestring and bye-bye operator.isMappingType
----------------------------------------------------------
The idea of introducing relatives of basestring for numbers came from
Alex Martelli. That idea was shot down for not being needed once the
merger of int and long occurs.
The point that operator.isMappingType is kind of broken came up. Both
Alex and Raymond Hettinger would not mind seeing it disappear. No one
objected. It is still in CVS at the moment, but I would not count on it
necessarily sticking around (although there are rumblings that there
might be a way to fix it so it is partially useful).
Contributed threads:
- `reflections on basestring -- and other abstract basetypes
<http://mail.python.org/pipermail/python-dev/2003-November/039885.html>`__
- `operator.isMappingType
<http://mail.python.org/pipermail/python-dev/2003-November/040122.html>`__
---------------------------------------------------------
Why one checks into the trunk before a maintenance branch
---------------------------------------------------------
The question of whether checking a change into a maintenance branch
before applying it to the main trunk was acceptable came up. The short
answer is "no". Basically the trunk gets more testing than the
maintenance branches and thus the patch should have to prove its
stability first. Only then should it go into a maintenance branch.
The same goes for changes to code that will eventually disappear in the
trunk. Someone might be planning on removing some code, but if that
person falls off the face of the earth the code will still be there.
That means applying the patch to the code that is scheduled to disappear
is still a good idea.
Contributing threads:
- `check-in policy, trunk vs maintenance branch
<http://mail.python.org/pipermail/python-dev/2003-November/039903.html>`__
-----------------------
New reversed() built-in
-----------------------
There was a new built-in named reversed(), and all rejoiced after giving
the creator a thorough beating.
Straight from the function's doc string: "reverse iterator over values
of the sequence". `PEP 322`_ has the relevant details on this new built-in.
.. _PEP 322: http://www.python.org/peps/pep-0322.html
Contributing threads:
- `PEP 322: Reverse Iteration
<http://mail.python.org/pipermail/python-dev/2003-November/039924.html>`__
---------------------------
Cleaning the built-in house
---------------------------
Guido asked what built-ins should be considered for deprecation.
Instantly intern, coerce, and apply came up. apply already had a
PendingDeprecationWarning and that will stay for the next release or
two. intern and coerce, though, did not have any major champions
(intern had some fans, but just for the functionality).
Guido did state that none of these built-in will be removed any time
soon. If they do get deprecated it does not lead to immediate removal.
Python 3, though, takes the gloves off and that can see them just
completely disappear.
Contributing threads:
- `Deprecating obsolete builtins
<http://mail.python.org/pipermail/python-dev/2003-November/039994.html>`__
----------------------------------------
Passing arguments to str.(encode|decode)
----------------------------------------
The idea of allowing keyword arguments be passed to any specified
encoder/decoder was brought up by Raymond Hettinger. It seemed like an
idea that was supported. The idea of specifying the encoder or decoder
based on the actual object instead of the current way of specifying a
string that is passed to the registered codec search functions was
suggested.
Nothing has been finalized on this idea as of now.
Contributing threads:
- `Optional arguments for str.encode /.decode
<http://mail.python.org/pipermail/python-dev/2003-November/040055.html>`__
------------------------------------------------------
Where, oh where, to move the good stuff out of string?
------------------------------------------------------
It looks like ascii_* and possibly maketrans from the string module will
be tacked on to the str type so that the string module can finally be
removed from the language. It has not been pronounced upon, but it
looks like that is what the BDFL is leaning towards.
Issues of using the methods of str as unbound methods did come up. As
it stands you cannot pass a unicode object to str.upper and thus there
is no one uppercasing function as there is in the string module. This
issue brought up the problem of Unicode and locale ties and collation
(how to sort things).
Contributing threads:
- `other "magic strings" issues
<http://mail.python.org/pipermail/python-dev/2003-November/040067.html>`__
-----------------------------------------
Supported versions of Sleepycat for bsddb
-----------------------------------------
The basic answer is 3.2 - 4.2 should work when you compile from source.
Contributing threads:
- `which sleepycat versions do we support in 2.3.* ?
<http://mail.python.org/pipermail/python-dev/2003-November/040196.html>`__
-----------------------------
Sets now at blazing C speeds!
-----------------------------
Raymond Hettinger implemented the sets API in C! The new built-ins are
set (which replaces sets.Set) and frozenset (which replaces
sets.ImmutableSet). The APIs are the same as the sets module sans the
name change from ImmutableSet to frozenset.
Contributing threads:
- `set() and frozenset()
<http://mail.python.org/pipermail/python-dev/2003-November/040253.html>`__
The Vancouver Python and Zope user's group is pleased to present an
Introduction to Python on December 6, 2003. Details here:
http://www.vanpyz.org/IntroToPython
Please RSVP to the address in the flyer.
Paul Prescod
PyQwt-3.8 = FAST and EASY data plotting for Python and (Py)Qt.
PyQwt is a set of Python bindings for the Qwt C++ class library which
extends the Qt framework with widgets for scientific and engineering
applications.
It supports the use of PyQt, Qt, Qwt, the Numerical Python extensions
(either Numeric, or numarray or both) and optionally SciPy in a GUI
Python application or in an interactive Python session.
The home page of PyQwt is http://pyqwt.sourceforge.net.
Main changes in PyQwt-3.8:
1. PyQwt inherits from Qwt the new classes QwtPicker, QwtPlotPicker and
QwtPlotZoomer.
QwtPicker can make any widget react to events by event filtering.
QwtPlotPicker is a QwtPicker taylored to the plot canvas.
QwtPlotZoomer implements infinite deep zooming on the plot canvas.
2. PyQwt inherits from Qwt the support for Qt's rich text format in QwtPlot
to display equations like E=mc<sup>2</sup>.
Caveat: in principle, a truetype font with full unicode support is better
to typeset equations.
3. Bug fixes to support event filtering code (see EventFilterDemo.py).
4. Conversion of a QImage to a Numeric array or numarray array.
5. Better support for cloning a plot into Grace from the command line
interpreter friendly plot classes.
6. PyQwt-3.8 works with PyQt-3.8.1 downto -3.6 and Qt-3.2.3 downto -2.3.0.
7. License change: GPL with permission for dynamic linking to commercial,
educational and non-commercial versions of Qt, PyQt and sip. In this
case PyQwt becomes a free plug-in for a non-free program.
Gerard Vermeulen
Hi all,
You can now download the Python Application Framework or PAF for short.
This framework will make your life as a application developper a lot easier.
PAF consists of a set of easy-to-use components, such as CORBA-support,
error-handling and a GUI framework based on wxPython. You can check it out
at our open source site www.dctools.org
BlackAdder 1.0-031121 for Python development on Windows and Linux
The release includes PyQt 3.8 documentation.
Rancho Santa Margarita, CA -- 24 November 2003 -- theKompany.com, producers
and distributors of high-quality open source and commercial Linux software,
are pleased to announce the availability of BlackAdder 1.0-031121, a
Windows/Linux UI development environment for Python based on Qt.
BlackAdder combines a visual design environment with debugging, syntax
highlighting, ODBC interfaces and extensive HTML documentation into a
comprehensive platform for developing Python applications with PyQt.
BlackAdder is an exciting product for rapidly developing applications on
Linux or Windows using the popular Python language. Besides being a
powerful IDE with an extensive array of tools to make developing your
application quick and easy. BlackAdder is tightly integrated with PyQt
which is a set of bindings for Python to allow you to make use of the
popular Qt multi-platform windowing toolkit from Trolltech. Our optional
Business Edition gives you a full commercial license for both PyQt and Qt
as used from BlackAdder.
Features:
* Integrated Qt Designer
* Syntax highlighting text editor
* Supports the latest versions of Python, PyQt and Qt
* eGenix.com mx Extensions for ODBC access from Python have been included.
* Integrated Debugger
* The debugger allows class instance objects to be displayed.
* No restrictions are placed on the types of files that can be included in
a project.
* Project Explorer for adding existing file sets to a project
* Extensive project management capability
* and much more&
BlackAdder can be purchased or free demos downloaded from
www.thekompany.com/products/blackadder.
--
Best regards
omniORB 4.0.3 and omniORBpy 2.3 are now available. They are bug fix
releases. Many thanks to all the people who have contributed bug fixes
and features.
omniORB is a robust, high performance CORBA implementation for C++.
omniORBpy is a version for Python. They are open source, available
under the terms of the GNU LGPL.
As always, the releases can be downloaded from SourceForge in source
and Windows binary formats:
http://sourceforge.net/project/showfiles.php?group_id=51138
Enjoy.
Duncan.
--
-- Duncan Grisby --
-- duncan(a)grisby.org --
-- http://www.grisby.org --