Öffentliches Register
Software-GesundheitsberichtSchema 0.12.0 · Metriken 1.13.0 · 2026-07-17 21:50 UTC

giswqs / geospatial

A Python package for installing commonly used packages for geospatial analysis and data visualization with only one command.

Dockerfile · PythonMIT★ 426 Sterne⑂ 44 Forksseit Mai 2020Auf GitHub ansehen ↗

giswqs/geospatial erreicht einen Gesundheitsindex von 68 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Engineering Quality (100/100) ab, am schwächsten bei AI Readiness (36/100). Zuletzt heute aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

68
gesamt / 100
Mittel

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

68
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Eigentümerschaft

3.826 Follower166 öffentliche Reposseit Apr. 2023

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
PyPIgeospatialverweist auf ein anderes Repo — nicht bewertet0.12.02.21337vor 10 Tagengeospatial

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

69Mittel · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 0 Tagen
4.2/36Commit-Rhythmus — 6/52 Wochen mit Commits
12.2/18Commit-Volumen — 22 Commits im letzten Jahr
1/10OpenSSF Scorecard: Maintained — 2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
Verwendete Eingangsdaten
commits_last_year22
human_commit_share
days_since_last_push0
active_weeks_last_year6
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 36 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 10 Tagen
19.8/27Release-Rhythmus — ein Release etwa alle 77,1 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count36
latest_release_tagv0.12.0
releases_from_tagsnein
days_since_latest_release10
mean_days_between_releases77,1
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

66Mittel · 18 % des Gesamtindex
Wie die Bewertung erfolgt
42.6/60Stars — 426 Stars
13.6/25Forks — 44 Forks
6.2/15Watcher — 14 Watcher
Verwendete Eingangsdaten
forks44
stars426
watchers14
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
18/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

58Mittel · 24 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
5.5/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 76 % der Commits
6.8/13.5Breite der Beitragenden — 5 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 5 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor1
contributors_sampled5
top_contributor_share0,755
Wie die Bewertung erfolgt
46.8/46.8Issue-Lösungsquote — 100 % der Issues geschlossen
26.1/38.3PR-Annahme — 86/126 entschiedene PRs gemergt
1.5/15OpenSSF Scorecard: Code-Review — Found 1/10 approved changesets -- score normalized to 1
Verwendete Eingangsdaten
merged_prs86
open_issues0
closed_issues20
issue_closed_ratio1
closed_unmerged_prs40
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
25/25Reichweite des Inhabers — 3.826 Follower von opengeos
19.6/25Kontohistorie — 166 öffentliche Repos, Kontoalter ca. 3 Jahre
Verwendete Eingangsdaten
followers3.826
owner_typeOrganization
is_verified
owner_loginopengeos
public_repos166
account_age_days1.200

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

100Exzellent · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 8 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration
9.6/9.6Pre-Commit-Hooks
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 25 out of 25 merged PRs checked by a CI test -- score normalized to 10
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfigja
has_linter_configja
has_precommit_configja

Dokumentation

100Exzellent
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://geospatial.gishub.org
10/10Repository-Beschreibung
10/10Topics — 11 Topics
10/10Wiki
Verwendete Eingangsdaten
topicspython, geospatial, gis, remote-sensing, image-processing, jupyter, xarray, geemap, leafmap, geopandas, rasterio
has_wikija
homepagehttps://geospatial.gishub.org
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

46Gefährdet · 16 % des Gesamtindex

Sicherheitslage

46Gefährdet
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 25 out of 25 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0.8/7.5Code-Review — Found 1/10 approved changesets -- score normalized to 1
2.5/2.5Contributors — project has 5 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
0.8/7.5Maintained — 2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
6/7.5Vulnerabilities — 2 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate4,6
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): signed_releases. Die verbleibenden Gewichte wurden renormalisiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

36Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
0/40Lesbare Commit-Historie — keine Daten
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share
agent_instruction_files
agent_instruction_max_bytes
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Lesbare Commit-Historie. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration
0/11Statische Typprüfung
10/10Reproduzierbare Umgebung — Dockerfile, lockfile
0/10Belegte Agentenpraxis — keine Daten
5/8Automatisierte Wartung — Abhängigkeits-Automatisierung konfiguriert, in den erfassten Commits nicht beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilesuv.lock
has_dockerfileja
typed_languagenein
bootstrap_files
has_devcontainernein
has_linter_configja
typecheck_configs
agent_commit_share
toolchain_manifests
dependency_bot_commit_share0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Belegte Agentenpraxis. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — Dockerfile ohne Typprüfungs-Konfiguration
55/55Handhabbare Dateigrößen — 0/4 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageDockerfile
largest_source_bytes401
source_files_sampled4
oversized_source_files0
Wie die Bewertung erfolgt
0/40API-Schema (OpenAPI/GraphQL/proto)
0/20MCP-Server
40/40Lauffähige Beispiele — examples, notebooks
Verwendete Eingangsdaten
example_dirsexamples, notebooks
has_mcp_signalnein
api_schema_files

Eckdaten

426GitHub-Sterne
5Mitwirkende
22Commits, letzte 12 Monate
0Tage seit letztem Push
36Releases
1Bus-Faktor
0offene Issues
PyPIPaket-Ökosysteme

