Skip to content
Back to skills

GEO INFER IOT

ASecurity

IoT sensor data ingestion and real-time streaming for geospatial monitoring. Use when connecting to MQTT brokers, processing sensor streams, validating spatial sensor data quality, or building real-time geospatial monitoring pipelines.

  • 17 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 1, 2026
businesspythonfastapigitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add ActiveInferenceInstitute/GEO-INFER --skill GEO-INFER-IOT --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of GEO INFER IOT?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for GEO INFER IOT
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/activeinferenceinstitute-geo-infer-iot/badge)](https://www.skillsdirectory.com/skills/activeinferenceinstitute-geo-infer-iot)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: geo-infer-iot
description: IoT sensor data ingestion and real-time streaming for geospatial monitoring. Use when connecting to MQTT brokers, processing sensor streams, validating spatial sensor data quality, or building real-time geospatial monitoring pipelines.
prerequisites:
  required:
    - geo-infer-data
    - geo-infer-time
  recommended:
    - geo-infer-space
difficulty: intermediate
estimated_time: 45min
examples_dir: ../GEO-INFER-EXAMPLES/examples/
---

# GEO-INFER-IOT

## Instructions

### Core Capabilities

- **Ingestion**: `IoTDataIngestion` — dict/SensorMeasurement ingestion, H3 spatial indexing, MQTT (paho-mqtt thread bridge + aiomqtt async), Bayesian spatial inference via GEO-INFER-BAYES
- **Registry**: `SensorRegistry` — sensor/network registration (`SensorMetadata`, `SensorNetworkRecord`) with H3 spatial queries
- **Streaming**: `StreamingAPI` — FastAPI WebSocket `/ws/sensor-stream` with async broadcasts; `SensorAPI` — REST for sensors/measurements/networks
- **Quality control**: `QualityController` — range validation, temporal consistency, outlier detection (IsolationForest with real z-score fallback), spatial consistency
- **Bayesian inference**: `BayesianSpatialInference` (in `geo_infer_iot.core.inference`) — Gaussian-process spatial posteriors over an H3 grid
- **Radiation monitoring**: `RadiationMonitoringSystem` — end-to-end radiation ingestion, anomaly detection, and spatial inference

### Key Imports

```python
from geo_infer_iot import (
    IoTDataIngestion,
    SensorRegistry,
    QualityController,
    IoTSystem,
    RadiationMonitoringSystem,
)
from geo_infer_iot.core.inference import BayesianSpatialInference
```

## Examples

```python
from geo_infer_iot import SensorRegistry, IoTDataIngestion

registry = SensorRegistry()
ingestion = IoTDataIngestion(registry, {"mqtt": {"host": "localhost", "port": 1883}})

measurement = {
    "sensor_id": "temp_001",
    "variable": "temperature",
    "value": 21.5,
    "unit": "celsius",
    "latitude": 47.6062,
    "longitude": -122.3321,
}

import asyncio
asyncio.run(ingestion.ingest_measurement(measurement))
print(ingestion.get_measurement_statistics())
```

```python
from geo_infer_iot import QualityController

checker = QualityController({
    "variable_ranges": {"temperature": (-40.0, 60.0)},
    "temporal_consistency": {"max_change_rate": 0.1},
})
result = checker.validate_measurement({
    "sensor_id": "temp_001",
    "variable": "temperature",
    "value": 21.5,
    "timestamp": "2026-01-01T00:00:00+00:00",
})
print(f"Passed: {result.passed}, score: {result.quality_score:.2f}, issues: {result.issues}")
```

## Guidelines

- MQTT handlers use real paho-mqtt (thread bridge) or aiomqtt (async); broker connection happens in `start_stream_processing` inside a running event loop
- geo_infer_space and geo_infer_bayes are required workspace dependencies — they import unconditionally and fail loudly on a broken install
- Quality-control config nests under documented keys (e.g. `temporal_consistency.max_change_rate`); a flat `max_change_rate` is a legacy fallback
- Test: `uv run python GEO-INFER-TEST/run_unified_tests.py --module IOT`

### Integrations

- **DATA** → Sensor data feeds into ETL pipelines
- **TIME** → Time-series analysis of sensor streams
- **SPACE** → Spatial indexing of sensor locations
- **OPS** → Monitoring sensor health and uptime (`PredictiveMaintenance`)
- **COMMS** → Alert broadcasting on sensor thresholds

Files in this skill

  • AGENTS.md1.6 KB
  • README.md1.4 KB
  • SKILL.md2.2 KB
  • config/AGENTS.md1.1 KB
  • config/README.md928 B
  • config/example.yaml8.4 KB
  • deployment/AGENTS.md1.2 KB
  • deployment/Dockerfile1.9 KB
  • deployment/README.md996 B
  • deployment/deploy.sh8.8 KB
  • deployment/docker-compose.yml5.4 KB
  • deployment/docker-entrypoint.sh2.2 KB
  • docs/AGENTS.md1.1 KB
  • docs/README.md927 B
  • docs/api_schema.yaml1.3 KB
  • examples/AGENTS.md1.2 KB
  • examples/README.md1.7 KB
  • examples/radiation_surveillance.py16.3 KB
  • examples/smart_sensor_network.py9.8 KB
  • examples/soil_sensor_network.py18.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.