Skip to main content

Space Engineers Redis helper utilities

Project description

secontrol

secontrol — это высокоуровневый клиент для взаимодействия с Redis-шлюзом Space Engineers. Библиотека упрощает получение телеметрии, отправку команд и реализацию автоматизаций, используя устойчивые подписки на ключевые события.

Возможности

  • Подключение к Redis с помощью конфигурации из .env или аргументов конструктора.
  • Наблюдение за ключами и каналами с автоматическим восстановлением подписок.
  • Утилиты для получения идентификаторов владельца, игрока и грида.
  • Примеры, демонстрирующие публикацию команд и мониторинг состояний.

Установка

После публикации на PyPI библиотеку можно будет установить стандартным способом:

pip install secontrol

До публикации можно установить пакет из исходников:

pip install .

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

from secontrol.common import prepare_grid

#Первый грид игрока
grid = prepare_grid()
#Устройства на гриде
print(", ".join((d.name or f"{d.device_type}:{d.device_id}") for d in grid.devices.values()) or "(no devices)")

Переменные окружения

Переменная Назначение
REDIS_URL URL Redis-инстанса (по умолчанию redis://api.outenemy.ru:6379/0).
REDIS_USERNAME Имя пользователя для авторизации.
REDIS_PASSWORD Пароль для подключения.
SE_PLAYER_ID Идентификатор игрока Space Engineers.
SE_GRID_ID Идентификатор грида. Если не задан, используется первый доступный.

Переменные можно определить в файле .env в корне проекта или системы. Модуль автоматически читает файл с помощью python-dotenv.

Примеры

Готовые скрипты находятся в каталоге sepy/examples. Чтобы запустить пример:

python -m secontrol.examples_direct_connect.list_grids

Подключение плагинов

Для работы с дополнительными расширениями, такими как se-grid-controller, в репозитории добавлен файл repositories.yaml. Он сообщает инструментам разработки, где искать внешние зависимости и на какой ветке они находятся.

repositories:
  - name: se-grid-controller
    url: git@github.com:rootfabric/se-grid-controller.git
    branch: main

При необходимости добавьте в этот файл другие плагины в том же формате.

Лицензия

Проект распространяется по лицензии MIT. См. файл LICENSE.

Публикация py -m build py -m twine upload dist\secontrol-*

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

secontrol-0.1.6.tar.gz (151.0 kB view details)

Uploaded Source

Built Distribution

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

secontrol-0.1.6-py3-none-any.whl (196.8 kB view details)

Uploaded Python 3

File details

Details for the file secontrol-0.1.6.tar.gz.

File metadata

  • Download URL: secontrol-0.1.6.tar.gz
  • Upload date:
  • Size: 151.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for secontrol-0.1.6.tar.gz
Algorithm Hash digest
SHA256 8d375f89c0906ff93ffb99477218508a568a0c65ee71195959f49f38a8147455
MD5 9242f65712c9e4ebd750d3604248a27a
BLAKE2b-256 a97f66778d4aa170a4d48fb7a81c8519b1d321b2e555a6c2b115f96764d05f72

See more details on using hashes here.

File details

Details for the file secontrol-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: secontrol-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 196.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for secontrol-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 fe6cb35811ee77f990ee06749d781ab75237f17231b5ee50547fe77132bc19a7
MD5 cf03ae6c49cc8149253e42f70b916adb
BLAKE2b-256 b69add5b6684b534a0e379189735c5476e147de7e527761c302fb213cd2bb714

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