The PythonSCA is based on Mark Rosenfelder (aka Zompist)’s SCA², implemented in Javascript, which can be found on his website: http://zompist.com/sca2.html
Please note that I am not Mark Rosenfelder or in any way affiliated with him. This is a personal project.
- Rule syntax almost fully backwards-compatible to Zompist’s SCA². The only exception is the wildcard, which has not been implemented yet. For details on what it does, see http://zompist.com/scahelp.html.
- Native window GUI.
- A nice large Apply button, and everything is packed closely (to me it was the main flaw in the SCA² that the Apply button was so small and everything was so far apart), but expands to a side-by-side-view if it gets large.
- Tabs for running multiple SCAs in one window. They can be renamed, restored after closing, and moved around.
- You can save and load rules and lexicons to/from files directly.
- Saves its tabs on exiting and restores them on opening.
- Keyboard shortcut (F9) for applying the rules.
- Not highly customisable unless you know Python and wx.
- Has probably loads of bugs, though.
- Python 3.6 or later
- A compatible version of wxPython, available on PyPI:
pip install wxPython
- Download sca.py, scaguioo.py and scagui.pyw.
- Place them where you want. It’s important that you have them all in the same directory, though, or it won’t work (unless you know enough Python to change my code so the GUI looks for sca.py elsewhere).
- Run scagui.pyw. It will create a directory with some files when closing for the first time. Leave them there unless you want to start over every time you close and re-open the SCA.
- The tabs behave like in a web browser – Ctrl+T opens a new one, Ctrl+W closes the current one; middle click on a tab closes it, middle click on the tab bar opens a new one. They can be switched with Ctrl+PgUp/PgDn, and moved with Ctrl+Alt+PgUp/PgDn. You can’t move them by dragging, sorry.
- The standard file extension for word lists/lexicons is
.slx
(not the.lex
from Zompist’s first SCA). - In the ‘pysca’ directory you will find files that hold the rules and input lexicons from the last session. You can copy and rename them if you forgot to save something. (Actually, you can do with them what you want, since SCA does not read them – it restores the contents of its last tabs from the
__last.json
file.) - Ignore the checkbox named Debug. Originally, it makes the rule applying script show debug info, but you probably won’t understand it, and it will be very much, if not far too much for Python or for you to handle (that’s why it’s deactivated by default). So unless you know what you’re doing, leave it alone.
- If you have any ideas or suggestions, feel free to contact me!
- Support for the wildcard
…
- Improve GUI on systems that are not Windows 10
- Add keyboard shortcuts to make workflow even easiër