Spe 0.1.6
---------
Spe is a python IDE with auto-indentation, auto completion, call tips,
syntax coloring, syntax highlighting, class explorer, source index,
auto todo list, sticky notes, integrated pycrust shell, python file
browser, recent file browser, drag&drop, context help, ... Special is
its blender support with a blender 3d object browser and its ability
to run interactively inside blender. Spe is extensible with boa.
This release normally should have been on the blender_ website.
Unfortunately this is not possible. Therefore the latest release
will be available from the link *Download latest release* under the
calendar of http://spe.pycs.net
The focus in the spe development for the recent time has been to
make it as stable as possible for Linux. This release should run
without (major) problems outside blender_ in Linux (see also
*External bugs*). Following information is relative to 0.1.5.c:
:Links:
- Homepage: http://spe.pycs.net
- Website: http://projects.blender.org/projects/spe/
- Screenshots: http://spe.pycs.net/pictures/index.html
- Forum: http://projects.blender.org/forum/?group_id=30
- RSS feed: http://spe.pycs.net/weblog/rss.xml
:New features:
- linux wrapper script to launch spe from the console
- spe updated for python_ 2.3
- spe help manual (Help menu>Manual)
- help window resizable
- blender_ python_ API documentation added to help menu
- homepage: http://spe.pycs.net (thanks to pyds_ and pycs_)
- webbrowser used for displaying bigger help files in blenpy and
spe
- keyboard shortcuts in separate configurable python file
:Requirements:
- full python_ 2.2 or 2.3
- wxpython_ 2.4.1.2
- optional blender_ 2.28a (updated!)
:Known Issues:
- Keyboard copy&paste operations in shell are stolen by editor.
:External bugs:
- the Linux blender_ binaries of blender_.org are unfortunately
not compatible with spe. blender_ still uses an old version of
the libpng (1.0.x), while spe requires a newer version.
Therefore compile blender_ from the sources with libpng 1.2.x
to make spe running in blender_. This problem doesn't apply to
Windows users, as the windows blender_ binary ships strangely
enough already with the new version of libpng.
- View end of line marker fails (probably wxpython_ bug)
:Fixes:
- class browser fixed
- usermenu problem
- spe can now close without open documents
- sidebar updates automatically when it gets focus
- enter now doesn't generate extra spaces with auto-complete
- blender_ 2.28a no longer crashes by exploring the Text window
- no pycrust_ warnings anymore
- todo tab: line scrolling
- about.htm is included (was missing)
- add your own menu help dialog typo
- shortcuts dialog typo
- busy cursor fix
- recent files does not display longer not existing files
- separators added between toolbar buttons
- ...and some more 3 minor fixes
- explore tab: text height (Linux)
- font size text dialogs (Linux)
- 11 fixes for visibility problems (mainly Linux)
- README.txt with better instructions for Linux users.
:Contributors:
- Tina Hirsch (Linux bug fixing)
- Andrei (feedback) http://project5.tk
:Wanted:
- MacOs X tester for MacOs X screenshot
- wxpython_ programmers
Hi,
I'm glad the folks at Linux-Magazine.com have put an article of mine
(appearing in the october 2003 issue) on their site for people to
download. It's about an experimental WikiWiki system of mine called
HeyHeyWickie which uses EmPy and Docutils. The article describes
neither of these two in great detail, but shows what you can do with
them. It's available on my publications page or directly at the ma-
gazine's:
http://python.net/~gherman/Presentations.htmlhttp://www.linux-magazine.com/issue/35/EmPy_Wiki.pdf
The pretty minimal version of HeyHeyWickie itself (only 4 KB) is
available here:
http://python.net/~gherman/HeyHeyWickie.html
I'm working on a more advanced version which will also be available,
soon, and which I'm using to create my pages on the Starship Python:
http://python.net/~gherman
Gruss,
Dinu
--
Dinu C. Gherman
......................................................................
"If the Nuremberg laws were applied, then every post-war American
president would have been hanged." (Noam Chomsky)
Hi,
the last one for today is "ReSTedit", a native Mac OS X Cocoa GUI
tool using PyObjC and Docutils to provide an intuitive way of
exploring, editing and rendering text in the ReStructuredText
format. Please see the attached Readme below. As usual I'm grate-
ful for any comments or insights you might have to share!
Regards,
Dinu
--
Dinu C. Gherman
......................................................................
"There comes a point when we the people must demand more of our
elected officials than just showing up." (Arnold Schwarzenegger)
ReSTedit
=========
Summary
-------
ReSTedit is a Mac OS X demo for interactively exploring
ReStructuredText.
Overview
--------
ReSTedit is a GUI tool for editing and interactivly exploring texts
in the ReStructuredText [1]_ format (or ReST) as introduced by the
Docutils [2]_ project. Despite being very simple ReSTedit is very
useful for quickly checking if Docutils renders some text as you
would expect it. You only paste it into a ReSTedit window to see
if it's ok or not, without writing any test code around it.
Basics
------
ReSTedit is extremely simple to use. You paste an input text into
the lower half of a window or type it in there and ReSTedit renders
your text into the default HTML format which it displays in the
upper half of the window. The rendering takes place silently in the
background and the upper output half will tell you which errors
were detected if there were any. And that's it. When you're done
you can copy your text out, again... Hyperlinks are displayed the
usual way and are clickable, too (launching your default webbrowser).
And images are also correctly displayed (don't forget the file://
prefix for local files!).
History
-------
:0.1: first release, relying on an external Python interpreter
:0.2: repackaged with Python 2.2.3 and PyObjC 1.0b and
Docutils 0.3 included
Requirements
------------
There are no special requirements for running ReSTedit. From
version 0.2 it ships as a standalone application which should be
running on any Mac OS X 10.x, althouth it was developped on 10.2.
As it comes with full source code you can build ReSTedit yourself,
if you have Apple's developer tools installed, plus some Python
interpreter version 2.2 or higher, plus PyObjC 1.0b [3]_.
Licence
-------
ReSTedit is released under the GPL - see the included file,
"GPL.txt".
Download
--------
The ReSTedit distribution, screenshots and a sample movie of
ReSTedit in action are all available from:
http://python.net/~gherman/ReSTedit.html
Notes
------
Among other GUI tools similar to ReSTedit is DocFactory [4]_.
If you know more of them, please send me a short note.
Future
------
ReSTedit is really just a proof of concept. I'm certainly not
planning to make it a full-fledged editor. Right now, ReSTedit
does nothing meaningful when attempting to save or open a file,
but this will be enabled, soon. As usual: your help and
suggestions are very welcome!
Links
-----
.. [1] http://docutils.sourceforge.net/spec/rst/reStructuredText.html
.. [2] http://docutils.sourceforge.net
.. [3] http://pyobjc.sourceforge.net
.. [4] http://docutils.sourceforge.net/sandbox/gschwant/docfactory/doc/
Author
------
Dinu Gherman,
dinu at mac dot com,
2003-09-09
Hi,
Next in line is "RegexPlor", a native Mac OS X Cocoa GUI tool using
PyObjC to provide an intuitive way of exploring regular expressions.
Please see the attached Readme below. I'd be grateful for any
comments you might have!
Regards,
Dinu
--
Dinu C. Gherman
......................................................................
"I am a gentlemen: I live by robbing the poor." (George Bernard Shaw)
RegexPlor
=========
Summary
-------
RegexPlor is a Mac OS X tool for interactively exploring regular
expressions.
Overview
--------
RegexPlor is a tool for interactively exploring regular expressions.
It provides a graphic frontend for experimenting with such regular
expressions in a intuitive way. You can edit an input text as well
as a regular expression as well as colors for matched text, etc.
and study various effects at every keystroke. This is a much more
convenient way of hunting down the one expression you're after,
without typing any code at all in the usual trial-and-error method.
Basics
------
RegexPlor is pretty intuitive to use. There are three differen panes
or views you can switch between at the top of the window. The input
pane shows the input text and the regular expression to be applied
to it. Change any of them and various ways of matching (selectable
using the bottom buttons) will be applied instantly, resulting in
coloring the respective portions of the input text. Colors and
specific matching options can be changed in the drawer popping out
horizontally of the main window. The output pane is divided into
several columns where the respective text portions can be easily
copied from if you need them somewhere else. Here you can also
replace text using the drawer popping out vertically of the main
window when the Replace button is pressed. The Syntax pane provides
a summary about the regular expression syntax which you can look-up
to use special features. The files in samples/ only provide a
starting point for your own exploration of regular expressions.
History
-------
:0.5: first release, relying on an external Python interpreter
:0.6: repackaged with Python 2.2.3 and PyObjC 1.0b included,
minor fixes
Requirements
------------
There are no special requirements for running RegexPlor. From
version 0.6 it ships as a standalone application which should be
running on any Mac OS X 10.x, althouth it was developped on 10.2.
As it comes with full source code you can build RegexPlor yourself,
if you have Apple's developer tools installed, plus some Python
interpreter version 2.2 or higher, plus PyObjC 1.0b [1]_.
Licence
-------
RegexPlor is released under the GPL - see the included file,
"GPL.txt".
Download
--------
The RegexPlor distribution, screenshots and a sample movie of
RegexPlor in action are all available from:
http://python.net/~gherman/RegexPlor.html
Notes
------
Among the undoubtly many other GUI tools similar to RegexPlor are
Kodos [2]_ and Regex-Coach [3]_. If you know more of them, please
send me a short note.
You might experience some strange effects with RegexPlor when
moving the window accross the screen. I suspect this is somehow
related to the metal texture being used, but I'm not sure yet. It
usually disappears quickly after clicking in some places of the
windows. If you happen to know the reason for that please tell me.
At the moment, RegexPlor does nothing meaningful when attempting
to save or open a file. This will probably be disabled, soon.
Future
------
I think RegexPlor 0.6 is quite complete in terms of functionality
but I'd like to mark text also using background colours like it is
done in Hydra, but I have no idea how that can be done. Again, if
you know... And then the usual localization etc. Your help and
suggestions are very welcome!
Links
-----
.. [1] http://pyobjc.sourceforge.net
.. [2] http://kodos.sourceforge.net
.. [3] http://www.weitz.de/regex-coach
Author
------
Dinu Gherman,
dinu at mac dot com,
2003-09-09
Hi,
after becoming a happy bundlebuilder user I'm about to repackage
a few tools and proto-tools of mine to increase their usability
for a wider audience. Number one is "Pycotine" a native Mac OS X
Cocoa GUI using PyObjC to the PyUnit test framework. Please see
the attached Readme below. I'm glad about any comments you might
have!
Regards,
Dinu
--
Dinu C. Gherman
......................................................................
"Fascism should more appropriately be called corporatism because
it is a merger of state and corporate power." (Benito Mussolini)
Pycotine
========
Summary
-------
Pycotine is a Mac OS X Cocoa GUI to the PyUnit test framework.
Overview
--------
Pycotine (Python Cocoa Test Interface Environment) is a Cocoa
GUI for Mac OS X to Steve Purcell's PyUnit test framework [1]_.
It allows you to execute a Python testsuite, possibly spread
over many modules, comfortably from an application which shows
statistical information about the ongoing tests with various
counters and a progress bar. Errors and failures, usually
reported on the commandline, are listed in a seperate part of
the window. The user interface is very much designed after an
existing Tkinter version [2]_.
Basics
------
Using Pycotine you can open Python files (with extension ".py")
and execute testsuites created in these files with the "unittest"
module of the Python 2.x standard library. Right now, Pycotine
first trys to import a function named "suite()" or "makeSuite()"
from an opened Python module which it assumes to build and return
a testsuite. If no such functions are found, it will search for
all subclasses of unittest.TestCase in the top-level of the
selected Python module.
The test files in samples/ were shamelessly copied from Steve
Purcell's own original test cases for PyUnit 1.4.1 (just skipping
the Tkinter ones for obvious reasons). I added only one new file,
"listtestsfail.py" which shows a test failing on purpose, too.
There is one known bug which can crash Pycotine when it tries
to load files having a full path with blanks and/or non-ASCII
characters.
History
-------
:0.2: first release, written in Objective-C,
relying on an external Python interpreter
:0.3: fully reimplemented in Python, using PyObjC
:0.4: repackaged with Python 2.2.3 and PyObjC 1.0b included
Requirements
------------
There are no special requirements for running Pycotine. From
version 0.4 it ships as a standalone application which should
be running on any Mac OS X 10.x, althouth it was developped on
10.2. As it comes with full source code you can build Pycotine
yourself, if you have Apple's developer tools installed, plus
some Python interpreter version 2.2 or higher, plus PyObjC 1.0b.
Licence
-------
Pycotine is released under the GPL - see the included file,
"GPL.txt".
Download
--------
The Pycotine distribution, screenshots and a sample movie of
Pycotine in action are all available from:
http://python.net/~gherman/Pycotine.html
Notes
------
Pycotine was developped from its author's personal frustration
with running (or rather not running) Tkinter on Mac OS X as the
only existing GUI for PyUnit. While at the time it might have
well been possible to get Tkinter running, it was probably
easier to write this little tool...
Originally, Pycotine was written as a vanilla Cocoa application
(sic!) in Objective-C, calling a dedicated TestRunner class in
Python. Today, Pycotine is written entirely in Python using the
excellent PyObjC [3]_ bridging technology.
Future
------
The future is uncertain, but I might spend a bit more time on
this tool to add localisation to a few more languages and or
make the errors and failures output more useful. Your help and
suggestions are very welcome!
Links
-----
.. [1] http://pyunit.sourceforge.net/
.. [2] http://pyunit.sourceforge.net/screenshot.gif
.. [3] http://pyobjc.sourceforge.net/
Author
------
Dinu Gherman,
dinu at mac dot com,
2003-09-09
Summary
A powerful and robust templating system for Python.
Overview
EmPy is a system for embedding Python expressions and statements
in template text; it takes an EmPy source file, processes it, and
produces output. This is accomplished via expansions, which are
special signals to the EmPy system and are set off by a special
prefix (by default the at sign, '@'). EmPy can expand arbitrary
Python expressions and statements in this way, as well as a
variety of special forms. Textual data not explicitly delimited
in this way is sent unaffected to the output, allowing Python to
be used in effect as a markup language. Also supported are
callbacks via hooks, recording and playback via diversions, and
dynamic, chainable filters. The system is highly configurable via
command line options and embedded commands.
Expressions are embedded in text with the '@(...)' notation;
variations include conditional expressions with '@(...?...!...)'
and the ability to handle thrown exceptions with '@(...$...)'. As
a shortcut, simple variables and expressions can be abbreviated as
'@variable', '@object.attribute', '@function(arguments)',
'@sequence[index]', and combinations. Full-fledged statements
are embedded with '@{...}'. Control flow in terms of conditional
or repeated expansion is available with '@[...]'. A '@' followed
by a whitespace character (including a newline) expands to
nothing, allowing string concatenations and line continuations.
Comments are indicated with '@#' and consume the rest of the line,
up to and including the trailing newline. '@%' indicate
"significators," which are special forms of variable assignment
intended to specify per-file identification information in a
format which is easy to parse externally. Context name and line
number changes can be done with '@?' and '@!' respectively.
Escape sequences analogous to those in C can be specified with
'@\...', and finally a '@@' sequence expands to a single literal
at sign.
Getting the software
The current version of empy is 3.1.
The latest version of the software is available in a tarball here:
http://www.alcyone.com/software/empy/empy-latest.tar.gz.
The official URL for this Web site is
http://www.alcyone.com/software/empy/.
Requirements
EmPy should work with any version of Python from 1.5.2 onward. It
has been tested with all major versions of CPython from 1.5 up,
and Jython from 2.0 up (using Java runtimes 1.3 and 1.4). The
included test script is intended to run on Unix-like systems with
a Bourne shell.
License
This code is released under the GPL.
....
Release history [since 3.0.4]
- 3.1; 2003 Aug 8. Unicode support (Python 2.0 and above); added
Document and Processor helper classes for processing
significators; added --no-prefix option for suppressing all
markups.
--
Erik Max Francis && max(a)alcyone.com && http://www.alcyone.com/max/
__ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
/ \ War is a continuation of policy by other means.
\__/ Karl von Clausewitz
hello python developers,
the fourth PyPy coding sprint will take place in Berlin (Germany) from
(morning of) 29th of September to (evening of) 4th of October 2003.
All Python developers are welcome to join the sprint.
See below for participation details.
What is PyPy?
-------------
PyPy is a remimplementation of Python in the Python language itself.
Simplicity and flexibilty are the foremost goals. With PyPy we want it
to be easy to extend the language or generate a more minimal language
implementation.
One key technique to making this feasible is to specialize our abstract/general
PyPy-Python implementation into native code (e.g. C-code). Eventually the
concepts of PSYCO and Stackless are to be integrated into PyPy.
There is, of course, much more to it so feel free to consult some
documents especially our Oscon-2003 paper on this page:
http://codespeak.net/pypy/index.cgi?doc
We know that many areas and issues are still somewhat vague
although PyPy can already run many python programs [*]. Fortunately, Python
is pretty tolerant about expressing ideas in vague ways. After all,
hacking at PyPy aims (and already proved!) to preserve the fun of
hacking in Python.
History, status and Berlin goals
--------------------------------
The project started in Jan/Feb 2003 with an initiative from Christian
Tismer, Holger Krekel and Armin Rigo. During the course many more
developers joined our sprints and there are now between 5 and 15 people
involved in developing PyPy.
The three sprints resulted in a fully working interpreter, some development
infrastructure and the "standard object space" which is an abstraction for
operations on standard (CPython) objects.
There is no public release yet, you more or less have to install
a subversion-client and checkout the trunk. Here is our 'howtosvn'
which contains up-to-date clients for multiple platforms along
with some instructions how to get started:
http://codespeak.net/pypy/index.cgi?doc/devel/howtosvn.html
Main goals for the Berlin sprint are
- integration/enhancement of a Python parser and the compiler package
- generating native code from our Python interpreter/types implementations
- enhancing/correcting/completing what we have (various tasks)
How to participate in Berlin (29th of Sept. to 4th of October)
--------------------------------------------------------------
If you are interested to participate please subscribe at our
sprint organization list
http://codespeak.net/mailman/pypy-sprint
and please list yourself at
http://codespeak.net/moin/pypy/moin.cgi/SprintAttendants
so that we can organize accomodation and arrange details. Costs
should be pretty low (except from travelling costs, of course).
Currently nine people are scheduled to come.
Btw, the sprint starts early on the 29th of september so it's best to
arrive on sunday, 28th. Also we probably want to have one day
off during the sprint week to do some sight (or cafe+pub) seeing.
Actually it's much better to participate the whole week to better
get into it.
cheers,
holger
[*] and currently only 20-40 thousand times slower than CPython! which clearly
shows that we are successfully follow the "premature optimization is the root
of all evil" maxime.
Summary
-------
pyM3U is a simple script (it can be used also as a module) to generate M3U
playlists
Changes
-------
In version 0.2 I added subdirs walking capability, sorting and I fixed some
bugs.
I also released a separate version (0.2v) with Ogg Vorbis tracks support.
Requirements
------------
- Python 2.2 or greater
- pymad 0.4.1
- id3-py
- pyogg and pyvorbis (not required for non vorbis version)
- Linux (devel platform)
or Win (not tested)
--
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
rhymes(a)NOSPAMmyself.com
PyRSS2Gen - an RSS 2.0 generator for Python
http://www.dalkescientific.com/Python/PyRSS2Gen.html
I've finally decided to catch up with 1999 and play around a bit with RSS.
I looked around, and while there are many ways to read RSS there are
remarkably few which write them. I could use a DOM or other
construct, but I want the code to feel like Python. There are more Pythonic
APIs I might use, like the effbot's ElementTree, but I also wanted integers,
dates, and lists to be real integers, dates, and lists.
The RSS generators I found were built around print statements. Workable,
but they almost invariably left out proper HTML escaping the sort which
leads to Mark Pilgrim's to write feed_parser, to make sense of
documents which are neither XML nor HTML. Annoying, but sadly
all too common. Those which were more correct (like RSS.py) didn't
support all the options in an RSS feed.
This version uses native Python classes, with (untested) support for
developing your own RSS extensions. It generates the output using
the standard SAX2 content handlers, so everything must be appropriately
escaped. And it like Python data types, including datetime.
Here's what it looks like:
import datetime
import PyRSS2Gen
rss = PyRSS2Gen.RSS2(
title = "Andrew's PyRSS2Gen feed",
link = "http://www.dalkescientific.com/Python/PyRSS2Gen.html",
description = "The latest news about PyRSS2Gen, a "
"Python library for generating RSS2 feeds",
lastBuildDate = datetime.datetime.now(),
items = [
PyRSS2Gen.RSSItem(
title = "PyRSS2Gen-0.0 released",
link = "http://www.dalkescientific.com/news/030906-PyRSS2Gen.html",
description = "Dalke Scientific today announced PyRSS2Gen-0.0, "
"a library for generating RSS feeds for Python. ",
guid = PyRSS2Gen.Guid("http://www.dalkescientific.com/news/"
"030906-PyRSS2Gen.html"),
pubDate = datetime.datetime(2003, 9, 6, 21, 31)),
PyRSS2Gen.RSSItem(
title = "Thoughts on RSS feeds for bioinformatics",
link = "http://www.dalkescientific.com/writings/diary/"
"archive/2003/09/06/RSS.html",
description = "One of the reasons I wrote PyRSS2Gen was to "
"experiment with RSS for data collection in "
"bioinformatics. Last year I came across...",
guid = PyRSS2Gen.Guid("http://www.dalkescientific.com/writings/"
"diary/archive/2003/09/06/RSS.html"),
pubDate = datetime.datetime(2003, 9, 6, 21, 49)),
])
rss.write_xml(open("pyrss2gen.xml", "w"))
And amazingly enough, it actually validated on the first try!
PyRSS2Gen is released under the BSD license.
Andrew
dalke(a)dalkescientific.com
Naja is a freeware tool written in Python/wxPython.
Naja is a download manager and a website grabber. It can be used for
extract articles from news server. Naja supports proxy (HTTP, HTTPS, FTP, SOCKS v4a, SOCKS v5).
The downloading maybe achieved by splitting the file being downloaded into several parts and
downloading these parts at the same time (HTTP, HTTPS, FTP). Donwload speeds are increased by downloading
the file from the mirror sites, when the sites propose it.
Others features: filter Csv, Cheksums (CRC32, MD5, SHA1), Web Interface (take control since your office)
Naja is available for download from the Keyphrene web site:
http://www.keyphrene.com/products/naja