1. Project Structure

The documentation below is a redux of the official QGIS documentation, with additions or subtractions relevant to our plugin specifically.

1.1. QGIS Files

__init.py__ Generally a staple of most Python projects, it is different with QGIS in that QGIS requires it to contrain a classFactory() function and optionally contains other intialization code. Generally speaking this is the entry point, and in Python this file is required in order to make your code importable as a module.

metadata.txt A file containing metadata that is of interest to QGIS, like project name, version, etc. Among other things this is what QGIS parses when we upload our plugin to the QGIS plugin repository. This metadata will be seen by users.

1.2. Marvis Files

marvis.py The main source code file of our Marvis plugin.

1.3. Qt Framework Files

resources.qrc An XML document generated by the Qt Framework’s Qt Designer. Probably don’t modify this by hand. It is translated into python as resources.py which also probably shouldn’t be messed with manually.

form.ui Auto-generated description of the Qt GUI. Translated into Python as form.py