I recently decided to start putting together some fun example desktop applications using Python. I’ve been using wxPython to create the cross platform applications. My first one is called Boomslang XML and is a basic XML editor.
The name, Boomslang, comes from a large venomous snake. It’s name basically means “tree snake”, which I thought was appropriate since the user interface uses a tree widget to represent the structure of the XML document.
The current features in Boomslang include the following:
- Opening / Editing multiple XML files
- Auto save on edit of the XML
- Recent file support
- Some keyboard shortcuts (accelerators)
- Add new XML nodes or attributes
- Edit nodes and attributes
- Delete nodes
Currently this is fairly beta, but I thought other people might find it interesting. I am aware of a couple of issues with it currently, such as the inability to delete attributes or not being able to add an XML node with spaces in it But I will get those fixed soon. In the meantime, feel free to check out the project over on Github.
Note: This project was tested with Python 2 and 3, wxPython 2.9, 3.0, and 4.0 using the lxml package on Windows 7, Xubuntu 16.04 and Mac OSX Sierra.
I hate to ask because I tend to learn more figuring things out for myself, but I’m getting an import error saying “No module named flatnotebook”
I’ve re-installed wxPython to make sure that’s good. Any suggestions?
That is really odd. What version of wxPython are you using? I’m pretty sure flatnotebook has been around since 2.8.
I just realized that wxPython 4 / Phoenix changed the flatnotebook’s location to wx.lib.agw.flatnotebook, so if that’s what you are using then you’ll need to update that in the version of Boomslang that you’re using. I thought I had run this code with wxPython 4, but I must have had the wrong version of Python loaded. I will update the code ASAP.
That’s probably it. Thanks!