PyNSource is free and open source.
PyNSource is now also available from SourceForge http://sourceforge.net/projects/pyidea/
UPDATE FEB 2009 - If you are running from source code, you need a replacement pyNSourceGui.py for running under the latest wxpython releases.
Version 1.4c - Nov 1 2006
|
Windows Installer: Download and run the standalone PyNSourceGui.exe installer (2.9 Meg) which will install everything in one single directory for you and create the usual windows shortcut icons so that you can launch the program . Everything is supplied and built into this easy to use installation. However the GUI does not yet support the generation of java and Delphi source files. |
or if you aren't using windows, or want the python source code plus all the power of the command line tool (including python to java code generation)
| Download the zipfile pynsource.zip (latest release is 1.4c) and type the usual python setup.py install from the command line to install or |
for windows users who want the source code:
| Download the windows easy package installer PyNsource-1.4c.win32_python23.exe (python 2.3) *recommended PyNsource-1.4c.win32_python24.exe (python 2.4) *recommended older versions: PyNsource-win32_python22.exe (python 2.2, but install older 1.4a release) PyNsource-win32_python23.exe (python 2.3, but install older 1.4a release) |
All files are supplied and installed into a python package, which is a single folder that is installed typically, into the directory e.g. \Python22\Lib\site-packages\pynsource
WxPython dependencies
| As well as installing wxPython you may need the ogl extensions to wxPython (or just run the standalone Gui and you don't have to install anything!). | |
| PyNSource should run under both wxWindows 2.4 and 2.5. Only 1.4b onwards supports wxpython 2.5 |
|
| If you want to run under wxPython 2.6 and 2.7 you will need a slightly different version of just the GUI module pyNsourceGui.py pyNsourceGui1.4c-wx26.zip. |
The PyNSource Gui is started in two ways:
| By running the standalone pynsourceGui.exe via the shortcut created by the gui standalone installer. or | |
| By running pynsourceGui.py directly from source code (under windows, linux or mac) you need wxpython installed. See http://www.wxpython.org ) e.g. \Python23\python.exe \Python23\Lib\site-packages\pynsource\pyNsourceGui.py |
The PyNSource command line tool is pynsource.py
Examples of usage can be found here.
Join the mailing list and be notified when there are new releases of PyNSource.
Version 1.4c - Nov 2006
- Fixed some parsing bugs.
- Parsing now more correct under python 2.4 (python changed token.py !!)
- Unit tests now all pass
Version 1.4b - Sep 2006
- Added wxpython 2.5 compatibility (thanks Thomas Margraf!)
Version 1.4a - July 2004
Important GUI changes:
| Right Click on a node to delete it. | |
| Run Layout anytime from menu. | |
| Left click on background will deselect any selected shapes |
Version 1.4 - July 2004
| 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 (instance of cat rather than creating a new Cat). |
1.3a Mar 2003
| Fixed bug in Print / Print Preview so that only print one page of diagram, not two. |
1.3 Mar 2003
| Delphi output (.pas files) | |
| GUI front end allowing you to import python code directly into a UML diagram. | |
| GUI front end Print and Print Preview support |
1.2 - Feb 2004
| Fixed bug where local variables were sometimes interpreted as static class variables |
1.1 - Second release - Feb 2004
| Improved Java export so that exported java files can be compiled successfully. | |
| Python variables are exported as type 'variant' which is an invented java type. | |
| Java keywords are now never generated and instead an _ is prepended to any python attribute name which would have become a java keyword. | |
| Improved source scanning so that built in functions like eval() and abs() etc. are not treated as composite classes references in cases like self.myval = eval(blah) where eval might have been interpreted as us trying to create an instance of a class eval. Fixed. |
1.0 - Aug 2003
| Initial release. |
