Skip to main content

GIS analysis and interactive mapping widgets for Orange

Project description

Orange GIS

Orange GIS is an Orange add-on for loading, transforming, analysing, and visualising geospatial data. The distribution name is orange-gis; its Python package is orangecontrib.orange_gis because Python module names cannot contain hyphens.

Installation

Build or download orange_gis-0.3.0-py3-none-any.whl, then install it through Orange's Options → Add-ons interface. The package declares its Python dependencies, so a separate Conda or Miniconda setup step is not part of the installation procedure.

For development, run pip with the Python interpreter that belongs to the target Orange installation:

<orange-python> -m pip install -e ".[dev]"

Orange GIS 0.3 requires Python 3.11 or newer and Orange 3.39 or newer. The current release target is Orange 3.40.

Map architecture

Interactive maps remain embedded in the Orange widget with QWebEngineView. That browser component is still necessary to render Leaflet/Folium HTML inside Orange; the browser-to-Python Qt WebChannel bridge is not.

One in-process HTTP service is shared by all open map widgets:

  1. The first map widget starts a server bound to 127.0.0.1 on a random port.
  2. Every widget receives a private session ID and random token.
  3. QWebEngineView loads the map over HTTP instead of receiving it through setHtml().
  4. Interactive marker events return as token-protected JSON POST requests.
  5. Closing the last map widget schedules automatic server shutdown.
  6. Orange shutdown immediately closes the server.

There is no server subprocess, console window, iframe wrapper, temporary HTML file, or Qt WebChannel object. Loading the document as an HTTP response also removes the data-URL size path that affected large generated maps.

Package layout

  • orangecontrib.orange_gis.geo: shared GeoDataFrame validation and CRS helpers
  • orangecontrib.orange_gis.web: loopback server, map sessions, and web panel
  • orangecontrib.orange_gis.widgets: 30 Orange widgets and packaged resources
  • tests: server lifecycle, metadata, source-integrity, and Orange Table tests

All Qt imports go through AnyQt. GIS operations use explicit GeoDataFrame, NetworkX graph, or Orange Table signal types, and result-producing text widgets retain the source table before appending their result columns.

OpenAI toponym extraction

The extraction widget uses the OpenAI Responses API and strict JSON-schema output. Its default model is gpt-5.6-sol, while the model field remains editable. API keys are kept only in the widget's in-memory password field or read from OPENAI_API_KEY; they are not stored in Orange settings.

Build and validation

<orange-python> -m pip wheel --no-deps --no-build-isolation --wheel-dir dist .
<orange-python> -m pytest

The source tree intentionally excludes generated maps, caches, build directories, and unused prototype assets.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orange_gis-0.3.0.tar.gz (285.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orange_gis-0.3.0-py3-none-any.whl (312.6 kB view details)

Uploaded Python 3

File details

Details for the file orange_gis-0.3.0.tar.gz.

File metadata

  • Download URL: orange_gis-0.3.0.tar.gz
  • Upload date:
  • Size: 285.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for orange_gis-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1ca11c0cc07d3e3be80e149dd97cb56fcda695e63adc3084c90cebdb49134d7a
MD5 04ccaca957dcc93d879c06c164cd7ada
BLAKE2b-256 f99e357dbe9b313f3a95c97406c02b7d4053d4d16c247d77eb7f665da951cc3e

See more details on using hashes here.

File details

Details for the file orange_gis-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: orange_gis-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 312.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for orange_gis-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0afd654861ece64f1dc5b69dff67889d011da8e495a98f8825c45505a9e6002a
MD5 c6eb841a0b4053aa4a461c52a892f593
BLAKE2b-256 7d2b94020b2fef9a90a1badc8569343d2927f7bdba48887156def59021c4fa0d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page