Skip to main content

Universal SDK for rover programming

Project description

geodrive

Python SDK для управления роботами-роверами через gRPC

Tests Package version Supported Python versions License


geodrive - это удобный Python SDK для управления роботами-роверами через gRPC протокол.

🚀 Основные возможности

  • Два клиента на выбор - Асинхронный для веб-приложений и синхронный для скриптов
  • Готовый веб-интерфейс - Красивая панель управления из коробки с картой и телеметрией
  • Безопасность - Надежная обработка ошибок и переподключение
  • Реальное время - Потоковая телеметрия и управление
  • Универсальность - Поддержка различных моделей роботов-роверов

📦 Установка

uv add geodrive
# или
pip install geodrive

Быстрый старт

Базовое использование

Подключение к роверу

from geodrive import Rover

# Подключение к роверу
with Rover(host="10.1.100.160", port=5656) as rover:
    # Отправка команды движения к точке
    rover.goto(5.0, 3.0, 1.57)
    
    # Получение телеметрии
    telemetry = rover.get_telemetry()
    print(f"Позиция: ({telemetry.position[0]:.2f}, {telemetry.position[1]:.2f})")
    print(f"Ориентация: {telemetry.attitude[2]:.2f} рад")

🛠️ Что внутри?

Управление движением

  • Точное позиционирование в координатах X, Y, Yaw
  • Потоковое отслеживание прогресса движения
  • RC-Channels для возможности ручного управления

Телеметрия в реальном времени

  • Потоковая передача данных о позиции и ориентации
  • Мониторинг состояния батареи и датчиков

Надежная коммуникация

  • gRPC для высокопроизводительной связи
  • Автоматическое переподключение при обрывах
  • Валидация команд и данных

Гибкость использования

  • Синхронный для простых скриптов
  • Асинхронный для веб-приложений
  • Поддержка контекстных менеджеров

📋 Требования

  • Python 3.10+
  • geonode на стороне робота или кастомный gRPC сервер
  • Сетевое соединение с роботом

🔗 Зависимости

geodrive построен на современных технологиях:

  • grpcio - высокопроизводительный gRPC клиент
  • protobuf - работа с бинарными протоколами
  • structlog - структурированное логирование

📚 Документация

Начало работы

API документация

Для разработчиков

📄 Лицензия

Проект распространяется под лицензией MIT.

Project details


Download files

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

Source Distribution

geodrive-0.0.13.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

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

geodrive-0.0.13-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file geodrive-0.0.13.tar.gz.

File metadata

  • Download URL: geodrive-0.0.13.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for geodrive-0.0.13.tar.gz
Algorithm Hash digest
SHA256 5b3f5908afff323b7ca1e9dcb23381825977c6c18e4800e823e72739eaf061ec
MD5 0562a74eec4b215c168e3a48647eefdf
BLAKE2b-256 d7978d6306b006532a69e29d8444f39e85a06fbc213cbf95c4875c83940457db

See more details on using hashes here.

File details

Details for the file geodrive-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: geodrive-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for geodrive-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 55c77d08e9774bd878e212e6baf8b303ed3be062351d857a88bd301e70c7cdd3
MD5 81d173d57aa1d42e8aa4da64623dec4c
BLAKE2b-256 33b348db6c27191b5fc24f0aca9dab9b49b2a004f3fed76ae1b93b9c0f95b43d

See more details on using hashes here.

Supported by

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