跳转到主要内容

LaMetric TIME设备异步Python客户端

项目描述

Python: LaMetric设备API客户端

GitHub Release Python Versions Project Stage Project Maintenance License

Build Status Code Coverage Code Quality

Sponsor Frenck via GitHub Sponsors

Support Frenck on Patreon

LaMetric TIME设备的异步Python客户端。

关于

此软件包允许您通过编程方式控制并监控LaMetric TIME设备,直接在您的本地网络上。它主要创建来允许第三方程序自动化LaMetric设备的行为。

安装

pip install demetriek

使用

"""Asynchronous Python client for LaMetric TIME devices."""

import asyncio

from demetriek import LaMetricDevice
from demetriek.models import (
    Goal,
    GoalData,
    Chart,
    Model,
    Notification,
    NotificationIconType,
    NotificationSound,
    Simple,
    Sound,
)


async def main():
    """Show example on controlling your LaMetric device."""

    # Create a alert notification, with 3 message frames.
    # First frame is a text, the second is a goal, last one
    # shows a chart. Additionally, the Win! notification sound
    # is played.
    notification = Notification(
        icon_type=NotificationIconType.ALERT,
        model=Model(
            frames=[
                Simple(text="Yeah", icon=18815),
                Goal(
                    icon=7956,
                    data=GoalData(
                        current=65,
                        end=100,
                        start=0,
                        unit="%",
                    ),
                ),
                Chart(data=[1, 2, 3, 4, 5, 4, 3, 2, 1]),
            ],
            sound=Sound(id=NotificationSound.WIN),
        ),
    )

    async with LaMetricDevice(
        "192.168.1.2",
        api_key="device_api_key",
    ) as lametric:
        # Raise audio volume... so we can hear the notification
        await lametric.audio(volume=100)
        await lametric.notify(notification=notification)


if __name__ == "__main__":
    asyncio.run(main())

变更日志 & 发布

此仓库使用GitHub的发布功能保持变更日志。

发布基于语义化版本控制,并使用MAJOR.MINOR.PATCH格式。简而言之,版本将根据以下方式增加

  • MAJOR:不兼容或主要更改。
  • MINOR:向后兼容的新特性和增强。
  • PATCH:向后兼容的错误修复和软件包更新。

贡献

这是一个活跃的开源项目。我们始终欢迎那些想使用代码或为其做出贡献的人。

我们为我们的贡献指南创建了一份单独的文档。

感谢您的参与!:heart_eyes

设置开发环境

这个Python项目完全使用Poetry依赖管理器进行管理。但也依赖于在开发过程中使用NodeJS进行某些检查。

您至少需要

  • Python 3.9+
  • Poetry
  • NodeJS 14+(包括NPM)

安装所有包,包括所有开发需求

npm install
poetry install

由于此存储库使用pre-commit框架,每次提交都会进行代码风格检查和测试。您可以使用以下命令手动运行所有检查和测试

poetry run pre-commit run --all-files

仅运行Python测试

poetry run pytest

作者及贡献者

此存储库的原始设置由Franck Nijhof完成。

要查看所有作者和贡献者的完整列表,请查看贡献者页面

许可

MIT许可证

版权所有(c)2022 Franck Nijhof

特此免费授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人,在不受限制的情况下处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向提供软件的人授予上述权利,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他原因,无论是在软件或软件的使用或其他交易中产生的。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

demetriek-0.4.0.tar.gz (14.2 kB 查看哈希值)

上传时间: 源代码

构建分发

demetriek-0.4.0-py3-none-any.whl (12.7 kB 查看哈希值)

上传时间: Python 3

支持