{"id":20507954,"url":"https://github.com/specklesystems/speckle-qgis","last_synced_at":"2026-03-18T00:39:24.670Z","repository":{"id":41872776,"uuid":"392713163","full_name":"specklesystems/speckle-qgis","owner":"specklesystems","description":"QGIS Connector for Speckle 2.0","archived":false,"fork":false,"pushed_at":"2024-12-10T11:57:39.000Z","size":94141,"stargazers_count":37,"open_issues_count":3,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-18T02:54:08.007Z","etag":null,"topics":["aec","architecture","bim","gis","interop","interoperability","qgis","qgis-plugin","speckle"],"latest_commit_sha":null,"homepage":"https://speckle.systems/tag/qgis/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/specklesystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-04T14:11:13.000Z","updated_at":"2025-01-28T09:11:34.000Z","dependencies_parsed_at":"2022-07-14T17:17:46.097Z","dependency_job_id":"1816eb93-af5b-44f7-b6f7-1e686dbec898","html_url":"https://github.com/specklesystems/speckle-qgis","commit_stats":{"total_commits":785,"total_committers":12,"mean_commits":65.41666666666667,"dds":"0.12866242038216558","last_synced_commit":"8463c82260aa30faf5f6b6750e3e6ede6373ab66"},"previous_names":[],"tags_count":172,"template":false,"template_full_name":null,"purl":"pkg:github/specklesystems/speckle-qgis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specklesystems%2Fspeckle-qgis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specklesystems%2Fspeckle-qgis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specklesystems%2Fspeckle-qgis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specklesystems%2Fspeckle-qgis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/specklesystems","download_url":"https://codeload.github.com/specklesystems/speckle-qgis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specklesystems%2Fspeckle-qgis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271425011,"owners_count":24757383,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aec","architecture","bim","gis","interop","interoperability","qgis","qgis-plugin","speckle"],"created_at":"2024-11-15T20:16:15.736Z","updated_at":"2026-03-18T00:39:19.597Z","avatar_url":"https://github.com/specklesystems.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/2679513/131189167-18ea5fe1-c578-47f6-9785-3748178e4312.png\" width=\"150px\"/\u003e\u003cbr/\u003e\n  Speckle | QGIS\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://twitter.com/SpeckleSystems\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/SpeckleSystems?style=social\" alt=\"Twitter Follow\"\u003e\u003c/a\u003e \u003ca href=\"https://speckle.community\"\u003e\u003cimg src=\"https://img.shields.io/discourse/users?server=https%3A%2F%2Fspeckle.community\u0026amp;style=flat-square\u0026amp;logo=discourse\u0026amp;logoColor=white\" alt=\"Community forum users\"\u003e\u003c/a\u003e \u003ca href=\"https://speckle.systems\"\u003e\u003cimg src=\"https://img.shields.io/badge/https://-speckle.systems-royalblue?style=flat-square\" alt=\"website\"\u003e\u003c/a\u003e \u003ca href=\"https://speckle.guide/dev/\"\u003e\u003cimg src=\"https://img.shields.io/badge/docs-speckle.guide-orange?style=flat-square\u0026amp;logo=read-the-docs\u0026amp;logoColor=white\" alt=\"docs\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n\u003e Speckle is the first AEC data hub that connects with your favorite AEC tools. Speckle exists to overcome the challenges of working in a fragmented industry where communication, creative workflows, and the exchange of data are often hindered by siloed software and processes. It is here to make the industry better.\n\n\u003ch3 align=\"center\"\u003e\n    Connector for Spatial Data from QGIS\n\u003c/h3\u003e\n\n\u003e [!WARNING]\n\u003e This is a legacy QGIS repo! A new next generation connector will be coming soon. In the meantime, check out our active next generation repos here: \u003cbr/\u003e\n\u003e [`speckle-sharp-connectors`](https://github.com/specklesystems/speckle-sharp-connectors): our .NET next generation connectors and desktop UI \u003cbr/\u003e\n\u003e [`speckle-sharp-sdk`](https://github.com/specklesystems/speckle-sharp-sdk): our .NET SDK, Tests, and Objects\n\n## Repo Structure\n\nThis repo contains the QGIS plugin for Speckle 2.0. It is written in `python` and uses our fantastic [Python SDK](https://github.com/specklesystems/speckle-py). The [Speckle Server](https://github.com/specklesystems/Server) is providing all the web-facing functionality and can be found [here](https://github.com/specklesystems/Server).\n\n\u003e **Try it out!!**\n\u003e Although we're still in early development stages, we encourage you to try out the latest stable release.\n\u003e Just follow the instructions on this file, and head to the [Releases page](https://github.com/specklesystems/speckle-qgis/releases) to download the necessary files and dependencies.\n\u003e\n\u003e **What can it do?**\n\u003e\n\u003e Currently, the plugin allows to send data from a single layer to a Speckle server using one of the accounts configured on your computer. It will extract all the features of that layer along side their properties and, when possible, geometry too.\n\u003e The following geometry types are supported for now:\n\u003e\n\u003e - Point\n\u003e - MultiPoint\n\u003e - Polyline (LineString)\n\u003e - MultiLineString\n\u003e - Polygon\n\u003e - MultiPolygon\n\u003e - **More to come!!**\n\u003e\n\u003e Data types currently not supported for sending:\n\u003e - Layers depending on the server connection (WMS, WFC, WCS etc.) \n\u003e - Scenes \n\u003e - Mesh Vector layers \n\u003e - Pointclouds \n\u003e\n\u003e If you have questions, you can always find us at our [Community forum](https://speckle.community)\n\n## Installation\n\n## QGIS Marketplace\n\nYou can find Speckle QGIS in the QGIS `Plugins -\u003e Manage and install plugins` menu item.\n\nThe plugin is currently published as experimental, so make sure you go to `Settings` and activate the `Show also experimental plugins` checkbox. \n  \n![Experimental](https://github.com/specklesystems/speckle-qgis/assets/89912278/46d638dd-5800-4946-b788-8e0c54ca4c43)\n\n\nThen go to the `All` tab and search for `Speckle`. You should see the plugin appear in the list. You might need to restart QGIS. \n\n![image](https://user-images.githubusercontent.com/7717434/129228049-266a1e86-9b1b-48f4-b421-5e1757dd89ad.png)\n\n\n## Speckle Desktop Manager install\n\nInstall Speckle Desktop Manager from [here](https://speckle.systems/download/). Click on QGIS plugin to install it: \n  \n![from_manager1](https://github.com/specklesystems/speckle-qgis/assets/89912278/783da098-2754-4b9d-ad0e-0bd2abe14f06)\n\n\n### Launching the Plugin\n\nSpeckleQGIS will appear in the Plugins Toolbar. Click the blue brick in the toolbar to open the plugin.\n  \n![plugins_toolbar](https://github.com/specklesystems/speckle-qgis/assets/89912278/6ee68709-0666-4a98-96d8-b7195f431334)\n\n## Developing\n\n### Setup\n\nSetup is a bit cumbersome for now. The following is adapted from [this tutorial](https://www.qgistutorials.com/en/docs/3/building_a_python_plugin.html#get-the-tools)\n\n#### Qt Creator\n\nTo edit the UI of the plugin, you'll want to install Qt creator. You can find the free installers on [this page](https://www.qt.io/offline-installers) in the \"Qt Creator\" tab. On Windows, you'll be prompted to create an account during the installation process.\n\n![qt creator install](https://user-images.githubusercontent.com/7717434/129229210-1899ae09-ec4f-4b52-bf18-99ca75e66292.png)\n\n#### Python Qt Bindings\n\nFor Windows, the bindings are already included in the QGIS installation.\n\nFor Mac, you can install `PyQt` using [homebrew](https://brew.sh/).\n\n```sh\nbrew install pyqt\n```\n\n#### Install `pb_tool`\n\n`pb_tool` allows you to compile resource files from into something python will understand.\n\nFor this plugin we only have one file to convert:\n\n- `resources.qrc` -\u003e `resources.py`\n\nTo install `pb_tool`, just run:\n\n```sh\npip install pb_tool\n\nor\n\nYOUR_PYTHON_EXECUTABLE -m pip install pb_tool\n```\n\n\u003e For convenience, the pre-compiled `resources.py` file so you don't really have to do anything here.\n\n#### Dev Environment\n\nFor a better development experience in your editor, we recommend creating a virtual environment. In the venv, you'll just need to install `specklepy`. You will also need to copy over the `qgis` module into the `{venv}/Lib/site-packages`. You can find the `qgis` module in your QGIS install directory:\n\n- Windows: `C:\\Program Files\\QGIS 3.28.15\\apps\\qgis\\python`\n- MacOS: `/Applications/QGIS.app/Contents/Resources/python`\n\n![qgis dependency for venv](https://user-images.githubusercontent.com/7717434/129324330-1744cc1e-8657-4ef1-90eb-d1ffb2b0229e.png)\n\n### QGIS Plugins\n\nThough it is not required, we recommend installing these plugins from the QGIS Plugin Manager:\n\n- Plugin Reloader (allows you to reload the plugin without restarting QGIS)\n- Remote Debugger (enables interactive debugging)\n- First Aid (shows errors before crashing QGIS, sometimes)\n\n### Debugging\n\n#### Visual Studio Code\n\nFirst, you'll need to change the _debug value to True in `plugin_utils/installer.py` file.\n\n```python\n    _debug = True\n```\n\nThis will automatically setup `debugpy` if it's not already installed, and start listening to port `5678`.\n\nSelect the \"Python\" -\u003e \"Remote Attach\" option. Your `launch.json` should look like this:\n\n```json\n{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Python: Remote Attach\",\n      \"type\": \"python\",\n      \"request\": \"attach\",\n      \"port\": 5678,\n      \"host\": \"localhost\",\n      \"pathMappings\": [\n        {\n          \"localRoot\": \"${workspaceFolder}\",\n          \"remoteRoot\": \"${workspaceFolder}\"\n        }\n      ]\n    }\n  ]\n}\n```\n\nTo start debugging, you'll need to first launch QGIS. Once it's running, run your debug `Python: Remote Attach` configuration.\n\nThat's all there is to it! Now any breakpoints you create should be hit.\n\n![successful debugging in vs code](https://user-images.githubusercontent.com/7717434/129324011-42ebd156-ba6b-4eca-8b67-22300eb462fc.png)\n\n\nEnjoy!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecklesystems%2Fspeckle-qgis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspecklesystems%2Fspeckle-qgis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecklesystems%2Fspeckle-qgis/lists"}