{"name": "FilterMate", "package_name": "filter_mate", "description": "\ud83d\ude80 The ultimate spatial filtering plugin! Explore, filter & export vector data with lightning-fast performance on ANY data source. Full QGIS 4 / Qt6 support.", "about": "\ud83c\udfaf FilterMate 4.9.2 - Your Swiss Army Knife for Spatial Data!\n\nStop struggling with complex filters. FilterMate makes spatial queries intuitive, fast, and powerful.\n\n\ud83c\udf1f WHY FILTERMATE?\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2713 Works with EVERYTHING: PostgreSQL, Spatialite, GeoPackage, Shapefiles, WFS...\n\u2713 Lightning fast: 2-8\u00d7 faster with 4 performance optimizers + smart caching\n\u2713 Intuitive: Filter by clicking, drawing, or selecting - no SQL needed!\n\u2713 Professional: Undo/Redo, Favorites, Dark Mode, 34 languages\n\u2713 Shareable: Git-backed favorites sharing + REST API for automation\n\n\ud83d\udd25 KILLER FEATURES:\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\ud83d\udccd Geometric filtering with buffer, intersection, containment...\n\ud83d\udd0d Smart entity search across any layer type\n\u2b50 Save & share your favorite filter configurations with spatial context\n\ud83e\udd1d Publish favorites to git repos (private/team) with authcfg credentials\n\ud83c\udf10 REST API to drive FilterMate from external tools (X-API-Key auth)\n\ud83d\udce6 One-click export to GeoPackage with embedded QGIS project (preserves group structure, styles & CRS)\n\ud83c\udfa8 Beautiful UI that adapts to your QGIS theme\n\u26a1 Filter chaining with dynamic buffer expressions\n\n\ud83d\udca1 v4.9.2: Fix the GeoPackage layer that showed 0 features when re-filtered as a source after being filtered as a target (a closing parenthesis was lost while combining the new expression with the R-tree subset, invalid SQL accepted silently by OGR); with the combine option off, a new source filter now replaces the previous subset instead of being ANDed to it.\n\ud83d\udca1 v4.9.1: Fix the filter refused on the first click on PostgreSQL selections of 100 000 features or more (materialized-view path called a missing facade method), fix after a project switch with the panel open (\"wrapped C/C++ object of type QgsVectorLayer has been deleted\" when the previous layer is gone) and a QGIS crash after a plugin reload followed by a project close (the panel is now removed and deleted on unload, so no feature-picker gather can outlive its layer); timing lines for the validate/reset steps of a layer change.\n\ud83d\udca1 v4.9.0: Open another project with the panel open and it follows (four causes fixed and verified in QGIS 4.2), one stable FilterMate project row per project and no more duplicated favorites, PostgreSQL feature list without the server-side sort that fetched the whole table (13 s \u2192 30 ms) and deferred while the canvas renders (no more 17 s freeze at project open), type-to-find in the layer combo, busy cursor and pressed button during tasks, plain-language error messages, accessible names, lighter zip, lint in CI, Qt6 enum guard.\n\ud83d\udca1 v4.8.10: PostgreSQL buffer filters (ST_DWithin + source envelope prefilter on the target's GiST index: a roads + 20 m buffer cascade went from never finishing to 25 s for 16 layers), source-selection materialized view repaired, panel reloads on project switch whatever APP.AUTO_ACTIVATE, GeoPackage buffers applied once in QGIS (no convex hull), OGR buffer cached per task, 48 SQL templates restored.\n\ud83d\udca1 v4.8.9: Measured performance release. GeoPackage spatial cascades use the R-tree of each target table (a 37-layer filter by the commune of Toulouse went from 371 s to under 3 s), PostgreSQL targets keep their GiST index with the centroid option (49.6 s to under 4 s), no double scan after a filter, canvas frozen for the whole task, no more localhost/IPv6 connection stall, fewer counts and repaints. Fix: filter with no target layer.\n\ud83d\udca1 v4.8.8: Performance release. Multiple-selection list bounded by feature_picker_limit (sorted, server-side text search, Select All loads the full list) and one indexed lookup per click instead of a full-layer scan. Layer variables applied per layer in one batched write at project load. GEOS cascaded union, attribute-free source loading and immediate wake-up of interruptible Spatialite queries. Stale unsaved projects purged from the FilterMate database. INFO log level by default, timing lines (project_open, layer_change, task_filter) in filtermate.log.\n\ud83d\udca1 v4.8.7: Consistent controls, button bars and panel backgrounds across dark, light and gray themes. Clearer Exploring titles and configuration text. Fix icon-theme synchronization errors and avoid repeated work during bulk layer removal and shutdown.\n\ud83d\udca1 v4.8.6: QGIS 3/4 theme synchronization for existing profiles, readable dark-mode PNG icons and aligned filtering rows. Retains Qt5/Qt6 checkbox and mouse-event fixes.\n\ud83d\udca1 v4.8.4: Fixed the checkbox primitive name (PE_IndicatorItemViewItemCheck) and mouse position handling across Qt5 and Qt6.\n\ud83d\udca1 v4.8.3: Config log cleanup \u2014 the \"Schema file not found\" message logged on every config reload (config_schema.json was intentionally removed in a prior release) is now Info instead of Warning. Also closed out 2 live-testing reports as confirmed non-bugs (QGIS3-named settings path is QGIS 4.2's own behavior; \"Adding layers\" progress is QGIS-core, not FilterMate).\n\ud83d\udca1 v4.8.2: \ud83d\ude91 Second QGIS 4.x hotfix \u2014 v4.8.1's fix still crashed (\"DockWidgetFeature has no attribute AllDockWidgetFeatures\"): that convenience constant was deprecated in Qt 5.13 and fully removed in Qt6, not just rescoped. Now ORs the 3 individual flags it used to expand to.\n\ud83d\udca1 v4.8.1: \ud83d\ude91 Critical fix for QGIS 4.x \u2014 the dockwidget failed to load entirely (\"QDockWidget has no attribute AllDockWidgetFeatures\") because PyQt6's UI loader can't resolve the .ui file's features flag; now set programmatically instead. Also fixed BatchFilterAlgorithm.tr() crashing the Processing Toolbox entry. Found via real-world QGIS 4.2/Windows testing right after v4.8.0 shipped.\n\ud83d\udca1 v4.8.0: \ud83c\udf89 Full QGIS 4.2 / Qt6 support! Three sweeps across the whole codebase \u2014 QMetaType field-type migration, QtWidgets\u2192QtGui relocations (QShortcut & co.), remaining flat-enum fixes \u2014 plus 2 AST regression guards to keep it that way. New: FilterMate algorithms now in the Processing Toolbox (batch-filter multiple layers with one expression).\n\ud83d\udca1 v4.7.3: Stability + Qt6-readiness release. Fix crash on QGIS 4.0.1/Windows when the standalone sip package wasn't importable (unguarded top-level import in the dockwidget). Security \u2014 resolved all Bandit findings (asserts replaced with explicit raises, corrected nosec code for ElementTree import, documented exception-suppression guards). Qt6 readiness \u2014 qualified ~165 flat PyQt/PyQGIS enum accesses to their scoped form and dropped exec_() across 50 files, no Qt5 behavior change.\n\ud83d\udca1 v4.7.2: Spatial filtering fixes (SpatiaLite source_srid staleness causing silent 0-feature filters, Custom Selection \"all-features\" mode no longer shadowed by a stale layer selection), export hardening (blocked export with no Exploring selection, SHP/batch warnings surfaced, GPKG styles embedded on reprojection + streaming, empty-layer streaming crash fixed, partial-file cleanup on failure/cancel, format registry consolidation, ~900 LOC dead export code removed), HIDPI display fix (combobox/input stuck at 20px on 4K/Retina/150%+ scaling)\n\ud83d\udca1 v4.7.1: Hardening release \u2014 export pipeline (12 fixes across SHP/CSV/GPKG/SpatiaLite/ZIP), spatialite cascade (drop GeomFromGPB wrap, preserve ST_* + EXISTS/NOT predicates), Qt main-thread marshalling for QGISFilterMateAccessor, REST API hardening (503 favorites, no input echo, 1 MiB body cap, api_key hash-at-rest), portable Git SHA-256 digest enforcement, favorites deep audit follow-through (37 findings, FavoritesSpatialHandler extraction, FavoritesError exception family), auto-zoom on filtered union, +200 tests (1493 \u2705)\n\n\ud83d\udcd6 Full docs: https://imagodata.github.io/filter_mate", "homepage": "https://imagodata.github.io/filter_mate/", "repository": "https://github.com/imagodata/filter_mate", "tracker": "https://github.com/imagodata/filter_mate/issues", "author": "imagodata", "tags": ["subset", "spatialite", "vector", "geofilter", "filter", "export", "layers", "data", "search", "exploration", "postgis", "python", "ogr"], "downloads": 15909, "latest_version": "4.9.2", "versions": [{"version": "4.9.2", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 178, "uploaded_by": "imagodata", "upload_datetime": "2026-09-14T13:48:11.477773"}, {"version": "4.8.7", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 96, "uploaded_by": "imagodata", "upload_datetime": "2026-09-09T14:13:13.509890"}, {"version": "4.8.3", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 329, "uploaded_by": "imagodata", "upload_datetime": "2026-08-01T03:55:49.234275"}, {"version": "4.7.3", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 101, "uploaded_by": "imagodata", "upload_datetime": "2026-07-30T04:21:34.508324"}, {"version": "4.7.1", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 592, "uploaded_by": "imagodata", "upload_datetime": "2026-04-29T09:41:00.490354"}, {"version": "4.7.0", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 140, "uploaded_by": "imagodata", "upload_datetime": "2026-04-27T06:31:43.466283"}, {"version": "4.6.6", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 281, "uploaded_by": "imagodata", "upload_datetime": "2026-04-08T03:34:43.217843"}, {"version": "4.6.5", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 79, "uploaded_by": "imagodata", "upload_datetime": "2026-04-08T03:20:19.357235"}, {"version": "4.6.4", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 135, "uploaded_by": "imagodata", "upload_datetime": "2026-04-07T06:45:36.406654"}, {"version": "4.6.2", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 283, "uploaded_by": "imagodata", "upload_datetime": "2026-03-17T04:16:45.762657"}, {"version": "4.6.1", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 193, "uploaded_by": "imagodata", "upload_datetime": "2026-03-09T14:17:46.406301"}, {"version": "4.6.0", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "3.99.0", "downloads": 227, "uploaded_by": "imagodata", "upload_datetime": "2026-02-18T09:16:29.299576"}, {"version": "4.5.2", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "3.99.0", "downloads": 172, "uploaded_by": "imagodata", "upload_datetime": "2026-02-12T04:33:36.171861"}, {"version": "4.5.1", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "3.99.0", "downloads": 90, "uploaded_by": "imagodata", "upload_datetime": "2026-02-11T18:15:33.856035"}, {"version": "4.5.0", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "3.99.0", "downloads": 81, "uploaded_by": "imagodata", "upload_datetime": "2026-02-11T15:36:03.432005"}, {"version": "4.4.6", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 273, "uploaded_by": "imagodata", "upload_datetime": "2026-01-26T17:18:39.953755"}, {"version": "4.4.5", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 118, "uploaded_by": "imagodata", "upload_datetime": "2026-01-25T03:30:35.469510"}, {"version": "4.4.0", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 134, "uploaded_by": "imagodata", "upload_datetime": "2026-01-22T15:52:04.513745"}, {"version": "4.3.10", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 91, "uploaded_by": "imagodata", "upload_datetime": "2026-01-22T09:12:47.666911"}, {"version": "4.3.0", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 91, "uploaded_by": "imagodata", "upload_datetime": "2026-01-21T18:44:53.748154"}, {"version": "4.2.6", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 132, "uploaded_by": "imagodata", "upload_datetime": "2026-01-19T10:07:03.816512"}, {"version": "4.2.5", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 82, "uploaded_by": "imagodata", "upload_datetime": "2026-01-19T06:16:10.415360"}, {"version": "3.0.0", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 206, "uploaded_by": "imagodata", "upload_datetime": "2026-01-07T06:48:06.337547"}, {"version": "2.9.4", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 130, "uploaded_by": "imagodata", "upload_datetime": "2026-01-05T05:50:40.153910"}, {"version": "2.9.3", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 98, "uploaded_by": "imagodata", "upload_datetime": "2026-01-05T03:18:21.267104"}, {"version": "2.9.2", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 111, "uploaded_by": "imagodata", "upload_datetime": "2026-01-04T07:46:48.547192"}, {"version": "2.8.6", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 104, "uploaded_by": "imagodata", "upload_datetime": "2026-01-04T04:14:23.360258"}, {"version": "2.8.5", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 91, "uploaded_by": "imagodata", "upload_datetime": "2026-01-03T18:04:40.545525"}, {"version": "2.8.4", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 94, "uploaded_by": "imagodata", "upload_datetime": "2026-01-03T17:35:35.066279"}, {"version": "2.8.1", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 81, "uploaded_by": "imagodata", "upload_datetime": "2026-01-03T15:48:03.061540"}, {"version": "2.6.7", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 106, "uploaded_by": "imagodata", "upload_datetime": "2026-01-02T22:20:50.313813"}, {"version": "2.6.3", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 113, "uploaded_by": "imagodata", "upload_datetime": "2026-01-02T15:44:38.163576"}, {"version": "2.5.7", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 121, "uploaded_by": "imagodata", "upload_datetime": "2025-12-31T05:05:53.623604"}, {"version": "2.5.6", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 109, "uploaded_by": "imagodata", "upload_datetime": "2025-12-30T07:42:27.687703"}, {"version": "2.5.5", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 91, "uploaded_by": "imagodata", "upload_datetime": "2025-12-29T13:37:16.133779"}, {"version": "2.5.4", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 84, "uploaded_by": "imagodata", "upload_datetime": "2025-12-29T11:24:06.128841"}, {"version": "2.4.7", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 153, "uploaded_by": "imagodata", "upload_datetime": "2025-12-24T05:15:56.015803"}, {"version": "2.4.6", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 88, "uploaded_by": "imagodata", "upload_datetime": "2025-12-24T04:25:20.686512"}, {"version": "2.4.5", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 107, "uploaded_by": "imagodata", "upload_datetime": "2025-12-23T06:52:13.583858"}, {"version": "2.4.3", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 111, "uploaded_by": "imagodata", "upload_datetime": "2025-12-22T15:47:33.431587"}, {"version": "2.3.9", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 106, "uploaded_by": "imagodata", "upload_datetime": "2025-12-22T08:19:16.165843"}, {"version": "2.3.8", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 139, "uploaded_by": "imagodata", "upload_datetime": "2025-12-19T09:56:52.679505"}, {"version": "2.3.7", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 124, "uploaded_by": "imagodata", "upload_datetime": "2025-12-18T03:47:09.614639"}, {"version": "2.3.6", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 99, "uploaded_by": "imagodata", "upload_datetime": "2025-12-17T17:18:08.996163"}, {"version": "2.3.5", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 99, "uploaded_by": "imagodata", "upload_datetime": "2025-12-17T10:33:50.106468"}, {"version": "2.3.4", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 104, "uploaded_by": "imagodata", "upload_datetime": "2025-12-16T15:28:45.495815"}, {"version": "2.3.3", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 125, "uploaded_by": "imagodata", "upload_datetime": "2025-12-15T10:18:28.827672"}, {"version": "2.3.2", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 106, "uploaded_by": "imagodata", "upload_datetime": "2025-12-15T07:55:46.478282"}, {"version": "2.3.1", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 130, "uploaded_by": "imagodata", "upload_datetime": "2025-12-14T13:27:44.224414"}, {"version": "2.3.0", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 90, "uploaded_by": "imagodata", "upload_datetime": "2025-12-13T15:39:37.306584"}, {"version": "2.2.5", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 184, "uploaded_by": "imagodata", "upload_datetime": "2025-12-08T08:54:11.427247"}, {"version": "2.2.4", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 99, "uploaded_by": "imagodata", "upload_datetime": "2025-12-08T06:44:06.175373"}, {"version": "2.2.3", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 94, "uploaded_by": "imagodata", "upload_datetime": "2025-12-08T04:18:14.597579"}, {"version": "2.2.2", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 114, "uploaded_by": "imagodata", "upload_datetime": "2025-12-07T17:47:01.480050"}, {"version": "2.2.0", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 104, "uploaded_by": "imagodata", "upload_datetime": "2025-12-07T15:24:51.664954"}, {"version": "2.1.0", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 117, "uploaded_by": "imagodata", "upload_datetime": "2025-12-06T20:10:11.918985"}, {"version": "2.0.0", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 85, "uploaded_by": "imagodata", "upload_datetime": "2025-12-06T20:07:42.567860"}, {"version": "1.8", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 2508, "uploaded_by": "imagodata", "upload_datetime": "2024-03-19T16:43:47.549993"}, {"version": "1.7", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 1362, "uploaded_by": "imagodata", "upload_datetime": "2023-12-21T03:35:47.994407"}, {"version": "1.6", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 1106, "uploaded_by": "imagodata", "upload_datetime": "2023-12-08T06:32:43.408983"}, {"version": "1.5", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 577, "uploaded_by": "imagodata", "upload_datetime": "2023-12-03T10:28:22.828271"}, {"version": "1.4", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 606, "uploaded_by": "imagodata", "upload_datetime": "2023-11-27T03:52:32.390346"}, {"version": "1.3", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 697, "uploaded_by": "imagodata", "upload_datetime": "2023-11-24T05:41:02.518926"}, {"version": "1.2", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 979, "uploaded_by": "imagodata", "upload_datetime": "2023-11-23T05:38:51.816655"}, {"version": "1.1", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "3.99.0", "downloads": 271, "uploaded_by": "imagodata", "upload_datetime": "2023-11-22T06:20:35.044391"}]}