Skip to content

imagodata/filter_mate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,118 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FilterMate FilterMate

Version 4.7.1 | QGIS Plugin | Production-Ready 🎉

🚀 Explore, filter & export vector data with lightning-fast performance on ANY data source.

Tests Documentation QGIS Plugin GitHub Issues


✨ Features

Feature Description
🔍 Smart Search Intuitive entity search across all layer types
📐 Geometric Filtering Spatial predicates with buffer support
Filter Favorites Save and reuse filter configurations
🤝 Favorites Sharing Publish favorites to git repos with QGIS authcfg credentials
🌐 REST API Drive FilterMate from external tools (X-API-Key auth)
📝 Undo/Redo Complete filter history
🌍 34 Languages Full internationalization
🎨 Dark Mode Automatic theme detection
📦 GPKG Project Export Embedded QGIS project with group hierarchy, styles & CRS
🚀 Multi-Backend PostgreSQL, Spatialite, OGR

🆕 What's new in 4.7.1

  • Export hardened: 12 fixes across SHP/CSV/GPKG/SpatiaLite/ZIP — including a critical ZIP path-traversal leak, V3 API migration, streaming CRS plumbing, batch collision detection.
  • SpatiaLite cascade restored: drop GeomFromGPB wrap (use ST_* prefix), preserve ST_* / EXISTS(...) / NOT(...) predicates in the sanitizer (3 silent no-op regressions fixed), restore the cache f-string interpolation that had been broken for 100+ days.
  • REST API hardening: refuse insecure default api_key, hash-at-rest, 503 when favorites unavailable, no input echo on errors, 1 MiB body cap, Qt main-thread marshalling for accessor mutations.
  • Security: PortableGit installer requires SHA-256 digest + http(s)-only URLs, defense-in-depth PostgreSQL SQL guards, sanitizer collapses whitespace runs before marker scan.
  • Favorites deep audit follow-through: FavoritesSpatialHandler extraction, FavoritesError exception family, FavoritesExtensionBridge + FavoritesMenuBuilder + FavoriteImportHandler + LayerSignature, signal leak fixes, ~24 commits closing 37 findings.
  • Auto-zoom: zoom on filtered-layers union after filter/favorite apply, with a subset-change token to block stale post-task zoom.
  • Tests: 1493 ✅ (+200 since v4.7.0).

What's new in 4.7.0

  • Favorites Sharing: git-backed publish to remote repos, repo manager dialog, 1-click Quick publish, optional Resource Sharing extension, JSON Schema v3, per-user scope.
  • REST API: GET /layers, POST /filters/apply, /filters/status, /undo, /redo, /favorites — protected by X-API-Key middleware.
  • Performance: streaming feature IDs, cached parsed expressions, single buffer-distance fetch.
  • Hardening: path-traversal + argv-injection guards, git stderr scrubbing, sanitizer at setSubsetString chokepoint, single HistoryService, QgsDataSourceUri-based PostgreSQL table parsing.
  • UX/UI: HIDPI profile + QSS cascade cleanup, harmonized groupbox display modes, favorites scope filter combo + list badges, full 34-locale coverage for new features.

📦 Installation

From QGIS Plugin Repository (Recommended)

  1. QGIS → PluginsManage and Install Plugins
  2. Search "FilterMate" → Install Plugin

Manual Installation

Download from GitHub Releases and extract to:

OS Path
Windows %APPDATA%\QGIS\QGIS3\profiles\default\python\plugins\
Linux ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/
macOS ~/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/

Optional: PostgreSQL Support

pip install psycopg2-binary

🎬 Video Tutorials

Tutorial Link
📺 Complete Overview Watch
🔍 Dataset Exploration Watch
🛣️ Road Network Filtering Watch
📦 GeoPackage Export Watch
📐 Negative Buffer Watch

⚡ Backend Performance

Backend 10k 100k 1M Features
🟢 PostgreSQL <1s <2s ~10s
🔵 Spatialite <2s ~10s ~60s
🟠 OGR ~5s ~30s >120s

Tip: Install psycopg2-binary for optimal performance with large datasets.


📋 Requirements

  • QGIS: 3.0+
  • Python: 3.7+ (included with QGIS)
  • Optional: psycopg2 for PostgreSQL backend

📚 Documentation


🤝 Contributing

See Contributing Guidelines


📄 License

GNU General Public License v3.0 - See LICENSE


Developed by: imagodata | Contact: [email protected]

About

FilterMate is a Qgis plugin, an everyday companion that allows you to easily filter your vector layers

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages