Replace specific functions

Test run your extension

Many functions, when run, will still work, but they will give you a deprecation warning, with instructions what to replace them by.

E.g. inkex.Effect.selected is replaced by inkex.Effect.svg.selected - however, most replacements do not follow this naming scheme translation.

These changes are not backwards compatible.

Writing Tests

Previously Inkscape didn't require any unit testing for code, you should now write test code. If you expect your module to be included into the Inkscape extensions repository and included in the shipped Inkscape release, then a test suite file should be made in the tests directory for your extension. It should test each aspect of your extention and exercise all assumptions.

If you are writing a stand alone extension that users will install themselves, there is no strict requirement for tests. But having them will greatly improve your code and your ability to upgrade the code later. You can have tests in your own folders and use the extensions setup.py as a harness to run them (a setup.py file is also useful for installing your python code as a non-inkscape related python module, which might be useful too) See python documentation for creating packages.

Python 3 / Python 2 compatibility

Test your extension with both Python 2 and Python 3. With the updated extensions, Inkscape does no longer require Python 2, so some users will probably be using Python 3, and may no longer have Python 2 installed on their system. See Extension_Interpreters for how to set the Python version for your extension (for testing).