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.12.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.12-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geodrive-0.0.12.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.12.tar.gz
Algorithm Hash digest
SHA256 88622b895b8c38cb7e40c7337dee43fc6bf6943dba2fcb1d28a710cb2087e62c
MD5 8903cdc99344f7f141c2f9f94137ed71
BLAKE2b-256 392980b06f1ab4ea37373b2601702c89fb26ee1e4c37ca311406005dee6eaea5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: geodrive-0.0.12-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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 4e7ac20c0fb32387bcac2f4c7ac88365281242d3db4664ec57882c6c7d272c6e
MD5 7d0187569421edd9e35876b78553647e
BLAKE2b-256 34cb780eae2746b380401b5cc079a037e26c84de7fdcc09b905cccc924803249

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