[Bf-committers] Spe: Python IDE for Blender

Stani Michiels bf-committers@blender.org
Fri, 30 May 2003 17:41:33 +0100


I just submitted this as a proposal... (Michel, you can look below)
As I couldn't get used to the spartanic text Window of Blender, I 
developped Spe, a Python IDE which can run inside Blender.  It includes 
many features, such as an interactive shell with autocompletion and so 
on, a locals browser and a Blender interactive object browser, 
drag&drop, customizable menus and toolbar buttons, and much more... 
Since it requires the full Python installation and wxPython, it is more 
aimed at experienced Python programmers.  It could make the step for 
them easier to Blender. See screenshot for a quick impression.

This project is written in 100% Python (I even don't know C).  So it 
doesn't require a special built of Blender.  (Just type:'import 
spe;spe.main()' and press Alt-P).  I developped it under Windows, but as 
it uses wxPython it should be portable to Linux & Mac-OSX, to which I 
don't have access at the moment. The program (at least for Windows) is 
already quite stable, altough I wanted it tested by some other people 
before it goes public.

->QUESTION1:
I have NO experience with CVS and would kindly appreciate any help on 
this matter.  It would be very great if somebody would assist me, as I'm 
quite busy at the moment.

->QUESTION2:
Currently it's not possible to run Spe in a separate thread in such a 
way that Blender is still accessible.  When Spe is active, Blender stays 
visible (doesn't become black) but doesn't accept any user input until 
Spe is closed.  Therefore I provided a 'remember' option so that next 
time Spe is started, it automatically opens the files wich were last open.

Before I also made a package 'blenpy' which integrates existing Python 
tools to be run from Blender with a nice GUI.  Blenpy requires also the 
full Python installation but not wxPython, altough it's recommended if 
you want to have more tools. Blenpy makes it for example possible to run 
the classic IDLE from within Blender, for which no wxPython is required.

I hope to bring Python and Blender a bit closer with this.

Thanks for any reaction,

Stani

Detailed information

Screenshot Spe: http://stani.host.sk/python/spe.png ()
Screenshots Blenpy: http://stani.host.sk/python/blenpy.html

Requires:
    *FULL Python22 installation
    *wxPython (http://www.wxpython.org/download.php)


Features:

Sidebar per file
    *class/method browser (jump to source)
    *automatic todo list, highlighting the most important ones (jump to 
source)
    *automatic alphabetic index of classes and methods (jump to source)
    *notes

Tools:
    *interactive shell
    *locals browser (left click to open, right click to run)
    *seperate session recording
    *quick access to python files in folder and its subfolders (click to 
open)
    *unlimited recent file list (left click to open, right click to run)
    *automatic todo list of all open files, highlighting the most 
important ones (jump to

source)
    *automatic alphabetic index of all open files (jump to source)

Python related:
     *auto-indentation
     *auto-completion
     *calltips

Drag & Drop: drop any amount of files or folders...
    *on main frame to open them
    *on shell to run them
    *on recent files to add them
    *on browser to add folders

General
    *context help defined everywhere
    *add your own menus and toolbar buttons
    *exit & remember:all open files will next time automatically be loaded
       (handy for Blender sessions)
    *wxPython gui, so should be cross-platform (Windows,Linux,Mac)
    *scripts can be executed in different ways:run,run verbose & import
    *after error jump to line in source code

last but not least...

Blender related:
     *redraw the Blender screen on idle (no blackout)
     *load script in Blender Text window
     *Blender object tree browser (cameras,objects,lamps,...)
     *add your favorite scripts to the menu
     *100% Blender compatible:can run within Blender, so all these 
features are available

within Blender

PS2 By the way...
I think Blender should be more present in the Python community.  It's 
strange that there was no announcement of the new Blender release in the 
Python's mailing list 
(http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&group=comp.lang.python.announce). 


Some questions of Michel:
 >You said it runs inside blender. I assume that you call the application
from Blender, and it starts in a seperate window?
Yes, but as I stated before I would like to make Blender and Spe run 
parallel.

 >Is it possible to build blender without (the link to) the new IDE? We
don't want to force the users to install WxPython when they don't want
to write scripts.
Of course, there is no other way.

 >How portable is WxPython? I know it runs on Windows and no Linux.
Blender runs on 4 more platforms (OS-X, Irix, FreeBSD and Solaris).
See http://www.wxpython.org/download.php