Hello Pythoneers :)
I would like to announce ftputil.py, a module which provides a
more friendly interface for FTP sessions than the ftplib module.
The FTPHost objects generated from it allow many operations similar
to those of os and os.path. Examples:
# download some files from the login directory
host = ftputil.FTPHost('ftp.domain.com', 'user', 'secret')
names = host.listdir(host.curdir)
for name in names:
host.download(name, name, 'b') # remote, local, binary mode
# make a new directory and copy a remote file into it
source = host.file('index.html', 'r') # file-like object
target = host.file('newdir/index.html', 'w') # file-like object
host.copyfileobj(source, target) # mimics shutil.copyfileobj
Even host.path.walk works. :-) But slow. ;-)
ftputil.py can be downloaded from
I would like to get your suggestions and comments. :-)
P.S.: Thanks to Pedro Rodriguez for his helpful answer to my question
in comp.lang.python :-)
parse FTP LIST replies
A simple wrapper for Dan Bernstein's ftpparse library. It also
illustrates how to implement simple struct-like python objects in C/C++.
License: Python Style
Fredrik Lundh (fredrik(a)pythonware.com)
<a href="http://effbot.org/downloads/">ftpparse</a> -- parse FTP LIST
My apologies if this is considered off-topic or you receive
multiple copies; I thought it might be of interest.
I'd like to announce the release of `PyRT' the `Python Routeing
Toolkit' available at
>From the web-page:
"The Python Routeing Toolkit (`PyRT') enables routeing
information in a network to be collected. The purpose of this
software is to enable routeing information in a network to be
collected. This package currently supports BGPv4 and ISIS and
will dump MRTD format files. It also supports parsing of MRTD
TABLE_DUMP files (as available from, eg., RouteViews and
RIPE/RIS). A number of utilities for manipulating these dumps
are also provided."
Information is collected by forming adjacencies with a router,
and then acting as a `passive' router (ie. no routes are
It is released under the GPLv2 and was developed as part of work
done at Sprint ATL, Burlingame CA.
Richard Mortier ----------------------
----------------- ---- Intern, 1 Aug--28 Feb,
mort(a)sprintlabs.com ----- Sprint ATL, Burlingame, CA
mort(a)ieee.org ----- http://www.cl.cam.ac.uk/~rmm1002/
Py (pyzine.com) is a print zine published four times a year covering
all aspects of the Python language. The goal of Py is to promote the
use of Python and provide a means for writers and developers to
expound on the benefits of the language.
Py is looking for article submissions for inclusion in its first
issue. We will consider any topic but are specifically looking for
works on the following:
You will find the submission guidelines at pyzine.com.
Py will be a low-cost, high quality zine, written by the developers
who are using Python today. The audience will range from the advanced
Python hacker to the newbie who will be using Python tomorrow.
The new Python C++ SIG is a forum for discussions about the
integration of Python and C++, with an emphasis on the
development of the Boost.Python library
Currently, Boost.Python is undergoing a major rewrite to
add powerful new features and to take full advantage of the
new type system introduced in Python 2.2. A detailed
list of the current development goals is posted at:
Suggestions regarding the direction of the development work
and contributions in the form of source code should be
posted to this SIG.
Boost.Python is a popular open-source tool for interfacing
Python and C++. Boost.Python is built on accessible,
well-maintained, well documented components (the Boost C++
Library), so it does not tie its users to the services of
any one programmer or organization. Developers worldwide
have contributed significant unsolicited improvements to
the project. The main developer and coordinator of the
library is David Abrahams.
Relation to Boost forums
Boost.Python related issues have also been discussed in the
two Yahoo groups boost(a)yahoogroups.com and
Most discussions in these groups are concerned with
advanced C++ library development. The Python SIG is focused
on Python/C++ interfacing.
The UK Python Conference 2002 - as far as I know, the first
one in this country - will be taking place at the Heritage
Motor Centre, Oxford, on April 4/5. We have two solid days
of Python talks.
I would like to thank the organisers of the Association of C
and C++ Users for allowing us to piggy-back onto their
conference, thereby making this possible. Last year
we had two Python talks as part of an 'alternative languages'
track and this year we have a full track. We can make this
an annual event if enough people come. You also get to
rub shoulders with Stroustrup, Coplien and various other
gurus of the C++ and Java worlds.
Brief details of the talks and all the administrative info
are available at
Full program details (unofficial location) can be found at
(and Python track coordinator)
ScientificPython release 2.3.4 contains the second update of the BSP
module for Python. The major new feature is an interactive parallel
execution environment, which behaves almost exactly like a standard
Python interepreter, but executes on all processors and prints output
from all processors. It can be used with the Emacs mode for Python.
This combination is a very convenient development environment for
parallel Python code.
I do not claim to know every software ever published, but there is a
good chance that this is the first interactive programming environment
for parallel code.
Scientific Python 2.3.4, which contains the new BSP release, is
Prerequisites are Python 1.5.2 or higher (2.1 recommended for full
access to all features) and either BSPlib (tested with version 1.4) or
an MPI implementation. An updated tutorial is included, but can also
be obtained separately from
Konrad Hinsen | E-Mail: hinsen(a)cnrs-orleans.fr
Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-22.214.171.124.24
Rue Charles Sadron | Fax: +33-126.96.36.199.17
45071 Orleans Cedex 2 | Deutsch/Esperanto/English/
France | Nederlands/Francais
Python-DSV is a CSV file importer/exporter (DSV stands for
- Heuristics for automatically determining the format of the file.
- Discovers delimiter (comma, tab, colon, whatever).
- Discovers text-qualifier (single or double quote).
- Determines whether first row is header or data.
- Can use almost any character as delimiter.
- Correctly parses embedded quotes, newlines and delimiters.
- Optional wxPython dialog (ala MS Excel) for previewing data.
- Error-handling callbacks for malformed rows.
- 100% Python.
- Reasonably fast.
Apologies to those who downloaded 1.3.1 and discovered that it wouldn't run
because of a dumb oversight on my part (doh!).
Changes from 1.3.1 to 1.3.2:
- It runs!
- Uses distutils
Changes from 1.3.2 to 1.3.3:
- Updated documentation (although still thin, it should be sufficient).
Logiplex Corporation (www.logiplex.net)
(503) 978-6726 x308
(800) 735-0555 x308