Warnungen zur Datenerhebung

  • pypi package 'geospatial' points at a different repository (https://github.com/opengeos/geospatial); excluded from ecosystem scoring

Weitere Details

OpenSSF Scorecard 4.6 / 10
4.6Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-07-17 21:49 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests25 out of 25 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
1Code-ReviewFound 1/10 approved changesets -- score normalized to 1
10Contributorsproject has 5 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
1Maintained2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
8Vulnerabilities2 existing vulnerabilities detected
Alle Abhängigkeiten 649

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 0 direkte und 649 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

RegistryPaketVersionBeziehung
PyPIaccelerate1.14.0indirekt
PyPIaccess1.1.10.post3indirekt
PyPIaenum3.1.17indirekt
PyPIaffine2.4.0indirekt
PyPIaiobotocore3.7.0indirekt
PyPIaiohappyeyeballs2.7.1indirekt
PyPIaiohttp3.14.1indirekt
PyPIaioitertools0.13.0indirekt
PyPIaiosignal1.4.0indirekt
PyPIannotated-doc0.0.4indirekt
PyPIannotated-types0.7.0indirekt
PyPIanyio4.14.1indirekt
PyPIanymap0.12.0indirekt
PyPIanywidget0.11.0indirekt
PyPIapache-sedonaindirekt
PyPIapache-sedona1.9.0indirekt
PyPIappdirs1.4.4indirekt
PyPIappnope0.1.4indirekt
PyPIapsw3.53.3.0indirekt
PyPIapswutils0.1.2indirekt
PyPIargon2-cffi25.1.0indirekt
PyPIargon2-cffi-bindings25.1.0indirekt
PyPIarrow1.4.0indirekt
PyPIasciitree0.3.3indirekt
PyPIasttokens3.0.1indirekt
PyPIattrs26.1.0indirekt
PyPIbabel2.18.0indirekt
PyPIbackoff2.2.1indirekt
PyPIbash-kernel0.10.0indirekt
PyPIbeartype0.22.9indirekt
PyPIbeautifulsoup44.15.0indirekt
PyPIblackindirekt
PyPIbleach6.4.0indirekt
PyPIblis1.3.3indirekt
PyPIbokehindirekt
PyPIbokeh3.9.1indirekt
PyPIboto31.43.0indirekt
PyPIbotocore1.43.0indirekt
PyPIbounded-pool-executor0.0.3indirekt
PyPIbqplot0.13.1indirekt
PyPIbqscales0.3.7indirekt
PyPIbranca0.8.2indirekt
PyPIbs40.0.2indirekt
PyPIbump2versionindirekt
PyPIcachetools7.1.4indirekt
PyPIcatalogue2.0.10indirekt
PyPIcenpyindirekt
PyPIcenpy1.0.1indirekt
PyPIcertifi2026.6.17indirekt
PyPIcffi2.1.0indirekt
PyPIcftime1.6.5indirekt
PyPIcharset-normalizer3.4.8indirekt
PyPIchroma-py0.1.0.dev1indirekt
PyPIclick8.4.2indirekt
PyPIclick-plugins1.1.1.2indirekt
PyPIcligj0.7.2indirekt
PyPIcloudpathlib0.24.0indirekt
PyPIcloudpickle3.1.2indirekt
PyPIcodespellindirekt
PyPIcolor-operations0.2.0indirekt
PyPIcolorama0.4.6indirekt
PyPIcolorcet3.2.1indirekt
PyPIcolorlog6.10.1indirekt
PyPIcolour0.1.5indirekt
PyPIcomm0.2.3indirekt
PyPIconfection1.3.3indirekt
PyPIconfigobj5.0.9indirekt
PyPIcontextilyindirekt
PyPIcontextily1.7.0indirekt
PyPIcontourpy1.3.3indirekt
PyPIcoverageindirekt
PyPIcryptography49.0.0indirekt
PyPIcuboindirekt
PyPIcubo2026.2.0indirekt
PyPIcuda-bindings12.9.4indirekt
PyPIcuda-pathfinder1.5.6indirekt
PyPIcycler0.12.1indirekt
PyPIcymem2.0.13indirekt
PyPIdask2026.7.0indirekt
PyPIdask-eeindirekt
PyPIdask-ee0.0.4indirekt
PyPIdask-geopandasindirekt
PyPIdask-geopandas0.5.0indirekt
PyPIdataclasses-json0.6.7indirekt
PyPIdatashaderindirekt
PyPIdatashader0.19.1indirekt
PyPIdebugpy1.8.21indirekt
PyPIdecorator5.3.1indirekt
PyPIdefusedxml0.7.1indirekt
PyPIdeprecated1.3.1indirekt
PyPIdeprecation2.1.0indirekt
PyPIdict2xml1.7.8indirekt
PyPIdill0.4.1indirekt
PyPIdistributed2026.7.0indirekt
PyPIdistro1.9.0indirekt
PyPIdonfig0.8.1.post1indirekt
PyPIduckdbindirekt
PyPIduckdb1.5.4indirekt
PyPIduckdb-engine0.17.0indirekt
PyPIearthaccessindirekt
PyPIearthaccess0.17.0indirekt
PyPIearthaccess0.18.0indirekt
PyPIearthengine-apiindirekt
PyPIearthengine-api1.7.34indirekt
PyPIearthpyindirekt
PyPIearthpy0.9.4indirekt
PyPIeasystacindirekt
PyPIeasystac0.0.1indirekt
PyPIeditorconfig0.17.1indirekt
PyPIee-extra2025.7.2indirekt
PyPIeemontindirekt
PyPIeemont2025.7.1indirekt
PyPIeerepr0.1.2indirekt
PyPIeoreaderindirekt
PyPIeoreader0.24.1indirekt
PyPIephem4.2.1indirekt
PyPIesda2.8.2indirekt
PyPIet-xmlfile2.0.0indirekt
PyPIeval-type-backport0.4.0indirekt
PyPIexecuting2.2.1indirekt
PyPIfastai2.8.7indirekt
PyPIfastapi0.139.0indirekt
PyPIfastcore1.14.2indirekt
PyPIfastdownload0.0.7indirekt
PyPIfasteners0.20indirekt
PyPIfastjsonschema2.21.2indirekt
PyPIfastlite0.2.4indirekt
PyPIfastprogress1.1.6indirekt
PyPIfasttransform0.0.2indirekt
PyPIffmpeg-python0.2.0indirekt
PyPIfilelock3.29.6indirekt
PyPIfiletype1.2.0indirekt
PyPIfionaindirekt
PyPIfiona1.10.1indirekt
PyPIflake8indirekt
PyPIfoliumindirekt
PyPIfolium0.20.0indirekt
PyPIfonttools4.63.0indirekt
PyPIfqdn1.5.1indirekt
PyPIfrozenlist1.8.0indirekt
PyPIfsspec2026.6.0indirekt
PyPIfuture1.0.0indirekt
PyPIfuzzywuzzy0.18.0indirekt
PyPIgdown6.1.0indirekt
PyPIgeeadd2.1.0indirekt
PyPIgeemapindirekt
PyPIgeemap0.37.2indirekt
PyPIgeemap0.38.3indirekt
PyPIgeoalchemy2indirekt
PyPIgeoalchemy20.20.0indirekt
PyPIgeocoder1.38.1indirekt
PyPIgeocubeindirekt
PyPIgeocube0.7.1indirekt
PyPIgeographiclib2.1indirekt
PyPIgeojson3.3.0indirekt
PyPIgeolibreindirekt
PyPIgeolibre1.10.0indirekt
PyPIgeolibre-wasmindirekt
PyPIgeolibre-wasm0.5.3indirekt
PyPIgeomet1.1.0indirekt
PyPIgeopandasindirekt
PyPIgeopandas1.1.4indirekt
PyPIgeopy2.4.1indirekt
PyPIgeospatial0.11.6indirekt
PyPIgeotiffindirekt
PyPIgeotiff0.2.10indirekt
PyPIgeoutils0.2.5indirekt
PyPIgiddy2.3.8indirekt
PyPIgitdb4.0.12indirekt
PyPIgitpython3.1.50indirekt
PyPIgoogle-api-core2.31.0indirekt
PyPIgoogle-api-python-client2.198.0indirekt
PyPIgoogle-auth2.55.1indirekt
PyPIgoogle-auth-httplib20.4.0indirekt
PyPIgoogle-cloud-core2.6.0indirekt
PyPIgoogle-cloud-storage3.12.0indirekt
PyPIgoogle-crc32c1.8.0indirekt
PyPIgoogle-resumable-media2.10.0indirekt
PyPIgoogleapis-common-protos1.75.0indirekt
PyPIgreenlet3.5.3indirekt
PyPIgripindirekt
PyPIgwlearn0.1.1indirekt
PyPIgwlearn0.2.0indirekt
PyPIh110.16.0indirekt
PyPIh3indirekt
PyPIh34.5.0indirekt
PyPIh5netcdf1.8.1indirekt
PyPIh5py3.16.0indirekt
PyPIhf-xet1.5.1indirekt
PyPIholoviews1.23.1indirekt
PyPIhtml2text2025.4.15indirekt
PyPIhttpcore1.0.9indirekt
PyPIhttpcore22.5.0indirekt
PyPIhttplib20.32.0indirekt
PyPIhttptools0.8.0indirekt
PyPIhttpx0.28.1indirekt
PyPIhttpx22.5.0indirekt
PyPIhuggingface-hub1.22.0indirekt
PyPIhumanize4.16.0indirekt
PyPIhvplotindirekt
PyPIhvplot0.12.2indirekt
PyPIhypercoastindirekt
PyPIhypercoast0.27.0indirekt
PyPIicecream2.2.0indirekt
PyPIidna3.18indirekt
PyPIimagecodecs2026.1.14indirekt
PyPIimagecodecs2026.6.26indirekt
PyPIimageio2.37.3indirekt
PyPIimportlib-metadata9.0.0indirekt
PyPIimportlib-resources7.1.0indirekt
PyPIinequality1.1.2indirekt
PyPIipyevents2.0.4indirekt
PyPIipyfilechooser0.6.0indirekt
PyPIipyganyindirekt
PyPIipygany0.5.0indirekt
PyPIipykernelindirekt
PyPIipykernel7.3.0indirekt
PyPIipyleafletindirekt
PyPIipyleaflet0.20.0indirekt
PyPIipython9.15.0indirekt
PyPIipython-genutils0.2.0indirekt
PyPIipython-pygments-lexers1.1.1indirekt
PyPIipytree0.2.2indirekt
PyPIipyvue1.12.0indirekt
PyPIipyvuetify1.11.3indirekt
PyPIipywidgets8.1.8indirekt
PyPIisoduration20.11.0indirekt
PyPIitsdangerous2.2.0indirekt
PyPIjbpy0.6.1indirekt
PyPIjedi0.20.0indirekt
PyPIjinja23.1.6indirekt
PyPIjmespath1.1.0indirekt
PyPIjoblib1.5.3indirekt
PyPIjsbeautifier2.0.3indirekt
PyPIjson50.15.0indirekt
PyPIjsonpointer3.1.1indirekt
PyPIjsonschema4.26.0indirekt
PyPIjsonschema-specifications2025.9.1indirekt
PyPIjupysql0.11.1indirekt
PyPIjupysql-plugin0.4.5indirekt
PyPIjupyter-client8.9.1indirekt
PyPIjupyter-core5.9.1indirekt
PyPIjupyter-events0.12.1indirekt
PyPIjupyter-leaflet0.20.0indirekt
PyPIjupyter-loopback0.3.3indirekt
PyPIjupyter-server2.20.0indirekt
PyPIjupyter-server-proxy4.5.0indirekt
PyPIjupyter-server-terminals0.5.4indirekt
PyPIjupyter-ui-poll1.1.0indirekt
PyPIjupyterlab-pygments0.3.0indirekt
PyPIjupyterlab-server2.28.0indirekt
PyPIjupyterlab-widgets3.0.16indirekt
PyPIkiwisolver1.5.0indirekt
PyPIlark1.3.1indirekt
PyPIlaspyindirekt
PyPIlaspy2.7.0indirekt
PyPIlazy-loader0.5indirekt
PyPIleafmapindirekt
PyPIleafmap0.63.0indirekt
PyPIlibpysal4.14.1indirekt
PyPIlibpysal4.15.0indirekt
PyPIlidar0.8.4indirekt
PyPIlightgbm4.6.0indirekt
PyPIlinkify-it-py2.1.0indirekt
PyPIlivereloadindirekt
PyPIllvmlite0.48.0indirekt
PyPIlocaltileserverindirekt
PyPIlocaltileserver1.0.0indirekt
PyPIlocket1.0.0indirekt
PyPIlxml6.1.1indirekt
PyPIlz44.4.5indirekt
PyPImapboxglindirekt
PyPImapboxgl0.10.2indirekt
PyPImapclassifyindirekt
PyPImapclassify2.10.0indirekt
PyPImaplibreindirekt
PyPImaplibre0.3.6indirekt
PyPImapwidgetindirekt
PyPImapwidget0.2.0indirekt
PyPImarkdown3.10.2indirekt
PyPImarkdown-it-py4.2.0indirekt
PyPImarkupsafe3.0.3indirekt
PyPImarshmallow3.26.2indirekt
PyPImatplotlib3.11.0indirekt
PyPImatplotlib-inline0.2.2indirekt
PyPImdit-py-plugins0.6.1indirekt
PyPImdurl0.1.2indirekt
PyPImercantile1.2.1indirekt
PyPImethodtools0.4.7indirekt
PyPImgwr2.2.1indirekt
PyPImistune3.3.2indirekt
PyPImkdocsindirekt
PyPImkdocs-git-revision-date-pluginindirekt
PyPImkdocs-jupyterindirekt
PyPImkdocs-materialindirekt
PyPImkdocs-pdf-export-pluginindirekt
PyPImkdocstringsindirekt
PyPImkdocstrings-crystalindirekt
PyPImkdocstrings-pythonindirekt
PyPImomepy0.11.0indirekt
PyPImomepy1.0.0indirekt
PyPImorecantile7.0.3indirekt
PyPImovingpandasindirekt
PyPImovingpandas0.22.4indirekt
PyPImpmath1.3.0indirekt
PyPImsgpack1.2.1indirekt
PyPImssindirekt
PyPImss10.2.0indirekt
PyPImultidict6.7.1indirekt
PyPImultimethod2.0.2indirekt
PyPImultipledispatch1.0.0indirekt
PyPImurmurhash1.0.15indirekt
PyPImypy-extensions1.1.0indirekt
PyPInarwhals2.23.0indirekt
PyPInbclient0.11.0indirekt
PyPInbconvertindirekt
PyPInbconvert7.17.1indirekt
PyPInbformat5.10.4indirekt
PyPInest-asyncio21.7.2indirekt
PyPInetcdf4indirekt
PyPInetcdf41.7.4indirekt
PyPInetworkxindirekt
PyPInetworkx3.6.1indirekt
PyPInh30.3.6indirekt
PyPInumbaindirekt
PyPInumba0.66.0indirekt
PyPInumcodecs0.16.5indirekt
PyPInumexpr2.14.1indirekt
PyPInumpy2.4.6indirekt
PyPInvidia-cublas-cu1212.8.4.1indirekt
PyPInvidia-cuda-cupti-cu1212.8.90indirekt
PyPInvidia-cuda-nvrtc-cu1212.8.93indirekt
PyPInvidia-cuda-runtime-cu1212.8.90indirekt
PyPInvidia-cudnn-cu129.10.2.21indirekt
PyPInvidia-cufft-cu1211.3.3.83indirekt
PyPInvidia-cufile-cu121.13.1.3indirekt
PyPInvidia-curand-cu1210.3.9.90indirekt
PyPInvidia-cusolver-cu1211.7.3.90indirekt
PyPInvidia-cusparse-cu1212.5.8.93indirekt
PyPInvidia-cusparselt-cu120.7.1indirekt
PyPInvidia-nccl-cu122.27.5indirekt
PyPInvidia-nvjitlink-cu1212.8.93indirekt
PyPInvidia-nvshmem-cu123.4.5indirekt
PyPInvidia-nvtx-cu1212.8.90indirekt
PyPIoauthlib3.3.1indirekt
PyPIodc-geo0.5.2indirekt
PyPIodc-loader0.6.4indirekt
PyPIodc-stacindirekt
PyPIodc-stac0.5.2indirekt
PyPIopencv-python-headless5.0.0.93indirekt
PyPIopenpyxl3.1.5indirekt
PyPIorjson3.11.9indirekt
PyPIosmnxindirekt
PyPIosmnx2.1.0indirekt
PyPIoverrides7.7.0indirekt
PyPIoverturemapsindirekt
PyPIoverturemaps1.0.1indirekt
PyPIowslibindirekt
PyPIowslib0.35.0indirekt
PyPIowslib0.36.0indirekt
PyPIpackaging26.2indirekt
PyPIpalettableindirekt
PyPIpalettable3.3.3indirekt
PyPIpandas2.3.3indirekt
PyPIpandocfilters1.5.1indirekt
PyPIpanelindirekt
PyPIpanel1.9.3indirekt
PyPIpanel-material-ui0.13.0indirekt
PyPIparam2.4.1indirekt
PyPIparso0.8.7indirekt
PyPIpartd1.4.2indirekt
PyPIpathlib-abc0.5.2indirekt
PyPIpatsy1.0.2indirekt
PyPIpexpect4.9.0indirekt
PyPIpillow12.3.0indirekt
PyPIpipindirekt
PyPIplanetary-computerindirekt
PyPIplanetary-computer1.0.0indirekt
PyPIplatformdirs4.10.0indirekt
PyPIploomber-core0.2.27indirekt
PyPIplotlyindirekt
PyPIplotly6.8.0indirekt
PyPIplum-dispatch2.9.0indirekt
PyPIpmtiles3.7.0indirekt
PyPIpointpats2.5.5indirekt
PyPIpointpats2.6.0indirekt
PyPIpooch1.9.0indirekt
PyPIposthog7.22.0indirekt
PyPIpqdm0.2.0indirekt
PyPIpreshed3.0.13indirekt
PyPIprettytable3.18.0indirekt
PyPIprometheus-client0.25.0indirekt
PyPIprompt-toolkit3.0.52indirekt
PyPIpropcache0.5.2indirekt
PyPIproto-plus1.28.0indirekt
PyPIprotobuf7.35.1indirekt
PyPIpsutil7.2.2indirekt
PyPIpsygnal0.15.1indirekt
PyPIptyprocess0.7.0indirekt
PyPIpulp3.3.2indirekt
PyPIpure-eval0.2.3indirekt
PyPIpyarrow24.0.0indirekt
PyPIpyasn10.6.3indirekt
PyPIpyasn1-modules0.4.2indirekt
PyPIpycparser3.0indirekt
PyPIpyct0.6.0indirekt
PyPIpydantic2.13.4indirekt
PyPIpydantic-core2.46.4indirekt
PyPIpyfiglet1.0.4indirekt
PyPIpygisindirekt
PyPIpygis0.10.2indirekt
PyPIpygments2.20.0indirekt
PyPIpykdtree1.4.3indirekt
PyPIpymdown-extensions11.0.1indirekt
PyPIpyntcloudindirekt
PyPIpyntcloud0.3.1indirekt
PyPIpyogrioindirekt
PyPIpyogrio0.13.0indirekt
PyPIpyorbital1.12.1indirekt
PyPIpyparsing3.3.2indirekt
PyPIpyperclip1.11.0indirekt
PyPIpyprojindirekt
PyPIpyproj3.7.2indirekt
PyPIpyresampleindirekt
PyPIpyresample1.35.0indirekt
PyPIpysalindirekt
PyPIpysal26.1indirekt
PyPIpyshpindirekt
PyPIpyshp3.1.4indirekt
PyPIpysocks1.7.1indirekt
PyPIpystac1.15.1indirekt
PyPIpystac-clientindirekt
PyPIpystac-client0.9.0indirekt
PyPIpystac-core1.15.1indirekt
PyPIpystac-ext-classification2.0.0indirekt
PyPIpystac-ext-datacube2.2.0indirekt
PyPIpystac-ext-eo1.1.0indirekt
PyPIpystac-ext-file2.1.0indirekt
PyPIpystac-ext-grid1.1.0indirekt
PyPIpystac-ext-item-assets1.0.0indirekt
PyPIpystac-ext-label1.0.1indirekt
PyPIpystac-ext-mgrs1.0.0indirekt
PyPIpystac-ext-mlm1.4.0indirekt
PyPIpystac-ext-pointcloud1.0.0indirekt
PyPIpystac-ext-projection2.0.0indirekt
PyPIpystac-ext-raster1.1.0indirekt
PyPIpystac-ext-render2.0.0indirekt
PyPIpystac-ext-sar1.0.0indirekt
PyPIpystac-ext-sat1.0.0indirekt
PyPIpystac-ext-scientific1.0.0indirekt
PyPIpystac-ext-storage2.0.0indirekt
PyPIpystac-ext-table1.2.0indirekt
PyPIpystac-ext-timestamps1.1.0indirekt
PyPIpystac-ext-version1.2.0indirekt
PyPIpystac-ext-view1.0.0indirekt
PyPIpystac-ext-xarray-assets1.0.0indirekt
PyPIpython-box7.4.1indirekt
PyPIpython-cmr0.13.0indirekt
PyPIpython-dateutil2.9.0.post0indirekt
PyPIpython-dotenv1.2.2indirekt
PyPIpython-fasthtml0.14.4indirekt
PyPIpython-json-logger4.1.0indirekt
PyPIpython-multipart0.0.32indirekt
PyPIpytz2026.2indirekt
PyPIpyviz-comms3.0.6indirekt
PyPIpywinpty3.0.5indirekt
PyPIpyyaml6.0.3indirekt
PyPIpyzmq27.1.0indirekt
PyPIquantecon0.11.2indirekt
PyPIradiant-mlhub0.4.1indirekt
PyPIrasterioindirekt
PyPIrasterio1.4.4indirekt
PyPIrasterio1.5.0indirekt
PyPIrasterstatsindirekt
PyPIrasterstats0.21.0indirekt
PyPIratelim0.1.6indirekt
PyPIreacton1.10.1indirekt
PyPIreferencing0.37.0indirekt
PyPIrequests2.34.2indirekt
PyPIrequests-futures1.0.2indirekt
PyPIrequests-oauthlib2.0.0indirekt
PyPIrfc3339-validator0.1.4indirekt
PyPIrfc3986-validator0.1.1indirekt
PyPIrfc3987-syntax1.1.0indirekt
PyPIrich15.0.0indirekt
PyPIrich-click1.9.8indirekt
PyPIrio-cogeoindirekt
PyPIrio-cogeo7.0.2indirekt
PyPIrio-tiler9.4.0indirekt
PyPIrioxarrayindirekt
PyPIrioxarray0.19.0indirekt
PyPIrioxarray0.22.0indirekt
PyPIrpds-py2026.6.3indirekt
PyPIrtree1.4.1indirekt
PyPIs2cloudlessindirekt
PyPIs2cloudless1.7.3indirekt
PyPIs3fs2026.6.0indirekt
PyPIs3transfer0.17.1indirekt
PyPIsafetensors0.8.0indirekt
PyPIsarkit1.10.0indirekt
PyPIsarkit1.8.1indirekt
PyPIsarpyindirekt
PyPIsarpy2.0.1indirekt
PyPIsatpyindirekt
PyPIsatpy0.60.0indirekt
PyPIscikit-image0.26.0indirekt
PyPIscikit-learn1.9.0indirekt
PyPIscipy1.17.1indirekt
PyPIscipy1.18.0indirekt
PyPIscooby0.11.2indirekt
PyPIseaborn0.13.2indirekt
PyPIsegregation2.5.4indirekt
PyPIsegregation2.5.5indirekt
PyPIsemver3.0.4indirekt
PyPIsend2trash2.1.0indirekt
PyPIsentinelhub3.11.5indirekt
PyPIsentinelsatindirekt
PyPIsentinelsat1.2.1indirekt
PyPIsentry-sdk2.64.0indirekt
PyPIsertit1.54.2indirekt
PyPIserver-thread0.3.0indirekt
PyPIsetuptools83.0.0indirekt
PyPIshapelyindirekt
PyPIshapely2.1.2indirekt
PyPIshellingham1.5.4indirekt
PyPIsimpervisor1.0.0indirekt
PyPIsimplejson4.1.1indirekt
PyPIsimplekmlindirekt
PyPIsimplekml1.3.6indirekt
PyPIsix1.17.0indirekt
PyPIslideruleindirekt
PyPIsliderule5.4.3indirekt
PyPIsmart-open8.0.0indirekt
PyPIsmmap5.0.3indirekt
PyPIsolaraindirekt
PyPIsolara1.60.0indirekt
PyPIsolara-server1.60.0indirekt
PyPIsolara-ui1.60.0indirekt
PyPIsortedcontainers2.4.0indirekt
PyPIsoupsieve2.8.4indirekt
PyPIspacy3.8.14indirekt
PyPIspacy-legacy3.0.12indirekt
PyPIspacy-loggers1.0.5indirekt
PyPIspaghetti1.7.6indirekt
PyPIspglm1.1.0indirekt
PyPIsphinxindirekt
PyPIspint1.0.7indirekt
PyPIspint1.1.0indirekt
PyPIsplot1.1.7indirekt
PyPIspopt0.7.0indirekt
PyPIspreg1.9.0indirekt
PyPIspyndexindirekt
PyPIspyndex0.11.0indirekt
PyPIsqlalchemyindirekt
PyPIsqlalchemy2.0.51indirekt
PyPIsqlglot30.12.0indirekt
PyPIsqlparse0.5.5indirekt
PyPIsrsly2.5.3indirekt
PyPIstack-data0.6.3indirekt
PyPIstackstacindirekt
PyPIstackstac0.5.1indirekt
PyPIstarlette1.3.1indirekt
PyPIstatsmodels0.14.6indirekt
PyPIsympy1.14.0indirekt
PyPItblib3.2.2indirekt
PyPItenacity9.1.4indirekt
PyPItermcolor3.3.0indirekt
PyPIterminado0.18.1indirekt
PyPIthinc8.3.13indirekt
PyPIthreadpoolctl3.6.0indirekt
PyPItifffile2026.3.3indirekt
PyPItifffile2026.6.1indirekt
PyPItinycss21.5.1indirekt
PyPItinynetrc1.3.1indirekt
PyPItobler0.13.0indirekt
PyPItobler0.14.0indirekt
PyPItomli2.4.1indirekt
PyPItomli-w1.2.0indirekt
PyPItoolz1.1.0indirekt
PyPItorch2.10.0indirekt
PyPItorchvision0.25.0indirekt
PyPItornado6.5.7indirekt
PyPItoxindirekt
PyPItqdm4.68.3indirekt
PyPItraitlets5.15.1indirekt
PyPItraittypes0.2.3indirekt
PyPItriton3.6.0indirekt
PyPItrollimage1.28.0indirekt
PyPItrollsift1.0.1indirekt
PyPItruststore0.10.4indirekt
PyPItwineindirekt
PyPItyper0.26.8indirekt
PyPItyping-extensions4.16.0indirekt
PyPItyping-inspect0.9.0indirekt
PyPItyping-inspection0.4.2indirekt
PyPItzdata2026.2indirekt
PyPIuc-micro-py2.0.0indirekt
PyPIuniversal-pathlib0.3.10indirekt
PyPIuri-template1.3.0indirekt
PyPIuritemplate4.2.0indirekt
PyPIurllib32.7.0indirekt
PyPIusgsindirekt
PyPIusgs0.3.7indirekt
PyPIutm0.8.1indirekt
PyPIuvicorn0.50.2indirekt
PyPIuvloop0.22.1indirekt
PyPIvalidators0.35.0indirekt
PyPIvoilaindirekt
PyPIvoila0.5.12indirekt
PyPIvoila-topbar0.1.1indirekt
PyPIwandb0.28.0indirekt
PyPIwasabi1.1.3indirekt
PyPIwasmtime46.0.1indirekt
PyPIwatchdogindirekt
PyPIwatchdog6.0.0indirekt
PyPIwatchfiles1.2.0indirekt
PyPIwcwidth0.8.2indirekt
PyPIweasel1.0.0indirekt
PyPIwebcolors25.10.0indirekt
PyPIwebencodings0.5.1indirekt
PyPIwebsocket-client1.9.0indirekt
PyPIwebsockets16.0indirekt
PyPIwerkzeug3.1.8indirekt
PyPIwheelindirekt
PyPIwhiteboxindirekt
PyPIwhitebox2.3.6indirekt
PyPIwhiteboxguiindirekt
PyPIwhiteboxgui2.3.0indirekt
PyPIwidgetsnbextension4.0.15indirekt
PyPIwirerope1.0.0indirekt
PyPIwrapt2.2.2indirekt
PyPIwxeeindirekt
PyPIwxee0.5.0indirekt
PyPIxarrayindirekt
PyPIxarray2026.4.0indirekt
PyPIxarray-spatialindirekt
PyPIxarray-spatial0.10.15indirekt
PyPIxarray-spatial0.5.3indirekt
PyPIxcube0.0.9indirekt
PyPIxdem0.2.3indirekt
PyPIxeeindirekt
PyPIxee0.1.1indirekt
PyPIxyzservicesindirekt
PyPIxyzservices2026.3.0indirekt
PyPIyarl1.24.2indirekt
PyPIzarr2.12.0indirekt
PyPIzict3.0.0indirekt
PyPIzipp4.1.0indirekt
PyPIzstandard0.25.0indirekt
JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [
        "python",
        "geospatial",
        "gis",
        "remote-sensing",
        "image-processing",
        "jupyter",
        "xarray",
        "geemap",
        "leafmap",
        "geopandas",
        "rasterio"
      ],
      "is_fork": false,
      "size_kb": 3117,
      "has_wiki": true,
      "homepage": "https://geospatial.gishub.org",
      "languages": {
        "Python": 586,
        "Dockerfile": 2415
      },
      "pushed_at": "2026-07-17T19:57:16Z",
      "created_at": "2020-05-07T12:27:34Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-07T04:29:18Z",
      "description": "A Python package for installing commonly used packages for geospatial analysis and data visualization with only one command.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "primary_language": "Dockerfile",
      "significant_languages": [
        "Dockerfile",
        "Python"
      ]
    },
    "owner": {
      "blog": "https://opengeos.org",
      "name": "Open Geospatial Solutions",
      "type": "Organization",
      "login": "opengeos",
      "company": null,
      "location": "United States of America",
      "followers": 3826,
      "avatar_url": "https://avatars.githubusercontent.com/u/129896036?v=4",
      "created_at": "2023-04-04T19:02:44Z",
      "is_verified": null,
      "public_repos": 166,
      "account_age_days": 1200
    },
    "activity": {
      "releases_count": 36,
      "commits_last_year": 22,
      "latest_release_at": "2026-07-07T04:29:30Z",
      "latest_release_tag": "v0.12.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 6,
      "days_since_latest_release": 10,
      "mean_days_between_releases": 77.1
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 62,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "geospatial",
          "exists": true,
          "license": "MIT license",
          "keywords": [
            "geospatial",
            "Development Status :: 2 - Pre-Alpha",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: MIT License",
            "Natural Language :: English",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13"
          ],
          "ecosystem": "pypi",
          "matches_repo": false,
          "registry_url": "https://pypi.org/project/geospatial/",
          "is_deprecated": false,
          "latest_version": "0.12.0",
          "repository_url": "https://github.com/opengeos/geospatial",
          "versions_count": 37,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 2213,
          "first_published_at": "2020-05-07T12:43:12.836781Z",
          "latest_published_at": "2026-07-07T04:29:52.380139Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 10
        }
      ]
    },
    "popularity": {
      "forks": 44,
      "stars": 426,
      "watchers": 14,
      "open_issues_and_prs": 3
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples",
        "notebooks"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "largest_source_bytes": 401,
      "source_files_sampled": 4,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "pyproject.toml",
        "requirements.txt",
        "requirements_dev.txt",
        "requirements_docs.txt"
      ],
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "accelerate",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "access",
            "direct": false,
            "version": "1.1.10.post3",
            "ecosystem": "pypi"
          },
          {
            "name": "aenum",
            "direct": false,
            "version": "3.1.17",
            "ecosystem": "pypi"
          },
          {
            "name": "affine",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiobotocore",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohappyeyeballs",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "aioitertools",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiosignal",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-doc",
            "direct": false,
            "version": "0.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-types",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "anymap",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anywidget",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apache-sedona",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "apache-sedona",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "appdirs",
            "direct": false,
            "version": "1.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "appnope",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "apsw",
            "direct": false,
            "version": "3.53.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "apswutils",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "argon2-cffi",
            "direct": false,
            "version": "25.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "argon2-cffi-bindings",
            "direct": false,
            "version": "25.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "arrow",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "asciitree",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "asttokens",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "babel",
            "direct": false,
            "version": "2.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "backoff",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "bash-kernel",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "beartype",
            "direct": false,
            "version": "0.22.9",
            "ecosystem": "pypi"
          },
          {
            "name": "beautifulsoup4",
            "direct": false,
            "version": "4.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "black",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "bleach",
            "direct": false,
            "version": "6.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "blis",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "bokeh",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "bokeh",
            "direct": false,
            "version": "3.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "boto3",
            "direct": false,
            "version": "1.43.0",
            "ecosystem": "pypi"
          },
          {
            "name": "botocore",
            "direct": false,
            "version": "1.43.0",
            "ecosystem": "pypi"
          },
          {
            "name": "bounded-pool-executor",
            "direct": false,
            "version": "0.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "bqplot",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "pypi"
          },
          {
            "name": "bqscales",
            "direct": false,
            "version": "0.3.7",
            "ecosystem": "pypi"
          },
          {
            "name": "branca",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "bs4",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "bump2version",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "catalogue",
            "direct": false,
            "version": "2.0.10",
            "ecosystem": "pypi"
          },
          {
            "name": "cenpy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "cenpy",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2026.6.17",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cftime",
            "direct": false,
            "version": "1.6.5",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.8",
            "ecosystem": "pypi"
          },
          {
            "name": "chroma-py",
            "direct": false,
            "version": "0.1.0.dev1",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": false,
            "version": "8.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "click-plugins",
            "direct": false,
            "version": "1.1.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cligj",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpathlib",
            "direct": false,
            "version": "0.24.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "codespell",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "color-operations",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "pypi"
          },
          {
            "name": "colorcet",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "colorlog",
            "direct": false,
            "version": "6.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "colour",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "comm",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "confection",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "configobj",
            "direct": false,
            "version": "5.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "contextily",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "contextily",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "contourpy",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "coverage",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "49.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cubo",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "cubo",
            "direct": false,
            "version": "2026.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cuda-bindings",
            "direct": false,
            "version": "12.9.4",
            "ecosystem": "pypi"
          },
          {
            "name": "cuda-pathfinder",
            "direct": false,
            "version": "1.5.6",
            "ecosystem": "pypi"
          },
          {
            "name": "cycler",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cymem",
            "direct": false,
            "version": "2.0.13",
            "ecosystem": "pypi"
          },
          {
            "name": "dask",
            "direct": false,
            "version": "2026.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dask-ee",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "dask-ee",
            "direct": false,
            "version": "0.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "dask-geopandas",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "dask-geopandas",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dataclasses-json",
            "direct": false,
            "version": "0.6.7",
            "ecosystem": "pypi"
          },
          {
            "name": "datashader",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "datashader",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "pypi"
          },
          {
            "name": "debugpy",
            "direct": false,
            "version": "1.8.21",
            "ecosystem": "pypi"
          },
          {
            "name": "decorator",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "defusedxml",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "deprecated",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "deprecation",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dict2xml",
            "direct": false,
            "version": "1.7.8",
            "ecosystem": "pypi"
          },
          {
            "name": "dill",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "distributed",
            "direct": false,
            "version": "2026.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "distro",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "donfig",
            "direct": false,
            "version": "0.8.1.post1",
            "ecosystem": "pypi"
          },
          {
            "name": "duckdb",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "duckdb",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "duckdb-engine",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "earthaccess",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "earthaccess",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "earthaccess",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "earthengine-api",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "earthengine-api",
            "direct": false,
            "version": "1.7.34",
            "ecosystem": "pypi"
          },
          {
            "name": "earthpy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "earthpy",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "pypi"
          },
          {
            "name": "easystac",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "easystac",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "editorconfig",
            "direct": false,
            "version": "0.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "ee-extra",
            "direct": false,
            "version": "2025.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "eemont",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "eemont",
            "direct": false,
            "version": "2025.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "eerepr",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "eoreader",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "eoreader",
            "direct": false,
            "version": "0.24.1",
            "ecosystem": "pypi"
          },
          {
            "name": "ephem",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "esda",
            "direct": false,
            "version": "2.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "et-xmlfile",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "eval-type-backport",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "executing",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "fastai",
            "direct": false,
            "version": "2.8.7",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi",
            "direct": false,
            "version": "0.139.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fastcore",
            "direct": false,
            "version": "1.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "fastdownload",
            "direct": false,
            "version": "0.0.7",
            "ecosystem": "pypi"
          },
          {
            "name": "fasteners",
            "direct": false,
            "version": "0.20",
            "ecosystem": "pypi"
          },
          {
            "name": "fastjsonschema",
            "direct": false,
            "version": "2.21.2",
            "ecosystem": "pypi"
          },
          {
            "name": "fastlite",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "pypi"
          },
          {
            "name": "fastprogress",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "fasttransform",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "ffmpeg-python",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.29.6",
            "ecosystem": "pypi"
          },
          {
            "name": "filetype",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fiona",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "fiona",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "flake8",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "folium",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "folium",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fonttools",
            "direct": false,
            "version": "4.63.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fqdn",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "frozenlist",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": false,
            "version": "2026.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "future",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fuzzywuzzy",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gdown",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "geeadd",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "geemap",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "geemap",
            "direct": false,
            "version": "0.37.2",
            "ecosystem": "pypi"
          },
          {
            "name": "geemap",
            "direct": false,
            "version": "0.38.3",
            "ecosystem": "pypi"
          },
          {
            "name": "geoalchemy2",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "geoalchemy2",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "geocoder",
            "direct": false,
            "version": "1.38.1",
            "ecosystem": "pypi"
          },
          {
            "name": "geocube",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "geocube",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "geographiclib",
            "direct": false,
            "version": "2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "geojson",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "geolibre",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "geolibre",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "geolibre-wasm",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "geolibre-wasm",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "geomet",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "geopandas",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "geopandas",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "geopy",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "geospatial",
            "direct": false,
            "version": "0.11.6",
            "ecosystem": "pypi"
          },
          {
            "name": "geotiff",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "geotiff",
            "direct": false,
            "version": "0.2.10",
            "ecosystem": "pypi"
          },
          {
            "name": "geoutils",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "pypi"
          },
          {
            "name": "giddy",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "pypi"
          },
          {
            "name": "gitdb",
            "direct": false,
            "version": "4.0.12",
            "ecosystem": "pypi"
          },
          {
            "name": "gitpython",
            "direct": false,
            "version": "3.1.50",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-core",
            "direct": false,
            "version": "2.31.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-python-client",
            "direct": false,
            "version": "2.198.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth",
            "direct": false,
            "version": "2.55.1",
            "ecosystem": "pypi"
          },
          {
            "name": "google-auth-httplib2",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-core",
            "direct": false,
            "version": "2.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-cloud-storage",
            "direct": false,
            "version": "3.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-crc32c",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "google-resumable-media",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "googleapis-common-protos",
            "direct": false,
            "version": "1.75.0",
            "ecosystem": "pypi"
          },
          {
            "name": "greenlet",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "grip",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "gwlearn",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "gwlearn",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h3",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "h3",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h5netcdf",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "h5py",
            "direct": false,
            "version": "3.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hf-xet",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "holoviews",
            "direct": false,
            "version": "1.23.1",
            "ecosystem": "pypi"
          },
          {
            "name": "html2text",
            "direct": false,
            "version": "2025.4.15",
            "ecosystem": "pypi"
          },
          {
            "name": "httpcore",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "httpcore2",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "httplib2",
            "direct": false,
            "version": "0.32.0",
            "ecosystem": "pypi"
          },
          {
            "name": "httptools",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx2",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "huggingface-hub",
            "direct": false,
            "version": "1.22.0",
            "ecosystem": "pypi"
          },
          {
            "name": "humanize",
            "direct": false,
            "version": "4.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hvplot",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "hvplot",
            "direct": false,
            "version": "0.12.2",
            "ecosystem": "pypi"
          },
          {
            "name": "hypercoast",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "hypercoast",
            "direct": false,
            "version": "0.27.0",
            "ecosystem": "pypi"
          },
          {
            "name": "icecream",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.18",
            "ecosystem": "pypi"
          },
          {
            "name": "imagecodecs",
            "direct": false,
            "version": "2026.1.14",
            "ecosystem": "pypi"
          },
          {
            "name": "imagecodecs",
            "direct": false,
            "version": "2026.6.26",
            "ecosystem": "pypi"
          },
          {
            "name": "imageio",
            "direct": false,
            "version": "2.37.3",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-resources",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "inequality",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "ipyevents",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "ipyfilechooser",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipygany",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ipygany",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipykernel",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ipykernel",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipyleaflet",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ipyleaflet",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython",
            "direct": false,
            "version": "9.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython-genutils",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython-pygments-lexers",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "ipytree",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "ipyvue",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipyvuetify",
            "direct": false,
            "version": "1.11.3",
            "ecosystem": "pypi"
          },
          {
            "name": "ipywidgets",
            "direct": false,
            "version": "8.1.8",
            "ecosystem": "pypi"
          },
          {
            "name": "isoduration",
            "direct": false,
            "version": "20.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "itsdangerous",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jbpy",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jedi",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "jmespath",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": false,
            "version": "1.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "jsbeautifier",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpointer",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": "4.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2025.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jupysql",
            "direct": false,
            "version": "0.11.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jupysql-plugin",
            "direct": false,
            "version": "0.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-client",
            "direct": false,
            "version": "8.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-core",
            "direct": false,
            "version": "5.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-events",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-leaflet",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-loopback",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-server",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-server-proxy",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-server-terminals",
            "direct": false,
            "version": "0.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-ui-poll",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyterlab-pygments",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyterlab-server",
            "direct": false,
            "version": "2.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyterlab-widgets",
            "direct": false,
            "version": "3.0.16",
            "ecosystem": "pypi"
          },
          {
            "name": "kiwisolver",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "lark",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "laspy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "laspy",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "lazy-loader",
            "direct": false,
            "version": "0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "leafmap",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "leafmap",
            "direct": false,
            "version": "0.63.0",
            "ecosystem": "pypi"
          },
          {
            "name": "libpysal",
            "direct": false,
            "version": "4.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "libpysal",
            "direct": false,
            "version": "4.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "lidar",
            "direct": false,
            "version": "0.8.4",
            "ecosystem": "pypi"
          },
          {
            "name": "lightgbm",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "linkify-it-py",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "livereload",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "llvmlite",
            "direct": false,
            "version": "0.48.0",
            "ecosystem": "pypi"
          },
          {
            "name": "localtileserver",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "localtileserver",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "locket",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "lxml",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "lz4",
            "direct": false,
            "version": "4.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "mapboxgl",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mapboxgl",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mapclassify",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mapclassify",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "maplibre",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "maplibre",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "pypi"
          },
          {
            "name": "mapwidget",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mapwidget",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown",
            "direct": false,
            "version": "3.10.2",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "marshmallow",
            "direct": false,
            "version": "3.26.2",
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib",
            "direct": false,
            "version": "3.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib-inline",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mdit-py-plugins",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mercantile",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "methodtools",
            "direct": false,
            "version": "0.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "mgwr",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mistune",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs-git-revision-date-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs-jupyter",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs-material",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs-pdf-export-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocstrings",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocstrings-crystal",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocstrings-python",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "momepy",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "momepy",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "morecantile",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "movingpandas",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "movingpandas",
            "direct": false,
            "version": "0.22.4",
            "ecosystem": "pypi"
          },
          {
            "name": "mpmath",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msgpack",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mss",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mss",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "multidict",
            "direct": false,
            "version": "6.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "multimethod",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "multipledispatch",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "murmurhash",
            "direct": false,
            "version": "1.0.15",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "narwhals",
            "direct": false,
            "version": "2.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "nbclient",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "nbconvert",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "nbconvert",
            "direct": false,
            "version": "7.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nbformat",
            "direct": false,
            "version": "5.10.4",
            "ecosystem": "pypi"
          },
          {
            "name": "nest-asyncio2",
            "direct": false,
            "version": "1.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "netcdf4",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "netcdf4",
            "direct": false,
            "version": "1.7.4",
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": "3.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nh3",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "pypi"
          },
          {
            "name": "numba",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "numba",
            "direct": false,
            "version": "0.66.0",
            "ecosystem": "pypi"
          },
          {
            "name": "numcodecs",
            "direct": false,
            "version": "0.16.5",
            "ecosystem": "pypi"
          },
          {
            "name": "numexpr",
            "direct": false,
            "version": "2.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "2.4.6",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cublas-cu12",
            "direct": false,
            "version": "12.8.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-cupti-cu12",
            "direct": false,
            "version": "12.8.90",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-nvrtc-cu12",
            "direct": false,
            "version": "12.8.93",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-runtime-cu12",
            "direct": false,
            "version": "12.8.90",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cudnn-cu12",
            "direct": false,
            "version": "9.10.2.21",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cufft-cu12",
            "direct": false,
            "version": "11.3.3.83",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cufile-cu12",
            "direct": false,
            "version": "1.13.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-curand-cu12",
            "direct": false,
            "version": "10.3.9.90",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusolver-cu12",
            "direct": false,
            "version": "11.7.3.90",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusparse-cu12",
            "direct": false,
            "version": "12.5.8.93",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusparselt-cu12",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nccl-cu12",
            "direct": false,
            "version": "2.27.5",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvjitlink-cu12",
            "direct": false,
            "version": "12.8.93",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvshmem-cu12",
            "direct": false,
            "version": "3.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvtx-cu12",
            "direct": false,
            "version": "12.8.90",
            "ecosystem": "pypi"
          },
          {
            "name": "oauthlib",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "odc-geo",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "odc-loader",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "pypi"
          },
          {
            "name": "odc-stac",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "odc-stac",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "opencv-python-headless",
            "direct": false,
            "version": "5.0.0.93",
            "ecosystem": "pypi"
          },
          {
            "name": "openpyxl",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.11.9",
            "ecosystem": "pypi"
          },
          {
            "name": "osmnx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "osmnx",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "overrides",
            "direct": false,
            "version": "7.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "overturemaps",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "overturemaps",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "owslib",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "owslib",
            "direct": false,
            "version": "0.35.0",
            "ecosystem": "pypi"
          },
          {
            "name": "owslib",
            "direct": false,
            "version": "0.36.0",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "26.2",
            "ecosystem": "pypi"
          },
          {
            "name": "palettable",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "palettable",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pandocfilters",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "panel",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "panel",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "pypi"
          },
          {
            "name": "panel-material-ui",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "param",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "parso",
            "direct": false,
            "version": "0.8.7",
            "ecosystem": "pypi"
          },
          {
            "name": "partd",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pathlib-abc",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "patsy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pexpect",
            "direct": false,
            "version": "4.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "12.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pip",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "planetary-computer",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "planetary-computer",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ploomber-core",
            "direct": false,
            "version": "0.2.27",
            "ecosystem": "pypi"
          },
          {
            "name": "plotly",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "plotly",
            "direct": false,
            "version": "6.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "plum-dispatch",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pmtiles",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pointpats",
            "direct": false,
            "version": "2.5.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pointpats",
            "direct": false,
            "version": "2.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pooch",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "posthog",
            "direct": false,
            "version": "7.22.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pqdm",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "preshed",
            "direct": false,
            "version": "3.0.13",
            "ecosystem": "pypi"
          },
          {
            "name": "prettytable",
            "direct": false,
            "version": "3.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prometheus-client",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prompt-toolkit",
            "direct": false,
            "version": "3.0.52",
            "ecosystem": "pypi"
          },
          {
            "name": "propcache",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "proto-plus",
            "direct": false,
            "version": "1.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": "7.35.1",
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "psygnal",
            "direct": false,
            "version": "0.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "ptyprocess",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pulp",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pure-eval",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": "24.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1-modules",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyct",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": false,
            "version": "2.13.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.46.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pyfiglet",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pygis",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pygis",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pykdtree",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pymdown-extensions",
            "direct": false,
            "version": "11.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyntcloud",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyntcloud",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyogrio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyogrio",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyorbital",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyparsing",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyperclip",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyproj",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyproj",
            "direct": false,
            "version": "3.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyresample",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyresample",
            "direct": false,
            "version": "1.35.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pysal",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pysal",
            "direct": false,
            "version": "26.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyshp",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyshp",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pysocks",
            "direct": false,
            "version": "1.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-client",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-client",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-core",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-classification",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-datacube",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-eo",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-file",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-grid",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-item-assets",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-label",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-mgrs",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-mlm",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-pointcloud",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-projection",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-raster",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-render",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-sar",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-sat",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-scientific",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-storage",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-table",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-timestamps",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-version",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-view",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pystac-ext-xarray-assets",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-box",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-cmr",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": false,
            "version": "2.9.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-fasthtml",
            "direct": false,
            "version": "0.14.4",
            "ecosystem": "pypi"
          },
          {
            "name": "python-json-logger",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-multipart",
            "direct": false,
            "version": "0.0.32",
            "ecosystem": "pypi"
          },
          {
            "name": "pytz",
            "direct": false,
            "version": "2026.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyviz-comms",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "pypi"
          },
          {
            "name": "pywinpty",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pyzmq",
            "direct": false,
            "version": "27.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "quantecon",
            "direct": false,
            "version": "0.11.2",
            "ecosystem": "pypi"
          },
          {
            "name": "radiant-mlhub",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "rasterio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rasterio",
            "direct": false,
            "version": "1.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "rasterio",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rasterstats",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rasterstats",
            "direct": false,
            "version": "0.21.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ratelim",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "reacton",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.37.0",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.34.2",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-futures",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-oauthlib",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rfc3339-validator",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "rfc3986-validator",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "rfc3987-syntax",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": "15.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-click",
            "direct": false,
            "version": "1.9.8",
            "ecosystem": "pypi"
          },
          {
            "name": "rio-cogeo",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rio-cogeo",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "rio-tiler",
            "direct": false,
            "version": "9.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rioxarray",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rioxarray",
            "direct": false,
            "version": "0.19.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rioxarray",
            "direct": false,
            "version": "0.22.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "2026.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "rtree",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "s2cloudless",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "s2cloudless",
            "direct": false,
            "version": "1.7.3",
            "ecosystem": "pypi"
          },
          {
            "name": "s3fs",
            "direct": false,
            "version": "2026.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "s3transfer",
            "direct": false,
            "version": "0.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "safetensors",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sarkit",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sarkit",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sarpy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sarpy",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "satpy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "satpy",
            "direct": false,
            "version": "0.60.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-image",
            "direct": false,
            "version": "0.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scooby",
            "direct": false,
            "version": "0.11.2",
            "ecosystem": "pypi"
          },
          {
            "name": "seaborn",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "pypi"
          },
          {
            "name": "segregation",
            "direct": false,
            "version": "2.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "segregation",
            "direct": false,
            "version": "2.5.5",
            "ecosystem": "pypi"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "send2trash",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sentinelhub",
            "direct": false,
            "version": "3.11.5",
            "ecosystem": "pypi"
          },
          {
            "name": "sentinelsat",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sentinelsat",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sentry-sdk",
            "direct": false,
            "version": "2.64.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sertit",
            "direct": false,
            "version": "1.54.2",
            "ecosystem": "pypi"
          },
          {
            "name": "server-thread",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": "83.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "shapely",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "shapely",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "shellingham",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "simpervisor",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "simplejson",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "simplekml",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "simplekml",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "pypi"
          },
          {
            "name": "six",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sliderule",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sliderule",
            "direct": false,
            "version": "5.4.3",
            "ecosystem": "pypi"
          },
          {
            "name": "smart-open",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "smmap",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "solara",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "solara",
            "direct": false,
            "version": "1.60.0",
            "ecosystem": "pypi"
          },
          {
            "name": "solara-server",
            "direct": false,
            "version": "1.60.0",
            "ecosystem": "pypi"
          },
          {
            "name": "solara-ui",
            "direct": false,
            "version": "1.60.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sortedcontainers",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "soupsieve",
            "direct": false,
            "version": "2.8.4",
            "ecosystem": "pypi"
          },
          {
            "name": "spacy",
            "direct": false,
            "version": "3.8.14",
            "ecosystem": "pypi"
          },
          {
            "name": "spacy-legacy",
            "direct": false,
            "version": "3.0.12",
            "ecosystem": "pypi"
          },
          {
            "name": "spacy-loggers",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "spaghetti",
            "direct": false,
            "version": "1.7.6",
            "ecosystem": "pypi"
          },
          {
            "name": "spglm",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "spint",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "pypi"
          },
          {
            "name": "spint",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "splot",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "pypi"
          },
          {
            "name": "spopt",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "spreg",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "spyndex",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "spyndex",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": false,
            "version": "2.0.51",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlglot",
            "direct": false,
            "version": "30.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlparse",
            "direct": false,
            "version": "0.5.5",
            "ecosystem": "pypi"
          },
          {
            "name": "srsly",
            "direct": false,
            "version": "2.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "stack-data",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "stackstac",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "stackstac",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "starlette",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "statsmodels",
            "direct": false,
            "version": "0.14.6",
            "ecosystem": "pypi"
          },
          {
            "name": "sympy",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tblib",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tenacity",
            "direct": false,
            "version": "9.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "termcolor",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "terminado",
            "direct": false,
            "version": "0.18.1",
            "ecosystem": "pypi"
          },
          {
            "name": "thinc",
            "direct": false,
            "version": "8.3.13",
            "ecosystem": "pypi"
          },
          {
            "name": "threadpoolctl",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tifffile",
            "direct": false,
            "version": "2026.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "tifffile",
            "direct": false,
            "version": "2026.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tinycss2",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tinynetrc",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tobler",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tobler",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tomli",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tomli-w",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "toolz",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "torch",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "torchvision",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tornado",
            "direct": false,
            "version": "6.5.7",
            "ecosystem": "pypi"
          },
          {
            "name": "tox",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": "4.68.3",
            "ecosystem": "pypi"
          },
          {
            "name": "traitlets",
            "direct": false,
            "version": "5.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "traittypes",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "triton",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "trollimage",
            "direct": false,
            "version": "1.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "trollsift",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "truststore",
            "direct": false,
            "version": "0.10.4",
            "ecosystem": "pypi"
          },
          {
            "name": "twine",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typer",
            "direct": false,
            "version": "0.26.8",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspect",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspection",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": "2026.2",
            "ecosystem": "pypi"
          },
          {
            "name": "uc-micro-py",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "universal-pathlib",
            "direct": false,
            "version": "0.3.10",
            "ecosystem": "pypi"
          },
          {
            "name": "uri-template",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uritemplate",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "usgs",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "usgs",
            "direct": false,
            "version": "0.3.7",
            "ecosystem": "pypi"
          },
          {
            "name": "utm",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "uvicorn",
            "direct": false,
            "version": "0.50.2",
            "ecosystem": "pypi"
          },
          {
            "name": "uvloop",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "pypi"
          },
          {
            "name": "validators",
            "direct": false,
            "version": "0.35.0",
            "ecosystem": "pypi"
          },
          {
            "name": "voila",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "voila",
            "direct": false,
            "version": "0.5.12",
            "ecosystem": "pypi"
          },
          {
            "name": "voila-topbar",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "wandb",
            "direct": false,
            "version": "0.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wasabi",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "wasmtime",
            "direct": false,
            "version": "46.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "watchdog",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "watchdog",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "watchfiles",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "weasel",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "webcolors",
            "direct": false,
            "version": "25.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "webencodings",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "websocket-client",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "websockets",
            "direct": false,
            "version": "16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "werkzeug",
            "direct": false,
            "version": "3.1.8",
            "ecosystem": "pypi"
          },
          {
            "name": "wheel",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "whitebox",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "whitebox",
            "direct": false,
            "version": "2.3.6",
            "ecosystem": "pypi"
          },
          {
            "name": "whiteboxgui",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "whiteboxgui",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "widgetsnbextension",
            "direct": false,
            "version": "4.0.15",
            "ecosystem": "pypi"
          },
          {
            "name": "wirerope",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wrapt",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "wxee",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "wxee",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "xarray",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "xarray",
            "direct": false,
            "version": "2026.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "xarray-spatial",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "xarray-spatial",
            "direct": false,
            "version": "0.10.15",
            "ecosystem": "pypi"
          },
          {
            "name": "xarray-spatial",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "xcube",
            "direct": false,
            "version": "0.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "xdem",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "xee",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "xee",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "xyzservices",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "xyzservices",
            "direct": false,
            "version": "2026.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.24.2",
            "ecosystem": "pypi"
          },
          {
            "name": "zarr",
            "direct": false,
            "version": "2.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zict",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zstandard",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 649,
        "direct_count": 0,
        "indirect_count": 649
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 3,
        "merged_prs": 86,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 20,
        "closed_unmerged_prs": 40
      },
      "bus_factor": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "giswqs",
          "commits": 176,
          "avatar_url": "https://avatars.githubusercontent.com/u/5016453?u=ccdf45d5c7a05a6b096b8b622b2d99ae046d37ac&v=4"
        },
        {
          "type": "Bot",
          "login": "dependabot[bot]",
          "commits": 44,
          "avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4"
        },
        {
          "type": "Bot",
          "login": "pre-commit-ci[bot]",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/in/68672?v=4"
        },
        {
          "type": "User",
          "login": "Giangblackk",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/10430725?u=927690f14d91b763496eb2d863acfc1921735575&v=4"
        },
        {
          "type": "User",
          "login": "remi-braun",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/67311115?u=f061003f3b997ce2401b7dc1529271628515b25a&v=4"
        }
      ],
      "contributors_sampled": 5,
      "top_contributor_share": 0.755
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "docker-delete-pr-tags.yml",
        "docker-image.yml",
        "docs-build.yml",
        "docs.yml",
        "macos.yml",
        "pypi.yml",
        "ubuntu.yml",
        "windows.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [
        "uv.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 1,
            "reason": "Found 1/10 approved changesets -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 5 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 1,
            "reason": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 8,
            "reason": "2 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "16f8904832de7a341abc3b28cb09c40f07f90d9b",
        "ran_at": "2026-07-17T21:49:46Z",
        "aggregate_score": 4.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/giswqs/geospatial",
    "host": "github.com",
    "name": "geospatial",
    "owner": "giswqs"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 68,
      "inputs": {
        "security": 46,
        "vitality": 69,
        "community": 66,
        "governance": 58,
        "engineering": 100
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 69,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 53,
            "inputs": {
              "commits_last_year": 22,
              "human_commit_share": null,
              "days_since_last_push": 0,
              "active_weeks_last_year": 6
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "6/52 weeks with commits",
                "points": 4.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "22 commits in the last year",
                "points": 12.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 22
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 92,
            "inputs": {
              "releases_count": 36,
              "latest_release_tag": "v0.12.0",
              "releases_from_tags": false,
              "days_since_latest_release": 10,
              "mean_days_between_releases": 77.1
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "36 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 36
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 10 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 10
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~77.1 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 77.1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "no_commit_sample",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 66,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "forks": 44,
              "stars": 426,
              "watchers": 14,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "426 stars",
                "points": 42.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 426
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "44 forks",
                "points": 13.6,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 44
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "14 watchers",
                "points": 6.2,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 58,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 31,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 5,
              "top_contributor_share": 0.755
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 76% of commits",
                "points": 5.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 76
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "5 contributors",
                "points": 6.8,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "merged_prs": 86,
              "open_issues": 0,
              "closed_issues": 20,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 40
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "86/126 decided PRs merged",
                "points": 26.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 86,
                      "decided": 126
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 1/10 approved changesets -- score normalized to 1",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "followers": 3826,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "opengeos",
              "public_repos": 166,
              "account_age_days": 1200
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "3,826 followers of opengeos",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 3826,
                      "login": "opengeos"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "166 public repos, account ~3 yr old",
                "points": 19.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 166
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 3
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 100,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "8 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 16,
                "status": "met",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "python",
                "geospatial",
                "gis",
                "remote-sensing",
                "image-processing",
                "jupyter",
                "xarray",
                "geemap",
                "leafmap",
                "geopandas",
                "rasterio"
              ],
              "has_wiki": true,
              "homepage": "https://geospatial.gishub.org",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://geospatial.gishub.org",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "11 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 46,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 46,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 4.6
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 1/10 approved changesets -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "2 existing vulnerabilities detected",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 4
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 36,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": "Excluded from scoring (no data or not applicable): Legible commit history. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "legible_commit_history"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": null,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): Demonstrated agent practice. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "demonstrated_agent_practice"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 53,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "uv.lock"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": null,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 11,
                "status": "met",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "dependency automation configured, none observed in the sampled commits",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "dependency_bot_config_only",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Dockerfile",
              "largest_source_bytes": 401,
              "source_files_sampled": 4,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Dockerfile without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Dockerfile"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/4 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 4,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples",
                "notebooks"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples, notebooks",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples, notebooks"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "pypi package 'geospatial' points at a different repository (https://github.com/opengeos/geospatial); excluded from ecosystem scoring"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-17T21:50:11.551459Z",
  "schema_version": "0.12.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/giswqs/geospatial.svg",
  "full_name": "giswqs/geospatial",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.12.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte StatistikenPyPI.