Announcing PyNSource 1.4a
A UML reverse engineering and modelling tool for Python source code.
http://www.atug.com/andypatterns/pynsource.htm
PyNSource is a python code scanner and UML modelling tool that
generates UML diagrams that you can layout, arrange and print out. A
standalone exe release for windows users is available.
PyNSource can also generate UML ASCII / text diagrams, which you can
paste into your source code for documentation purposes, in conjunction
with an ascii art editor (see references on web site).
PyNSource can scan python source code and generate compilable Java or
Delphi code, which can be subsequently imported into more
sophisticated UML modelling tools.
New in this release
-------------------
Version 1.4a
GUI changes:
- Right Click on a node to delete it.
- Run Layout anytime from menu.
- Left click on background will deselect any selected shapes
Parser changes:
- Fixed indentation error causing more output than normal in text ouput
- Module level functions not treated as classes any more
- Smarter detection of composition relationships, as long as classname
and variable name are the same (ignoring case) then PyNSource will detect e.g.
class Cat:
pass
class A:
def __init__(self, cat):
self.cats.append(Cat()) # always has worked, composition detected.
self.cats.append(cat) # new 1.4 feature, composition detected here too.
Features
--------
* Resilient: doesn't import the python files, thus will
never get "stuck" when syntax is wrong.
* Fast
* Recognises inheritance and composition relationships
* Detects the cardinality of associations e.g.
one to one or 1..* etc
* Optionally treat modules as classes - creating a
pseudo class for each module - module variables and
functions are treated as attributes and methods of a class
* Has been developed using unit tests (supplied) so that
you can trust it just that little bit more ;-)
* Free
http://www.atug.com/andypatterns/pynsource.htm
Announcing PyNSource 1.4a
A UML reverse engineering and modelling tool for Python source code.
http://www.atug.com/andypatterns/pynsource.htm
PyNSource is a python code scanner and UML modelling tool that
generates UML diagrams that you can layout, arrange and print out. A
standalone exe release for windows users is available.
PyNSource can also generate UML ASCII / text diagrams, which you can
paste into your source code for documentation purposes, in conjunction
with an ascii art editor (see references on web site).
PyNSource can scan python source code and generate compilable Java or
Delphi code, which can be subsequently imported into more
sophisticated UML modelling tools.
New in this release
-------------------
Version 1.4a
GUI changes:
- Right Click on a node to delete it.
- Run Layout anytime from menu.
- Left click on background will deselect any selected shapes
Parser changes:
- Fixed indentation error causing more output than normal in text ouput
- Module level functions not treated as classes any more
- Smarter detection of composition relationships, as long as classname
and variable name are the same (ignoring case) then PyNSource will detect e.g.
class Cat:
pass
class A:
def __init__(self, cat):
self.cats.append(Cat()) # always has worked, composition detected.
self.cats.append(cat) # new 1.4 feature, composition detected here too.
Features
--------
* Resilient: doesn't import the python files, thus will
never get "stuck" when syntax is wrong.
* Fast
* Recognises inheritance and composition relationships
* Detects the cardinality of associations e.g.
one to one or 1..* etc
* Optionally treat modules as classes - creating a
pseudo class for each module - module variables and
functions are treated as attributes and methods of a class
* Has been developed using unit tests (supplied) so that
you can trust it just that little bit more ;-)
* Free
http://www.atug.com/andypatterns/pynsource.htm
Unununium is an OS in development written primarily in Python. Currently
implemented features include a fully functional Python interpreter,
floppy, ATA, and ext2 drivers written entirely in Python. For a
discussion of motives behind the development and planned features, see
<http://unununium.org/introduction>.
The most current release is available at
<http://unununium.org/download#releases>. Further questions may be
addressed to our development list, <mailto:uuu-devel@unununium.org>.
<p><a href="http://unununium.org/">Unununium OS 0.1-rc2</A> - an
operating system written in Python. (04-Jul-04)</p>
PyGUI 1.5.1 is now available:
http://www.cosc.canterbury.ac.nz/~greg/python_gui/
Bug fixes:
- Menu item groups did not work.
- Mac: Labels were not updated properly on changing
the text property.
- Mac: Setup script failed when Pyrex was not available.
What is PyGUI?
--------------
PyGUI is an experimental highly-Pythonic cross-platform
GUI API. Implementations are currently available for
MacOSX and Gtk. For a full description of the project
goals, see the PyGUI web page at the address above.
Release Notes for numarray-1.0
Numarray is an array processing package designed to efficiently
manipulate large multi-dimensional arrays. Numarray is modeled after
Numeric and features c-code generated from python template scripts,
the capacity to operate directly on arrays in files, and improved type
promotions.
I. ENHANCEMENTS
1. User added ufuncs
There's a setup.py file in numarray-1.0/Examples/ufunc which
demonstrates how a numarray user can define their own universal
functions of one or two parameters. Ever wanted to write your own
bessel() function for use on arrays? Now you can. Your ufunc can use
exactly the same machinery as add().
2. Ports of Numeric functions
A bunch of Numeric functions were ported to numarray in the new
libnumeric module. To get these import from numarray.numeric. Most
notable among these are put, putmask, take, argmin, and argmax. Also
added were sort, argsort, concatenate, repeat and resize. These are
independent ports/implementations in C done for the purpose of best
Numeric compatibility and small array performance. The numarray
versions, which handle additional cases, still exist and are the
default in numarray proper.
3. Faster matrix multiply
The setup for numarray's matrix multiply was moved into C-code. This
makes it faster for small matrices.
4. The numarray "header PEP"
A PEP has been started for the inclusion of numarray (and possibly
Numeric) C headers into the Python core. The PEP will demonstrate how
to provide optional support for arrays (the end-user may or may not
have numarray installed and the extension will still work). It may
also (eventually) demonstrate how to build extensions which support
both numarray and Numeric. Thus, the PEP is seeking to make it
possible to distribute extensions which will still compile when
numarray (or either) is not present in a user's Python installation,
which will work when numarry (or either) is not installed, and which
will improve performance when either is installed. The PEP is now in
numarray-1.0/Doc/header_pep.txt in docutils format. We want feedback
and consensus before we submit to python-dev so please consider
reading it and commenting.
For the PEP, the C-API has been partitioned into two parts: a
relatively simple Numeric compatible part and the numarray native
part. This broke source and binary compatibility with numarray-0.9.
See CAUTIONS below for more information.
5. Changes to the manual
There are now brief sections on numarray.mlab and numarray.objects in
the manual. The discussion of the C-API has been updated.
II. CAUTIONS
1. The numarray-1.0 C-API is neither completely source level nor
binary compatible with numarray-0.9. First, this means that some 3rd
party extensions will no longer compile without errors. Second, this
means that binary packages built against numarray-0.9 will fail,
probably disastrously, using numarray-1.0. Don't install numarray-1.0
until you are ready to recompile or replace your extensions with
numarray-1.0 binaries because 0.9 binaries will not work.
In order to support the header PEP, the numarray C-API was partitioned
into two parts: Numeric compatible and numarry extensions. You can use
the Numeric compatible API (the PyArray_* functions) by including
arrayobject.h and calling import_array() in your module init function.
You can use the extended API (the NA_* functions) by including
libnumarray.h and calling import_libnumarray() in your init function.
Because of the partitioning, all numarray extensions must be
recompiled to work with 1.0. Extensions using *both* APIs must
include both files in order to compile, and must do both imports in
order to run. Both APIs share a common PyArrayObject struct.
2. numarray extension writers should note that the documented use of
PyArray_INCREF and PyArray_XDECREF (in numarray) was found to be
incompatible with Numeric and these functions have therefore been
removed from the supported API and will now result in errors.
3. The numarray.objects.ObjectArray parameter order was changed.
4. The undocumented API function PyArray_DescrFromTypeObj was removed
from the Numeric compatible API because it is not provided by Numeric.
III. BUGS FIXED / CLOSED
See
http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse
for more details.
979834 convolve2d parameter order issues
979775 ObjectArray parameter order
979712 No exception for invalid axis
979702 too many slices fails silently
979123 A[n:n] = x no longer works
979028 matrixmultiply precision
976951 Unpickled numarray types unsable?
977472 CharArray concatenate
970356 bug in accumulate contiguity status
969162 object array bug/ambiguity
963921 bitwise_not over Bool type fails
963706 _reduce_out: problem with otype
942804 numarray C-API include file
932438 suggest moving mlab up a level
932436 mlab docs missing
857628 numarray allclose returns int
839401 Argmax's behavior has changed for ties
817348 a+=1j # Not converted to complex
957089 PyArray_FromObject dim check broken
923046 numarray.objects incompatibility
897854 Type conflict when embedding on OS X
793421 PyArray_INCREF / PyArray_XDECREF deprecated
735479 Build failure on Cygwin 1.3.22 (very current install).
870660 Numarray: CFLAGS build problem
874198 numarray.random_array.random() broken?
874207 not-so random numbers in numarray.random_array
829662 Downcast from Float64 to UInt8 anomaly
867073 numarray diagonal bug?
806705 a tale of two rank-0's
863155 Zero size numarray breaks for loop
922157 argmax returns integer in some cases
934514 suggest nelements -> size
953294 choose bug
955314 strings.num2char bug?
955336 searchsorted has strange behaviour
955409 MaskedArray problems
953567 Add read-write requirement to NA_InputArray
952705 records striding for > 1D arrays
944690 many numarray array methods not documented
915015 numarray/Numeric incompatabilities
949358 UsesOpPriority unexpected behavior
944678 incorrect help for "size" func/method
888430 NA_NewArray() creates array with wrong endianess
922798 The document Announce.txt is out of date
947080 numarray.image.median bugs
922796 Manual has some dated MA info
931384 What does True mean in a mask?
931379 numeric.ma called MA in manual
933842 Bool arrays don't allow bool assignment
935588 problem parsing argument "nbyte" in callStrideConvCFunc()
936162 problem parsing "nbytes" argument in copyToString()
937680 Error in Lib/numerictypes.py ?
936539 array([cmplx_array, int_array]) fails
936541 a[...,1] += 0 crashes interpreter.
940826 Ufunct operator don't work
935882 take for character arrays?
933783 numarray, _ufuncmodule.c: problem setting buffersize
930014 fromstring typecode param still broken
929841 searchsorted type coercion
924841 numarray.objects rank-0 results
925253 numarray.objects __str__ and __repr__
913782 Minor error in chapter 12: NUM_ or not?
889591 wrong header file for C extensions
925073 API manual comments
924854 take() errors
925754 arange() with large argument crashes interpreter
926246 ufunc reduction crash
902153 can't compile under RH9/gcc 3.2.2
916876 searchsorted/histogram broken in versions 0.8 and 0.9
920470 numarray arange() problem
915736 numarray-0.9: Doc/CHANGES not up to date
WHERE
-----------
Numarray-1.0 windows executable installers, source code, and manual is
here:
http://sourceforge.net/project/showfiles.php?group_id=1369
Numarray is hosted by Source Forge in the same project which hosts
Numeric:
http://sourceforge.net/projects/numpy/
The web page for Numarray information is at:
http://stsdas.stsci.edu/numarray/index.html
Trackers for Numarray Bugs, Feature Requests, Support, and Patches are
at the Source Forge project for NumPy at:
http://sourceforge.net/tracker/?group_id=1369
REQUIREMENTS
------------------------------
numarray-1.0 requires Python 2.2.2 or greater.
AUTHORS, LICENSE
------------------------------
Numarray was written by Perry Greenfield, Rick White, Todd Miller, JC
Hsu, Paul Barrett, Phil Hodge at the Space Telescope Science
Institute. We'd like to acknowledge the assitance of Francesc Alted,
Paul Dubois, Sebastian Haase, Tim Hochberg, Nadav Horesh, Edward
C. Jones, Eric Jones, Jochen K"upper, Travis Oliphant, Pearu Peterson,
Peter Verveer, Colin Williams, and everyone else who has contributed
with comments, bug reports, or patches.
Numarray is made available under a BSD-style License. See
LICENSE.txt in the source distribution for details.
--
Todd Miller jmiller(a)stsci.edu
What is P.A.M.I.E - http://pamie.sourceforge.net
This tool was developed as an open source Python class (cPAMIE).
Pamie allows you to control an instance of Internet Explorer and
access it's methods attributes, events, properties though OLE
automation .
You can write simple or complex scripts which allows you to automate
Internet Explorer.
You can easily drive them using either MS Excel, MS Access, or Oracle.
This tool was modeled after the Perl module by Henry Wasserman Sam.pm.
How is I.E. automated?:
By utilizing the following; Collections, Methods, Events and
Properties exposed by the DHTML Object Model
Who is this for?
This "free" open source tool "Pamie" was developed to help quality
assurance engineers, developers or any other technical professionals
in their web testing efforts.
USES:
* Build verification testing for a web site
* Simulating different users logging into a web
* Simulating different users filling in and submitting an online
enrollment.
* An aide for developing other web testing tools.
Example: Take Pamie for a test drive!
Pamie is in the early stages but is still a professional quality tool
that is quite useable and effective.
Functions that will be available for latest version.
Current Method list in CVS:
GetNames - NEW!
GetCookie - NEW!
ClickButton
ClickImage
ClickLink
ClickSubmitButton
FireEvent
GetCheckBox
GetCheckBoxChecked
GetForm
ControlNames
GetNames
GetFormNames
GetFrameNames
GetListBox
GetListBoxSelected
GetRadioButton
GetRadioButtonSet
GetTextBox - new
LocationName
LocationURL
Navigate
SetCheckBox
SetEventListBox
SetListBox
SetRadioButton
SetTextBox
UnSetCheckBox
UnSetListBox
__doc__
__init__
__module__
_wait_
innerHTML
outerHTML
pageText
quit
refresh
Thank you
Robert Marchetti
7-2-2004
I am writing to announce the availability of CRITTRZ 0.7.0, the initial,
test release a population simulation library. This software was released
on 6-2-2004 under an MIT open-source license.
CRITTRZ is designed for modeling of demographic, genetic and
disease processes in animal populations subdivided by space and social
groupings. The system should be adaptable to modeling populations of
many large mammal species.
CRITTRZ is written in Python and uses a strongly object-oriented
architecture. It includes an interface to the Idrisi GIS. The initial
release is intended for computers with the Microsoft Windows operating
system. I aim to release a later version for the Linux operating system.
You can view documentation for the system and download a zip file with
program code, documentation and examples at
www.greencreekparadigms.com/CRITTRZ.htm.
Comments to me at tolivier(a)cstone.net are welcome.
Cheers. - Tom Olivier
Thomas Olivier, Ph.D.
Green Creek Paradigms, LLC
4632 Green Creek Road
Schuyler, VA 22969 USA
tolivier(a)cstone.net
This meeting:
=============
Paul Prescod will lead a discussion about the Python Virtual Machine.
How does the Python Virtual Machine work internally? What are
bytecodes? How is code compiled to bytecodes? How are bytecodes
interpreted? How are types implemented? What do classes look like
inside the Python interpreter?
Afterwards we'll retire to a nearby pub for the usual informal
discussion of Paul's presentation and the upcoming Vancouver Python
Workshop.
Time: Tuesday, July 6 at 7:00pm
Location: ActiveState (580 Granville St., Vancouver)
The group:
==========
The Vancouver Python and Zope User's Group is a group of Python
enthusiasts who meet once a month to discuss various Python and Zope
technologies and projects.
For more information about the Vancouver Python and Zope User's Group,
see: http://www.vanpyz.org/
For information about the upcoming Vancouver Python Workshop, see:
http://www.vanpyz.org/conference/
Cheers,
Brian
PyLinda 0.3
By Andrew Wilkinson <aw at cs dot york dot ac dot uk>
Introduction
---------------
Linda is an widely studied distributed computing environment, centred
around the notion of a tuple space. A tuple space is a bag (also called a
multi-set) of tuples. A tuple is an ordered, typed chunk of data. Tuple
spaces exist independently of processes in the system, and the data placed
into a tuple space also exist independently. See "Generative communication
in Linda" (1985) and "Multiple tuple spaces in Linda" both by David
Gelernter for more information on Linda.
PyLinda is a simple implementation of a linda system, however it also
includes several of the more recently proposed extensions to Linda in the
form of multiple tuple spaces, garbage collection, sane non-blocking
primitives and bulk tuple operations.
Full details can be found at the website
http://www-users.cs.york.ac.uk/~aw/pylinda
The package can be downloaded from
http://www-users.cs.york.ac.uk/~aw/pylinda/linda-0.3.tar.gz
Changes In This Version
---------------
- Efficency Updates
* Switched to using System V Shared Memory where available.
* Switched to using Unix domain sockets where available.
* Switched to using map instead of an explicit loop in several places.
* Changed main message handler to a dictionary of functions instead of a
big if/elif statement.
The current mail.python.org machine has had many problems over the last
few weeks, and it's time to move. Also, we have a deadline of
06-Jul-2004 before ZopeCorp and Baymountain decommission the machine and
pull the plug on it.
Fortunately, Thomas Wouters and the fine folks at XS4ALL have donated a
machine, and your friendly neighborhood volunteer postmasters have been
working round the clock (okay, in 3-minute chunks while we recompile
Python cvs <wink>) to bring the new machine online and migrate the
existing services to it. Given our resources, we feel pretty good that
the machine is ready to go, and we'll be taking advantage of the coming
US holiday weekend to finish the migration.
So please note that there will be planned interruptions of python.org's
mail service this weekend. I hope that everything will be back up and
running by the end of 05-Jul-2004 somewhere in the world. This outage
will also affect the mailing lists in the libexpat.org, porkmasters,org,
and usergroups.python.net domains. Also, please note that this
specifically does /not/ affect the zope.org domain, since the divorce is
final and they're now living on a new dedicated server.
-Barry