Skip to content

geosensing/allocator

Repository files navigation

allocator: Efficiently collect data from geographically distributed locations

PyPI version Downloads CI Documentation

Allocator provides a modern, Pythonic API for geographic task allocation, clustering, and routing optimization.

Key Features

  • 🎯 Clustering: Group geographic points into balanced zones
  • 🛣️ Routing: Find optimal paths through locations (TSP solving)
  • 📍 Assignment: Connect points to closest workers/centers
  • 🚀 Performance: Optimized algorithms with NumPy and scikit-learn
  • 📦 Modern API: Clean Python interface + unified CLI

Quick Start

pip install allocator
import allocator
import pandas as pd

# Geographic locations
locations = pd.DataFrame({
    'longitude': [100.5018, 100.5065, 100.5108],
    'latitude': [13.7563, 13.7590, 13.7633]
})

# Group into zones
clusters = allocator.cluster(locations, n_clusters=2)

# Find optimal route
route = allocator.shortest_path(locations)

# Assign to service centers
centers = pd.DataFrame({
    'longitude': [100.50, 100.52],
    'latitude': [13.75, 13.77]
})
assignments = allocator.assign(locations, centers)

Documentation & Examples

License & Contributing

MIT License. Contributions welcome - see Contributing Guide.

About

Efficiently collect data from geographically distributed locations

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 4

  •  
  •  
  •  
  •  

Languages