You can get the latest Pyro version (2.2) at http://pyro.sourceforge.net
What is Pyro?
Pyro is an acronym for PYthon Remote Objects. It is a basic Distributed
Object Technology system written entirely in Python.
It is extremely easy to implement a distributed system with Pyro, because
all network communication code is abstracted and hidden from
your application. You just get a remote Python object and invoke methods
on the object on the other machine.
Pyro offers you a Name Server, an Event Service, mobile objects, remote
exceptions, dynamic proxies, remote attribute access, automatic
reconnection, a detailed manual, and many examples to get you started
right away.
Irmen de Jong
Hello!
mimedecode.py
WHAT IS IT
Mail users, especially in non-English countries, often find that mail
messages arrived in different formats, with different content types, in
different encodings and charsets. Usually this is very good because it allows
us to use apropriate formats/encodings/whatever. Sometimes, though, some
unification is desireable. For example, one may want to put mail messages into
an archive, make HTML indicies, run search indexer, etc. In such situations
converting messages to text in one character set and skipping some binary
atachmetnts will be much desireable.
Here is the solution - mimedecode.py.
This is a program to decode MIME messages. The program expects one input
file (either on command line or on stdin) which treated as an RFC822 mesage,
and decoded to stdout. If the file is not an RFC822 message the file just
piped to stdout one-to-one. If it is a simple RFC822 message it is just
decoded as one part. If it is a MIME message with multiple parts
("attachments") all parts decoded. Decoding can be controlled by command-line
options.
WHAT'S NEW in version 1.1.1
Documentation in DocBook v4.1 format. HTML, plain text and manual page.
WHERE TO GET
Master site: http://phd.pp.ru/Software/Python/#mimedecode
Faster mirrors: http://phd.by.ru/Software/Python/#mimedecodehttp://phd2.chat.ru/Software/Python/#mimedecode
Requires: Python 2.0+ (actually tested with 2.1.1),
configured mailcap database.
Documentation (also included in the package):
http://phd.pp.ru/Software/Python/mimedecode.txthttp://phd.by.ru/Software/Python/mimedecode.txthttp://phd2.chat.ru/Software/Python/mimedecode.txt
AUTHOR
Oleg Broytmann <phd(a)phd.pp.ru>
COPYRIGHT
Copyright (C) 2001 PhiloSoft Design
LICENSE
GPL
Oleg.
--
Oleg Broytmann http://phd.pp.ru/ phd(a)phd.pp.ru
Programmers don't die, they just GOSUB without RETURN.
Optik 1.1.1
===========
Optik is a powerful, flexible, extensible, easy-to-use command-line
parsing library for Python. Using Optik, you can add intelligent,
sophisticated handling of command-line options to your scripts with very
little overhead.
Here's an example of using Optik to add some command-line options to a
simple script:
from optik import OptionParser
[...]
parser = OptionParser()
parser.add_option("-f", "--file",
action="store", type="string", dest="filename",
help="write report to FILE", metavar="FILE")
parser.add_option("-q", "--quiet",
action="store_false", dest="verbose", default=1,
help="don't print status messages to stdout")
(options, args) = parser.parse_args()
With these few lines of code, users of your script can now do the
"usual thing" on the command-line:
<yourscript> -f outfile --quiet
<yourscript> -qfoutfile
<yourscript> --file=outfile -q
<yourscript> --quiet --file outfile
(All of these result in
options.filename == "outfile"
options.verbose == 0
...just as you might expect.)
Even niftier, users can run one of
<yourscript> -h
<yourscript> --help
and Optik will print out a brief summary of your script's optons:
usage: <yourscript> [options]
options:
-h, --help show this help message and exit
-fFILE, --file=FILE write report to FILE
-q, --quiet don't print status messages to stdout
That's just a taste of the flexibility Optik gives you in parsing your
command-line. See the documentation included in the package for
details.
AUTHOR, COPYRIGHT, AVAILABILITY
-------------------------------
Optik was written by Greg Ward <gward(a)python.net>
The latest version of Optik can be found at
http://optik.sourceforge.net/
Copyright (c) 2001 Gregory P. Ward. All rights reserved.
CHANGES IN OPTIK 1.1.1
----------------------
* Various documentation tweaks (thanks to Alan Eldridge
<alane(a)geeksrus.net> for prodding me into those, and
for doing most of one).
* Fixed a bug that prevented users from doing things like -f""
or --file="" on the command-line. Involved rewriting some hairy
code in OptionParser, which has the pleasant side-effect that the
first argument to an option with multiple arguments can now be
jammed up against the option, eg. "-p3 5 1".
--
Greg Ward - geek-at-large gward(a)python.net
http://starship.python.net/~gward/
Very few profundities can be expressed in less than 80 characters.
I've just released version 2.0.8 of Mailman, the GNU Mailing List
Manager. Mailman is released under the GNU General Public License
(GPL). Version 2.0.8 closes several cross-site scripting
vulnerabilities and includes a few other minor bug fixes.
More information on cross-site scripting exploits in general
can be found at
http://www.cert.org/advisories/CA-2000-02.html
I recommend anybody running a version of Mailman up to, and including
2.0.7 to upgrade to version 2.0.8.
GNU Mailman is software to help manage electronic mail discussion
lists. Mailman gives each mailing list a unique web page and allows
users to subscribe, unsubscribe, and change their account options over
the web. Even the list manager can administer his or her list
entirely via the web. Mailman has most of the features that people
want in a mailing list management system, including built-in
archiving, mail-to-news gateways, spam filters, bounce detection,
digest delivery, and so on.
Mailman is compatible with most web servers, web browsers, and mail
servers. It runs on GNU/Linux and should run on any other Unix-like
operating system. Mailman 2.0.8 requires Python 1.5.2 or newer. To
install Mailman from source, you will need a C compiler.
For more information on Mailman, including links to file downloads,
please see the Mailman web page: http://www.gnu.org/software/mailman
And its mirrors at:
http://mailman.sourceforge.nethttp://www.list.org
(Note: the gnu.org mirror is not yet updated.)
Patches and tarbals are available at
http://sourceforge.net/project/showfiles.php?group_id=103
There are email lists (managed by Mailman, of course!) for both
Mailman users and developers. See the web sites above for details.
Cheers,
-Barry
-------------------- snip snip --------------------
2.0.8 (27-Nov-2001)
Security fix release to prevent cross-site scripting exploits.
See http://www.cert.org/advisories/CA-2000-02.html for a
description of the general problem (not Mailman specific).
PySomorph is a python package for investingating subgraph isomorphism.
Subgraph Isomorphism is useful for a number of pratical applications
spanning from relational theory to investigating chemical structures.
PySomorph is a binding to the University of Napoli's
<http://amalfi.dis.unina.it/graph/> graph isomorphism library. The main
benefit is that edges and nodes of graph structures can be arbitrary
python objects. This allows for an amazing amount of flexibility in the
creation and searching of various graphs.
* Now uses disutils for unix/linux installations.
* Fixed a reference counting bug that caused odd failures when certain
objects were deleted.
* added an example application, subgraph isomorphism for network topology
Download and homepage at
http://staffa.wi.mit.edu/people/kelley/
Brian Kelley
Whitehead Institute for Biomedical Research
Release 5 of the McMillan Installer is here:
http://www.mcmillan-inc.com/install5_ann.html
Release 5 is a rewrite of the analysis and building code from earlier releasess. The result is much smaller, faster and more capable.
Major changes include:
- Instead of using an ini-file configuration (with a host of
confusing options), Release 5 uses Python syntax specification
files.
- An extensible hooks mechanism for modules / packages that
use import hacks.
- Ability to run on non-ELF platforms (should run on most Unix
systems, although I have not been able to test much of this).
- Linux users get full binary dependency analysis (so you can
include a private installation of TCL/TK or wxWindows, for
example).
- Windows users can now create "frozen" in-process COM servers.
- Refactored C code (many thanks to Alan Green) so embedders
can make use of Installer's capabilities.
There is also an Installer mailling list. Subscribe at:
http://trixie.triqs.com/mailman/listinfo/installer
Supported systems include:
- Windows
- Linux
- Unix (alpha quality)
Supported Python versions:
- Python 1.5 to 2.1 (2.2b2 appears to work too).
What is it:
The Installer package is any easy way to deploy Python apps
to systems without Python installed (or with incompatible Pythons
installed).
License:
MIT style.
Contact:
gmcm(a)hypernet.com
<P><A HREF="http://www.mcmillan-inc.com/install5_ann.html">Installer Release 5</A>Easy Python app deployment. (27-Nov-2001).
I'm pleased to announce a new version of my pyrepl package.
Here's an excerpt from the README:
This is pyrepl 0.6, a readline-a-like for Python, which seems to be
being released on 2001-11-27.
http://starship.python.net/crew/mwh/hacks/pyrepl.html
It requires python 2.1 (or newer) with the curses and termios modules
built, and features (in less than 3000 lines of code):
* sane multi-line editing
* history, with incremental search
* completion, including displaying of available options
* a fairly large subset of the readline emacs-mode keybindings
(adding more is mostly just a matter of typing)
* a liberal, Python-style, license
* a new python top-level
* no global variables, so you can run two or more independent readers
without having their histories interfering.
* generally speaking, a much more interactive experience than readline
(it's a bit like a cross between readline and emacs's mini-buffer)
[...]
Please direct comments to mwh(a)python.net.
(If you've released open source software you'll know how frustrating
it is to see a couple of hundred downloads and only get a handful of
emails, so don't think I'll be irritated by the banality of your
comments!)
New since 0.5.1:
+ Rewrote the low level code to be (hopefully) more portable and
(certainly) clearer. Most of the code from 0.5.1 is still present,
but it's been moved around and refactored (and the names have
gotten more sensible).
+ The above process fixed a fair few bugs.
+ Implemented a few more emacs-mode bindings.
+ Nailed another couple of differences between my top-level and the
the default one, including playing nice with Tk.
+ Implemented a saner way of handling window resizes (a sane way of
handling signals! Call the Unix police!)
+ minimal testing on cygwin.
[...]
Cheers,
M.
--
3. Syntactic sugar causes cancer of the semicolon.
-- Alan Perlis, http://www.cs.yale.edu/homes/perlis-alan/quotes.html
________________________________________________________________________
ANNOUNCING:
pybench -- The Python Benchmark Suite
Version 1.0.0
Extendable suite of of low-level benchmarks for measuring
the performance of the Python implementation
(interpreter, compiler or VM).
________________________________________________________________________
WHAT IS IT ?:
pybench is a collection of tests that provides a standardized way
to measure the performance of Python implementations. It takes a
very close look at different aspects of Python programs and let's
you decide which factors are more important to you than others,
rather than wrapping everything up in one number, like the other
performance tests do (e.g. pystone which is included in the Python
Standard Library).
pybench has been used in the past by several Python developers to
track down performance bottlenecks or to demonstrate the impact
of optimizations and new features in Python.
There's currently no documentation and no distutils support in
pybench; that'll go into one of the next releases. For now,
please read the source code. The command line interface for pybench
is the file pybench.py. Run this script with option '--help'
to get a listing of the possible options. Without options,
pybench will simply execute the benchmark and then print out
a report to stdout. Here's some sample output:
"""
Tests: per run per oper. overhead
----------------------------------------------------------------------
BuiltinFunctionCalls: 131.50 ms 1.03 us 0.50 ms
BuiltinMethodLookup: 195.85 ms 0.37 us 1.00 ms
CompareFloats: 126.00 ms 0.28 us 1.00 ms
CompareFloatsIntegers: 201.05 ms 0.45 us 0.50 ms
CompareIntegers: 192.05 ms 0.21 us 2.00 ms
CompareInternedStrings: 117.65 ms 0.24 us 3.50 ms
...
TryExcept: 289.75 ms 0.19 us 3.00 ms
TryRaiseExcept: 179.05 ms 11.94 us 1.00 ms
TupleSlicing: 159.75 ms 1.52 us 0.50 ms
UnicodeMappings: 171.85 ms 9.55 us 1.00 ms
UnicodePredicates: 152.05 ms 0.68 us 4.00 ms
UnicodeProperties: 203.00 ms 1.01 us 4.00 ms
UnicodeSlicing: 190.10 ms 1.09 us 2.00 ms
----------------------------------------------------------------------
Average round time: 10965.00 ms
"""
________________________________________________________________________
WHAT'S NEW ?
This release includes a few more tests and extends the range of
supported Python versions to 1.5.x - 2.2. It is also the first
publically announced new version of pybench in years.
________________________________________________________________________
WHERE CAN I GET IT ?
The download archive of the package can be found at:
http://www.lemburg.com/files/python/
________________________________________________________________________
WHAT DOES IT COST ?
pybench comes with a Python style license, which means that you can
use them in both commercial and non-commercial settings without
fee or charge. It comes with full source code.
________________________________________________________________________
WHERE CAN I GET SUPPORT ?
Commercial quality support for this package is available from
eGenix.com Software GmbH in form of support tickets. Please see
http://www.lemburg.com/files/python/eGenix-mx-Extensions.html#Support
for details about the eGenix support offerings.
________________________________________________________________________
REFERENCE:
<P><A HREF="http://www.lemburg.com/files/python/">pybench 1.0</A> -
Python Benchmark Suite. (26-Nov-2001)
________________________________________________________________________
Enjoy,
--
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting: http://www.egenix.com/
Python Software: http://www.lemburg.com/python/
________________________________________________________________________
ANNOUNCING:
eGenix.com mx COMMERCIAL Extension Package for Python
Version 2.0.4
Full Source Python extensions providing important and useful
services for Python programmers.
________________________________________________________________________
WHAT IS IT ?:
The eGenix.com mx COMMERCIAL Package for Python is part of the
eGenix.com mx Extension Series for Python, a collection of
professional quality software tools which enhance Python's usability
in many important areas such as ODBC database connectivity, fast text
processing, date/time processing and web site programming.
This commercial package includes the popular mxODBC extension which
allows users to connect from Python to just about any database on the
market today, on Windows, Unix and Linux.
By providing a consistent interface on all supported platforms,
mxODBC serves as perfect base for writing cross-platform database
programs and utilities.
________________________________________________________________________
WHAT'S NEW ?
Compatibility to Unicode-aware ODBC drivers such as the latest
MS Access and MS SQL Server ODBC drivers was enhanced in mxODBC.
It is now possible to exchange native Unicode data with these
Unicode-capable databases using mxODBC.
As always we are providing precompiled versions of the package for
Windows and Linux as well as sources which allow you to install the
package on all other supported platforms.
________________________________________________________________________
SPECIAL OFFER
theKompany.com has licensed the eGenix.com mx Commercial Package
(which includes mxODBC) for inclusion in their brand new Qt-based
Python IDE BlackAdder. It allows developing portable GUI-based
database applications which run on Windows and Linux platforms without
any change to the source code.
BlackAdder includes a 1 CPU license for this package at no extra cost,
so you may want to check out their great new product. See
http://www.lemburg.com/files/python/eGenix-mx-Extensions.html#BlackAdder
for details.
________________________________________________________________________
EGENIX.COM MX COMMERCIAL PACKAGE OVERVIEW:
mxODBC - Generic ODBC 2.0-3.5 interface for Python
mxODBC is an extension package that provides a Python Database
API compliant interface to ODBC capable database drivers and
managers.
In addition to the capabilities provided through the standard DB
API it also gives access to a rich set of catalog methods which
allow you to scan the database for tables, procedures,
etc. Furthermore, it uses the mxDateTime package for date/time
value interfacing eliminating most of the problems these types
normally introduce (other in/output formats are available too).
mxODBC allows you to interface to more than one database from one
process, making inter-database interfacing very flexible and
reliable.
The source version includes a varity of preconfigured setups for
many commonly used databases such as MySQL, Oracle, Informix,
Solid, SAP DB, Sybase ASA and ASE, DBMaker and many more. The
precompiled versions for Windows and Linux include the interfaces
to the standard ODBC manager on these platforms to allow for a
more easily configurable setup.
More details are available at:
http://www.lemburg.com/files/python/mxODBC.html
________________________________________________________________________
WHERE CAN I GET IT ?
The download archives and instructions for installing the packages can
be found at:
http://www.lemburg.com/files/python/
Note that in order to use the eGenix.com mx COMMERCIAL package you
will also need to install the eGenix.com mx BASE package which can
be downloaded from the same location.
________________________________________________________________________
WHAT DOES IT COST ?
mxODBC comes with a licenses which allows non-commercial use at no
charge, but places a moderate fee on commercial users. Special
licensing setups are available for commercial product
developers. Please see
http://www.lemburg.com/files/python/eGenix-mx-Extensions.html#mxCOMMERCIAL
for details. The package comes with full source code.
________________________________________________________________________
WHERE CAN I GET SUPPORT ?
Commercial quality support for these packages is available from
eGenix.com Software GmbH. Please see
http://www.lemburg.com/files/python/eGenix-mx-Extensions.html#Support
for details about the eGenix support offerings.
________________________________________________________________________
REFERENCE:
<P><A HREF="http://www.lemburg.com/files/python/">eGenix.com mx
COMMERCIAL Package 2.0.4</A> - eGenix.com mx COMMERCIAL Interface
2.0.4 with distutils support and precompiled binaries for Windows and
Linux. (26-Nov-2001)
________________________________________________________________________
Enjoy,
--
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Consulting & Company: http://www.egenix.com/
Python Software: http://www.lemburg.com/python/
This release contains several new features which will require migration, so
please read MIGRATION.txt!
Big stuff in this release:
- lots of bug fixes, thanks to all users for their great feedback!
- much more flexible administration tool
- much better handling of errors
- more configuration options
- CGI login uses cookies instead of basic auth
- passwords are encoded in the database
- much, much more: see the CHANGES file for details.
Source and documentation is available at the website:
http://roundup.sourceforge.net/
Release Info (via download page):
http://sourceforge.net/project/showfiles.php?group_id=31577
Mailing lists - the place to ask questions:
http://sourceforge.net/mail/?group_id=31577
About Roundup
=============
Roundup is a simple-to-use and -install issue-tracking system with
command-line, web and e-mail interfaces. It is based on the winning design
from Ka-Ping Yee in the Software Carpentry "Track" design competition.
Note: Ping is not responsible for this project. The contact for this project
is richard(a)users.sourceforge.net.
Roundup manages a number of issues (with flexible properties such as
"description", "priority", and so on) and provides the ability to
(a) submit new issues,
(b) find and edit existing issues, and
(c) discuss issues with other participants.
The system will facilitate communication among the participants by managing
discussions and notifying interested parties when issues are edited. One of
the major design goals for Roundup that it be simple to get going. Roundup
is therefore usable "out of the box" with any python 2.0+ installation. It
doesn't even need to be "installed" to be operational, though a
disutils-based install script is provided.
It comes with two issue tracker templates and three database back-ends.