Submitting and reviewing extensions =================================== This page details how extensions can be submitted to and moderated on the Inkscape website. I want to submit my extension ----------------------------- Go through each of these actions and check to make sure your extension is ready to be made available in Inkscape: #. Check for limitations * Your extension must not contact the internet (unless exempted for a good reason) * It must not self-update, or edit files in the config directory. * It must be readable code, in English. Code in other languages or too obscure may not be accepted. #. Check the license of your code * Your code must be Free and Open Source. Using one of the available licenses such as GPL, AGPL, MIT, Apache2 etc. * Every included dependency must be also Free and Open Source. #. Check all of your dependencies * Your extension MUST be python based (except for template extensions) * It MUST work with python 3.6 or later * Any dependency not shipped with Inkscape MUST be packaged along side your extension. For example jinja2 would be included in a folder. #. Create a zip file of your extension and any external depdencies. * Include only one copy in the root of the zip file. * No specific versions for windows or linux, macOS. #. Check which versions of Inkscape it works with (each one, make a note for tagging later) * set the variable "INKSCAPE_PROFILE_DIR=/tmp/folder" * run the inkscape version * open the extensions manager * install the zip file you hope to submit (second tab, folder button at the bottom) * Your extension MUST work with at least one version of Inkscape. #. Sign your zip file * Use GnuPG to sign your zip file, use the same signature as the public key you uploaded to inkscape.org * OR use md5hash to create a less secure md5 signature of the zip file. Make sure you have some text in your inkscape.org gnupg key profile setting so you see the signature field when uploading. #. Upload the zip file to the extensions category in the website. * Include the generated signature * Title and description in English with as much detail as possible * Add Inkscape versions as you tested above. * Include a link to the Git repository. * Include an icon and screenshot file. #. Send a message to the Inkscape extensions team on `RocketChat`_ asking for a review. .. _RocketChat: https://chat.inkscape.org/channel/inkscape_extensions I want to review a submission ----------------------------- Extensions Reviewer Checklist ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ☐ Take next popular extension [#]_ or request to review - ☐ Check for existing verification signature - ☐ Contact author to inform about review - ☐ Unpack zip to extensions folder - ☐ Check zip contents for inx and py file - ☐ Check for license header and/or file - ☐ Run pytest and record test coverage - ☐ Run pylint to get code quality score - ☐ Visually confirm no mallicious or internet code - ☐ If no tests, add simple test upstream [#]_ - ☐ Install zip using extensions manager - If everything is correct … - ☐ Add version tags and any other tags - ☐ Edit description, title, logos to improve presentation - ☐ contact a website administrator to complete If everything is correct (must be admin): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ☐ Add testing and quality scores to decription - ☐ Generate signature key and upload - ☐ Generate md5 if package is not self-signed .. [#] https://inkscape.org/gallery/=extension/ .. [#] Add simple inkex.tester comparision test