Project audit
Reads the .qgz with PyQGIS and lists broken layers, missing CRS, passwords stored in the source and layouts with atlases, with the password masked in the report.
Octo for QGIS, PyQGIS and batch processing
QGIS is open source, ships every four months and, since 4.0 (Mar 6, 2026), runs on Qt6. Almost everything done on screen has a command-line path: qgis_process runs algorithms and models, PyQGIS scripts audit projects and export entire atlases to PDF. Octo builds these batches and checks them by content. Scale, method and the map signature stay with the technical lead and the cartographer.
Six possible deliverables, taken from the survey. All of them start by reading the project and the installation without changing anything, and all go through the lead before becoming a product.
Reads the .qgz with PyQGIS and lists broken layers, missing CRS, passwords stored in the source and layouts with atlases, with the password masked in the report.
qgis_processFixes, reprojects, clips and dissolves dozens of layers without opening QGIS, with a JSON log per step and the algorithm's help saved alongside.
Exports one sheet per feature with QgsLayoutExporter.exportToPdfs and checks the signature, number of sheets and size of each PDF.
Turns a repeated procedure into a processing model, with a fictitious test layer and the expected result noted.
Deliverable: model + reproducible testHydrology and heavy raster through the GRASS provider, finding the installation's actual prefix and parameters before running.
Deliverable: watersheds and drainage + points to validateInventory of versions and plugins, Qt6 check, critical projects opened in both versions and comparison of batches and PDFs.
Deliverable: report of differences for the team to decideThe same Octo cycle, applied to QGIS. Each arm has a narrow role; people choose the scale and method and sign the map.
QGIS versions on each machine, active plugins, processing providers, critical projects and where the data comes from.
CRS, date and source of each layer, required license attribution and up to which scale the data holds up.
Passwords stored in projects, personal data in shared layers (LGPD) and plugins of unknown origin.
LTR or latest release; model or script; qgis_process or PyQGIS; where the batch runs.
qgis_process batches, PyQGIS scripts and models, always with a dry-run mode and the actual help saved.
Feature count, extent, area, PDF signature and a rendered sheet by sample. Exit code zero is not a check.
A batch is delivered, a plugin swapped or a workstation migrated only after the lead's approval.
QGIS version, algorithms and parameters, exported sheets and who approved each batch.
Octo works as support. It does not choose the scale or the method, sign maps or change workstation versions without approval.
The criteria Octo uses to choose, with the documentation for the installed version.
| Task | Path | Note |
|---|---|---|
| Know which algorithms exist | qgis_process list | Save the list with the version |
| See the actual parameters | qgis_process help <alg> | Compare with the script before running |
| Run in batch | qgis_process --json run <alg> -- ... | QT_QPA_PLATFORM=offscreen headless |
| Long parameters | qgis_process run <alg> - with JSON | inputs key; can include project_path |
| Run a model | qgis_process run modelo.model3 | Test layer with expected result |
| Export an atlas | PyQGIS QgsLayoutExporter.exportToPdfs | Check %PDF, number of sheets, size |
| Audit a project | PyQGIS QgsProject.read | Mask passwords in the report |
| Hydrology | GRASS provider in processing | Prefix and parameters from help |
| Plugin for QGIS 4 | qgisMaximumVersion=4.99 + qgis.PyQt | pyqgis4-checker check on upload |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
Versions, plugins and critical projects, with broken layers and exposed passwords, without changing anything.
Repeated atlases and processing become scripts with a dry run, a log and an exceptions report.
qgis_process batches with a logMove to LTR 4.x with a pilot, comparative tests and a way back.
Each point below has a source published by the project or by the organization responsible for the standard. The sources are in the next section.
3
points with a published source, each with its reference shown alongside.
qgis_processlist, help, run with -- or JSON via standard input, --json, and QT_QPA_PLATFORM=offscreen headless.Source: QGIS 3.44 manualOcto prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Surveys, calculates, organizes and produces the documents: spreadsheets, reports, maps and drafts.
Deliverable: material ready to checkThe licensed professional checks what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.
Step: review by the signerOcto does not sign. Projects, technical reports, ART/RRT, accountability reports and any official document are still signed by the company's or agency's licensed professional: here, the technical lead for the map or the survey.
Signature: technical lead for the map or surveyRoadmap, changelog, blog, manual and API of the QGIS project, GRASS news and the OpenStreetMap license page, consulted on Oct 31, 2026.
qgis_processversion 3.44QgsLayoutExporter APIexportToPdfsThe assessment starts with an inventory of versions, plugins and critical projects, without changing anything. You get the list of what is broken, what is exposed and the decisions only your team makes, and you decide with it in hand.