Codeplot
This is something like a toy example for Piddle that you might
use as well to visually fingerprint Python code in a weird way,
a bit like in the "Matrix", perhaps. ;-)
Introduction (from codeplot's doc string):
This module takes a Python source code file and creates
a two-dimensional plot out of it. The plot generated is
a symmetrical one, much like a 2D matrix where a dot at
(i,j) indicates that lines i and j in the input file are
the same.
Sounds silly? Maybe, yes. After all, this is a one day
fun 'project' while reading a book on, you guessed it,
patterns. But I guess you'll be surprised of what you can
see in these silly plots.
Peaks result by definition from identical lines (in red).
Very often this will be the case due to empty lines,
therefore these lines are marked distinctly (grey). Other
interesting things come from lines that are similar, but
not identical. In the current implementation, "similar"
means lines that are identical modulo an arbitrary inden-
tation (marked in blue). So this is a little bit only of
a bias towards Python as a language, but in fact you can
run codeplot on any kind of ASCII file (that is made of
individual lines, separated by newlines).
The plots are generated using the new PIDDLE interface
(during development codeplot created PDF files) in the
version 1.0.3. Some words of praise for PIDDLE: it's
cool! Without it codeplot would never have happened.
What's the future of this thing?! I don't know! I'll do
a bit more here and there, maybe create a proper EPS
file instead of PDF (such that it can be included some-
where else more easily). There's likely still something
to improve to handle indentation by tabs properly as
well. It could be faster, perhaps, but it's inherently
O(n^2), so don't use it on a 200 KB C file (yes - they
DO exist, sigh...). Using Numeric might be an idea, not
sure... If you think you can do something to improve it
let me know. If you use it in some interesting way, let
me know, too.
Installation:
Put codeplot.py somewhere in your Python path. Also make sure
you have Piddle already installed. You can find Piddle here:
http://www.strout.net/python/piddle/
Files:
README.txt - This file.
codeplot.py - The Python codeplot module.
samples.zip - Some sample PDF files.
The samples were more or less randomly selected from the following
packages: pythondoc, idle, pdfgen, piddle, consdiag, Zope, the Python
Interpreter (a C file) and codeplot itself (the filenames should
suffice to get an idea of where they awere taken from). The original
python files are not included, though (except codeplot.py). Several
differences can be observed, but these are to be explained elsewhere.
Contact:
Author: Dinu C. Gherman, gherman(a)europemail.com.nospam
Web-Site: http://starship.python.net/crew/gherman/playground/codeplot/
Copyright:
Do with it whatever you want, but don't sue me! If you make money
with codeplot, pay me half of it as royalities! ;-)
1999-07-28 (codeplot 0.1)
Sent via Deja.comhttp://www.deja.com/
Share what you know. Learn what you don't.
<P><A HREF="http://starship.python.net/crew/gherman/playground/codeplot/">codeplot
0.1</A> - visually fingerprint Python code in a weird way... (28-Jul-99)
--
----------- comp.lang.python.announce (moderated) ----------
Article Submission Address: python-announce(a)python.org
Python Language Home Page: http://www.python.org/
Python Quick Help Index: http://www.python.org/Help.html
------------------------------------------------------------
PyESD is a SWIGged wrapper around the Enlightenment Sound Daemon client
library with some additional classes to provide a more object-oriented
interface.
URL: http://www.users.cloud9.net/~proteus/pyesd/
Contact: proteus(a)cloud9.net
License: Variation on BSD, free for commercial and non-commercial use
=============================================================================
michaelMuller = proteus(a)cloud9.net | http://www.cloud9.net/~proteus
-----------------------------------------------------------------------------
We are explorers in the further reaches of experience: demons to some, angels
to others. - "Pinhead" from "Hellraiser"
=============================================================================
<P><A HREF="http://www.users.cloud9.net/~proteus/pyesd/">PyESD</A> - Python
interface to the Enlightenment Sound Daemon client library for UNIX. (27-Jul-99)
--
----------- comp.lang.python.announce (moderated) ----------
Article Submission Address: python-announce(a)python.org
Python Language Home Page: http://www.python.org/
Python Quick Help Index: http://www.python.org/Help.html
------------------------------------------------------------
The final release of ObjectDomain 2.5 is now available! See download
information below.
Object Domain Systems unveils ObjectDomain 2.5, the latest version of our
flagship UML modeling tool. Implemented in pure Java, ObjectDomain provides
a scalable, multi-platform, user extendable CASE tool that redefines the
expectations of object modeling software.
NEW FEATURES:
- Support for all nine UML diagrams backed by a true UML meta-model
- Better performance with smaller memory footprint
- Version control and multi-user support via file-based repository
- HTML documentation and glossary generation for user models
- Advanced model searching with regular expression support
- Full round-trip for Java
- Various UI enhancements
Note: Some features may not be available in the standard edition.
FEATURES PREVIOUSLY INCLUDED:
- Code generation and reverse engineering for Java, C++, and Python
- Powerful diagramming with auto-layout, bezier curves, color support,
stereotype icons, and extensive control of presentation aspects using
"styles"
- Intuitive user interface with switchable look-and-feel and theme
support. Open architecture allows additional language support, user
customization and third-party add-ins
- Python scripting support with integrated command console
- Interface features include multi-perspective browsing, unlimited
undo/redo, and a diagram thumbnail view that allows panning and zooming
QUANTITY DISCOUNTS
In addition to our standard quantity discount, we are also offering a
special discount or the purchase of multiple copies. For further
information call 919-461-4904.
OBJECTDOMAIN 2.6 WILL BE A FREE UPGRADE!
Although the exact feature set is not finalized, we have committed to
providing 2.6 as a FREE upgrade to 2.5. Features we plan for 2.6 include:
- Round trip engineering for C++ (currently have round trip
engineering for Java)
- Full import/export Rational Rose model files
- Support for Java 2 (previously known as Java 1.2)
- Enhanced printing
- Updated alignment UML 1.3
- Various UI enhancements
- IDL generation
------------------------------------------------------------------------
Learn more about ObjectDomain 2.5:
http://www.objectdomain.com/domain
Download ObjectDomain 2.5:
http://www.objectdomain.com/odEvalUser
The ObjectDomain Development Team
Object Domain Systems Inc.
support(a)objectdomain.com
http://www.objectdomain.com
<P><A HREF="http://www.objectdomain.com">ObjectDomain 2.5</A> -
commercial UML modeling tool with Python scripting support. (27-Jul-99)
--
----------- comp.lang.python.announce (moderated) ----------
Article Submission Address: python-announce(a)python.org
Python Language Home Page: http://www.python.org/
Python Quick Help Index: http://www.python.org/Help.html
------------------------------------------------------------
<A HREF="http://glimpse.cs.arizona.edu/software.html">agrep</A> is a suite
of command-line (i.e. UNIX user level) string matching functions, written by
Sun Wu and Udi Manber (described in "Fast Text Searching Allowing Errors",
CACM, 35(10), 1992).
While the majority of the functionality is already found in Python, the
ability to perform string searches accepting a limited number of errors has
not been available till now.
Such searches are able to deal, for example, with spelling errors, or the
differences between North American and British English. Alternatively, this
form of string matching is able to model the attachment of a primer to a
target DNA sequence (i.e. attachment occurs if there are no more than, say,
2 indels).
<P><A HREF="http://www.ccsr.cam.ac.uk/~michaelw/pyagrep.html">agrepy
1.0</A> - Python interface to the
<A HREF="http://glimpse.cs.arizona.edu/software.html">agrep</A>
approximate string matching implementation. (27-Jul-99)
--
----------- comp.lang.python.announce (moderated) ----------
Article Submission Address: python-announce(a)python.org
Python Language Home Page: http://www.python.org/
Python Quick Help Index: http://www.python.org/Help.html
------------------------------------------------------------
FXPy 0.99.55
Lyle Johnson - July 22nd 1999, 04:06 EST
FXPy is a Python extension module which provides an interface to the
FOX cross-platform GUI library. With a few minor exceptions, FXPy
provides a complete interface to FOX. FOX is a C++-based toolkit for
developing graphical user interfaces easily and effectively, and it
runs natively under both Unix/X and Microsoft Windows. Some of the
significant features of FOX include a rich set of widgets, powerful but
easy-to-use layout managers, extensive support for 3-D modeling using
OpenGL or Mesa, drag-and-drop (using the XDND protocol) and a registry
for persistent application settings.
Changes: This is the first official announcement.
Download:ftp://ftp.cfdrc.com/pub/FOX/FXPy-0.99.55.tar.gzHomepage:http://www.airnet.net/ljohnson/FXPy/
Author: Lyle Johnson
License: LGPL
Category: Development/Python Modules
Depends on: Python, FOX (and optionally PyOpenGL)
Freshmeat (c) 1999 scoop(a)freshmeat.net
<P><A HREF="http://www.airnet.net/ljohnson/FXPy/">FXPy 0.99.55</A> - Python
interface to the FOX free cross-platform C++ graphical user interface library
for Unix/X11 and Microsoft Windows. (22-Jul-99)
--
----------- comp.lang.python.announce (moderated) ----------
Article Submission Address: python-announce(a)python.org
Python Language Home Page: http://www.python.org/
Python Quick Help Index: http://www.python.org/Help.html
------------------------------------------------------------
Zope 2.0.0b1
amos - July 25th 1999, 14:50 EST
Zope is a free, Open Source web application platform used for building
high-performance, dynamic web sites. It contains a powerful and simple
scripting object model and high-performance, integrated object
database.
Changes: Major changes include: ZODB 3, the next generation of the Zope
Object Database, Z Classes, a new mechanism for building Zope
applications, WebDAV support, and ZServer, the integration of Zope and
Medusa.
Download:http://www.zope.org/Download/Homepage:http://www.zope.org/Changelog:http://www.zope.org/Download/Releases/Zope-2.0.0b1/CHANGES.txt
Author: Digital Creations
License: OpenSource
Category: Web/Development
Freshmeat (c) 1999 scoop(a)freshmeat.net
<P><A HREF="http://www.zope.org/">Zope 2.0.0b1</A> - Zope is a free, open
source web application platform used for building high-performance,
dynamic web sites. (25-Jul-99)
--
----------- comp.lang.python.announce (moderated) ----------
Article Submission Address: python-announce(a)python.org
Python Language Home Page: http://www.python.org/
Python Quick Help Index: http://www.python.org/Help.html
------------------------------------------------------------
Hello all,
compmgw.py and makemgw.py are Python scripts that ease the compilation
of Python extensions on Win32 using the free egcs 1.1.2 compiler on
the i386-mingw32 target.
compmgw.py processes a Setup file and generates a Makefile that will
compile your extension.
makemgw.py processes a Setup file but runs the compiler commands
itself and bypasses the Makefile. It uses a very simple (and probably
inefficient and wrong) dependancy checker to generate the list of
commands to run.
WARNING: The code in both of these modules is incredibly bad. "hacks
upon hacks upon hacks" sums up the state of these scripts pretty well.
Do not read them if you have a heart condition. *Please* don't use
them for anything else. Instead join the distutils-SIG and work with
them to create a general mechanism.
Both of these scripts will be dropped unceremoniously once the
distutils-SIG gets far enough in its work.
The scripts are available separately:
* http://starship.python.net/crew/kernr/mingw32/compmgw.py
* http://starship.python.net/crew/kernr/mingw32/makemgw.py
or together with other tools:
* http://starship.python.net/crew/kernr/mingw32/Py-mingw32-tools.zip
Robert Kern
<P><A HREF="http://starship.python.net/crew/kernr/mingw32/Notes.html">
Updated compile tools for egcs/mingw32</A> - updated scripts to parse
Setup files for compiling on Win32 systems with egcs/mingw32. (27-Jul-99)
--
----------- comp.lang.python.announce (moderated) ----------
Article Submission Address: python-announce(a)python.org
Python Language Home Page: http://www.python.org/
Python Quick Help Index: http://www.python.org/Help.html
------------------------------------------------------------
26.7.1999
http://www.germany.net/teilnehmer/100,366919/Python/Modules/Modules.html
Package seqdict
Module seqdict version 0.0
Module mseqdict version 0.0
================================================
seqdict - single value dictionary
msedict - multiple value dictionary
The Python built-in dictionary has no reliable sequence order because
of performance reasons.
The two new dictionaries introduced here keep their entries in sequence.
* seqdict keeps one value for one key
* mseqdict keeps multiple values per key and is the closest emulation
of areal world dictionary.
As the sequential dictionary is a combination of a list and a dictionary
you can do most operations defined with lists as well and much more.
Now you can slice, add, sort with dictionaries. The functional operations
map, filter, reduce are implemented as well. Use a dictionary like a stack
with push and pop. Split it, reverse it and swap keys and values.
A small tutorial is provided as HTML and Postscript Source and is
subject to become improved some other day.
I think both dictionaries are candidates for the python standard
library.
Use the seqdicts to emulate a printed dictionary. Use them for
csv-tables.
Keep parsed code in a seqdict, modify it and write it back ...
Download from
http://www.germany.net/teilnehmer/100,366919/Python/Modules/Modules.html
Wolfgang Grafen
mailto:WolfgangGrafen@gmx.de
For the web thingy:
<P><A HREF="http://www.germany.net/teilnehmer/100,366919/Python/Modules/Modules.html">seqdict
0.0</A> - package with two sequential dictionary emulations. (26-Jul-99)
Wolfgang Grafen
mailto:WolfgangGrafen@gmx.de
--
----------- comp.lang.python.announce (moderated) ----------
Article Submission Address: python-announce(a)python.org
Python Language Home Page: http://www.python.org/
Python Quick Help Index: http://www.python.org/Help.html
------------------------------------------------------------
The first public beta release of ScientificPython 2.0 is now available
from
http://starship.python.net/crew/hinsen/scientific.html
and
http://dirac.cnrs-orleans.fr/programs/scientific.html
This is a completely revised release and *not* compatible with earlier
releases. The major difference is the introduction of a package
structure; all modules are now submodules of the top-level module
Scientific. Version 2 also includes the netCDF interface module, which
was previously in a separate distribution. Another important new
feature is full documentation :-)
Following established traditions in the Python community, I will be
on vacation for three weeks from Wednesday. Please take your time
to fix any bugs before reporting them to me ;-)
==
-------------------------------------------------------------------------------
Konrad Hinsen | E-Mail: hinsen(a)cnrs-orleans.fr
Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.55.69
Rue Charles Sadron | Fax: +33-2.38.63.15.17
45071 Orleans Cedex 2 | Deutsch/Esperanto/English/
France | Nederlands/Francais
-------------------------------------------------------------------------------
<P><A HREF="http://starship.skyport.net/crew/hinsen/scientific.html">
ScientificPython 2.0</A> - Konrad Hinsen's collection of scientific/math
modules; now includes netCDF module and full documentation. (26-Jul-99)
--
----------- comp.lang.python.announce (moderated) ----------
Article Submission Address: python-announce(a)python.org
Python Language Home Page: http://www.python.org/
Python Quick Help Index: http://www.python.org/Help.html
------------------------------------------------------------