HI!
I'd like to announce PyWebLib (formerly announced as msweb). I
renamed it to avoid a name clash with a commercial product.
You can find it on:
http://www.stroeder.com/pylib/PyWebLib/
But be warned that documentation is very sparse (some short examples
and pydoc-generated HTML).
Ciao, Michael.
VideoCapture-0.3
================
URL:
----
http://stud4.tuwien.ac.at/~e9326522/VideoCapture/
What it is:
-----------
VideoCapture is a Python extension for Win32 which makes it possible
to access video-capture devices (e.g. a USB webcam).
What is new in version 0.3:
---------------------------
*) Included a precompiled binary of the low level module linked
against Pyhton 2.1 (in addition to the one which was already there
for Python 2.0).
*) Added a tool to periodically upload a WebCam-image to a WebServer
via FTP.
*) Added a tool to monitor (and save in case of a change) a Picture
located at a given URL.
*) More than one Device instance can be held open at the same time.
*) The location of the timestamp in the image is selectable.
ATTENTION:
----------
I would like to put a list of Python-powered WebCam URLs together, so
please send me an email with the URL of the image or HTML page if you
use VideoCapture.
Contact:
--------
Markus Gritsch (gritsch(a)iue.tuwien.ac.at)
Enjoy and have fun!
The latest version of SOAP.py (a SOAP implementation in written in Python),
was released today.
We're moving the project from actzero to sourceforge. It now can be found
at :
http://sourceforge.net/projects/pywebsvcs/
Comments, feedback, patches, etc... very welcome.
Changes since last announcement:
VERSION 0.9.7 (6/27/01)
- Fixed the un-named ordered parameters bug
- Added the ability to specify a http_proxy
- Added a patch provided by Tim MiddelKoop to allow printing of proxy
objects
- Added the contrib directory and included a medusa implementation of a
SOAP.py server by Ng Pheng Siong
VERSION 0.9.6 (6/08/01)
- The date and time types now check their initial values when the type
is created, not when the data is marshalled.
- The date and time types are now parsed and returned as tuples (for
multi-element types) or scalars (for single element types) in UTC and thus
can represent the entire range of SOAP dates.
- If an element doesn't have a type but has a name with a namespace, the
name is tried as the type.
- Untyped compound types with more than one element and all the elements
the same name are turned into an array when parsing.
- When parsing a structType, elements with the same name are placed in a
list instead of saving just the last one. _getItemsAsList can be used to
get an element of a structure as a list, whether there was one or many
occurances of the item.
- Added schemaNamespace, schemaNamespaceURI, and namespaceStyle
configuration options. namespaceStyle takes one of 1999, 2000, or 2001,
and sets typesNamespace, typesNamespaceURI, schemaNamespace, and
schemaNamespaceURI.
- Normalized the type class names, replacing Compound with compoundType,
Struct with structType, Header with headerType, Body with bodyType, Array
with arrayType, TypedArray with typedArrayType, Fault with faultType, and
urType with anyType.
- Attributes now appear on an element itself instead of the element's
parent. For elements parsed to builtin python types, the attributes are
stored in a dictionary keyed by the element's python id. The dictionary
is in the Context object, can be returned from parseSOAP*, and can be
returned from method calls if the returnAllAttrs configuration option
is set.
- isinstance is used to check for a class, so classes can be subtyped.
- An encoding of None can be specified to not include encoding information.
- Problems with the SOAPProxy URL are now reported when the SOAPProxy
instance is created instead of when the first method call is made.
- The Binary, Boolean and DateTime types have been removed in favor of
binaryType, booleanType, and dateTimeType.
Hi,
I'm looking for Python authors in several areas. Guido suggested I post
my request.
1. Introduction to Programming. An introductory book, ideally by an
educator, to teach Python as a first language. Not for CS people, but
for mortals.
2. Web Programming with Python. Using Python as a CGI scripting
language.
3. XML Programming with Python. All the usual XML stuff, plus SOAP.
4. Expert Zope. Making the most of Zope.
5. If you have a topic you would like to publish, I'll listen.
If anyone has a desire to jump in on any of the above topics, please let
me know. We would like to expand our selection of excellent Python books
at Manning.
Regards,
Dan
=======================================
Dan Barthel
Acquisitions Editor
Manning Publications Co.
32 Lafayette Place, Greenwich, CT 06830
941-394-6662 www.manning.com
=======================================
A new version of PyChecker is available for your hacking pleasure.
PyChecker is a tool for finding common bugs in python source code.
It finds problems that are typically caught by a compiler for less
dynamic languages, like C and C++.
Comments, criticisms, new ideas, and other feedback is welcome.
Here's the CHANGELOG:
* Check format strings: "%s %s %s" % (v1, v2, v3, v4) for arg counts
* Warn when format strings do: '%(var) %(var2)'
* Fix Local variable (xxx) not used, when have: "%(xxx)s" % locals()
* Warn when local variable (xxx) doesn't exist and have: "%(xxx)s" % locals()
* Install script in /usr/local/bin to invoke PyChecker
* Don't produce unused global warnings when using a module in parameters
* Don't produce unused global warnings when using a module in class variables
* Add check when using method as an attribute (if self.method and x == y:)
* Add check for right # of args to object construction
* Add check for right # of args to function calls in other modules
* Check for returning a value from __init__
* Fix using from XX import YY ; from XX import ZZ causing re-import warning
* Fix UNABLE TO IMPORT errors for files that don't end with a newline
* Support for checking consistent return values -- not complete
produces too many false positives
(off by default, use -r/--returnvalues to enable)
PyChecker is available on Source Forge:
Web page: http://pychecker.sourceforge.net/
Project page: http://sourceforge.net/projects/pychecker/
Neal
--
pychecker(a)metaslash.com
What is it:
The Sybase module provides a Python interface to the Sybase relational
database system. The Sybase package supports almost all of the Python
Database API, version 2.0 with extensions.
The module works with Python versions 1.5.2 and later and Sybase
versions 11.0.3 and later. It is based on the Sybase Client Library
(ct_* API), and the Bulk-Library Client (blk_* API) interfaces.
The 0.20 and later releases are a re-implementation of the module using
a thin C wrapper on the Sybase-CT API, and a Python module to provide
the DB-API functionality. It is still a work in progress, but should
be good enough for most purposes.
Changes for this release:
After shooting my mouth off about the cool things that you can do with
bulkcopy I went back and tested my claims. I found that I had not
implemented support for the bulkcopy optional argument to
Sybase.connect()...
Changes for this release:
- The following claim I made earlier today on comp.lang.python is now
true:
If your source data is CSV format then you can use another one of the
modules I wrote to load it into a format suitable to feeding the
bulkcopy object in the Sybase module. The module was written
specifically to handle data type data produced by Access and Excel.
http://www.object-craft.com.au/projects/csv/
>>> import Sybase, csv
>>>
>>> db = Sybase.connect('SYBASE', 'user', 'password', bulkcopy = 1, auto_commit = 1)
>>> db.execute('create table #bogus (name varchar(40), num int)')
>>>
>>> p = csv.parser()
>>> bcp = db.bulkcopy('#bogus')
>>> for line in open('datafile').readlines():
>>> fields = p.parse(line)
>>> if fields:
>>> bcp.rowxfer(line)
>>> print 'Loaded', bcp.done(), 'rows'
- Documentation updates.
- Dave
P.S. Hopefully there will be a period of more than one day before the
next release...
--
http://www.object-craft.com.au
Here's another sweet and short PEP. What do folks think? Is
xrange()'s complexity really worth having?
--Guido van Rossum (home page: http://www.python.org/~guido/)
PEP: 260
Title: Simplify xrange()
Version: $Revision: 1.1 $
Author: guido(a)python.org (Guido van Rossum)
Status: Draft
Type: Standards Track
Python-Version: 2.2
Created: 26-Jun-2001
Post-History: 26-Jun-2001
Abstract
This PEP proposes to strip the xrange() object from some rarely
used behavior like x[i:j] and x*n.
Problem
The xrange() function has one idiomatic use:
for i in xrange(...): ...
However, the xrange() object has a bunch of rarely used behaviors
that attempt to make it more sequence-like. These are so rarely
used that historically they have has serious bugs (e.g. off-by-one
errors) that went undetected for several releases.
I claim that it's better to drop these unused features. This will
simplify the implementation, testing, and documentation, and
reduce maintenance and code size.
Proposed Solution
I propose to strip the xrange() object to the bare minimum. The
only retained sequence behaviors are x[i], len(x), and repr(x).
In particular, these behaviors will be dropped:
x[i:j] (slicing)
x*n, n*x (sequence-repeat)
cmp(x1, x2) (comparisons)
i in x (containment test)
x.tolist() method
x.start, x.stop, x.step attributes
By implementing a custom iterator type, we could speed up the
common use, but this is optional (the default sequence iterator
does just fine).
I expect it will take at most an hour to rip it all out; another
hour to reduce the test suite and documentation.
Scope
This PEP only affects the xrange() built-in function.
Risks
Somebody's code could be relying on the extended code, and this
code would break. However, given that historically bugs in the
extended code have gone undetected for so long, it's unlikely that
much code is affected.
Copyright
This document has been placed in the public domain.
Local Variables:
mode: indented-text
indent-tabs-mode: nil
End:
What is it:
The Sybase module provides a Python interface to the Sybase relational
database system. The Sybase package supports almost all of the Python
Database API, version 2.0 with extensions.
The module works with Python versions 1.5.2 and later and Sybase
versions 11.0.3 and later. It is based on the Sybase Client Library
(ct_* API), and the Bulk-Library Client (blk_* API) interfaces.
The 0.20 and later releases are a re-implementation of the module using
a thin C wrapper on the Sybase-CT API, and a Python module to provide
the DB-API functionality. It is still a work in progress, but should
be good enough for most purposes.
Changes for this release:
- Sybase.py module no longer imports exceptions module.
- Optional auto_commit argument has been added to Sybase.connect().
The default value is 0.
- Optional delay_connect argument has been added to Sybase.connect().
The default value is 0. This allows you to manipulate the Sybase
connection before connecting to the server.
>>> import Sybase
>>> db = Sybase.connect(server, user, passwd, delay_connect = 1)
>>> db.set_property(Sybase.CS_HOSTNAME, 'secret')
>>> db.connect()
- Removed redundant argument from sybasect.ct_data_info()
- Added pickle capability to NumericType - I somehow forgot to copy
this over from the old 0.13 module.
- Re-arranged sybasect.h to make it easier to follow - I hope.
- Documentation updates.
- Dave
--
http://www.object-craft.com.au
HI!
I'd like to announce msWeb which is yet another module package for
web programming with Python (formerly probably not known ;-) as a
bunch of separate modules cgiforms, cgisession etc.).
You can find it on:
http://www.stroeder.com/msWeb/
But be warned that documentation is very sparse (some short examples
and pydoc-generated HTML).
Ciao, Michael.