Quick notes: GLP3 and ISC licenses are usually incompatible, but since you've clearly given permission to include it in PyLNP that's a nonissue.
I looked at your top-level files and didn't see a license.txt there. I'll check out the ISC license and see how it strikes me.
"Flat is better than nested" - you could probably have all .py files in the top dir without any problems and it would be a bit more readable.
Eh, they're a little excessive right now, but this package structure is going to come in handy as I expand to content merging, and when I put in unit tests. The only level that seems potentially excessive is the .bamm package, but that's an identifier - I'd think it'd be more confusing if it
wasn't included. "from src.graphics import graphics" could mean anything. Though I suppose I could rename my packages or modules to be more bamm-specific, instead.
I'll look up the "flat is better than nested" principle though and see if this is valid or just non-Pythonic.
Question - the __init__.py s were added by PyDev when I created the packages, are those actually necessary to have packages? They don't seem to do anything...
Keeping lines to 80 characters also helps readability. I didn't try this, but it's worth getting pylint to check your code too.
I've been using the PyDev plugin for Eclipse, which includes a code analysis tool which I beliiieve is based on pylint. At least, pylint's webpage includes a link to PyDev.
I'm still working on improving readability and usability-by-other-modules.
Right now, if you want to call it from LNP, I'd edit the run.config file procedurally and then just link the graphics button up to src.bamm.graphics.execution.default_run().