%global _empty_manifest_terminate_build 0 Name: python-surepy Version: 0.8.0 Release: 1 Summary: Library to interact with the flaps & doors from Sure Petcare. License: MIT URL: https://github.com/benleb/surepy Source0: https://mirrors.nju.edu.cn/pypi/web/packages/48/34/e75e3e08b4a86ca1fba2410ac576b3991915acd9e702aab9a86f7fa13076/surepy-0.8.0.tar.gz BuildArch: noarch Requires: python3-aiohttp[speedups] Requires: python3-async-timeout Requires: python3-click Requires: python3-requests Requires: python3-rich %description [**surepy**](https://github.com/benleb/surepy) features: ๐Ÿ”‘ **get an api token** with your account credentials ๐Ÿšช **lock/unlock** a door or flap ๐Ÿพ get the **location** of **pets** & **devices** ๐Ÿˆ get the **state** and more attributes of **pets** & **devices** ๐Ÿ•ฐ๏ธ get **historic** data & events of pets & devices ๐Ÿ“ฌ get a list of (past) **notifications** ## Getting Started [**surepy**](https://github.com/benleb/surepy) is available via [pypi.org](https://pypi.org) ```bash python3 -m pip install --upgrade surepy # or pip install --upgrade surepy ``` there is also a small cli available ```bash $ surepy --help Usage: surepy [OPTIONS] COMMAND [ARGS]... surepy cli ๐Ÿพ https://github.com/benleb/surepy Options: --version show surepy version -j, --json enable json api response output -t, --token TEXT api token --help Show this message and exit. Commands: devices get devices locking lock control notification get notifications pets get pets position set pet position report get pet/household report token get a token ``` >*the cli **is mainly intended for developing & debugging purposes** and probably has bugs - be careful* ๐Ÿพ ## Library example ```python import asyncio from os import environ from pprint import pprint from typing import Dict, List from surepy import Surepy from surepy.entities import SurepyEntity from surepy.entities.devices import SurepyDevice from surepy.entities.pet import Pet async def main(): # # user/password authentication (gets a token in background) # surepy = Surepy(email=user, password=password) # token authentication (token supplied via SUREPY_TOKEN env var) token = environ.get("SUREPY_TOKEN") surepy = Surepy(auth_token=token) # list with all pets pets: List[Pet] = await surepy.get_pets() for pet in pets: print(f"\n\n{pet.name}: {pet.state} | {pet.location}\n") pprint(pet.raw_data()) print(f"\n\n - - - - - - - - - - - - - - - - - - - -\n\n") # all entities as id-indexed dict entities: Dict[int, SurepyEntity] = await surepy.get_entities() # list with alldevices devices: List[SurepyDevice] = await surepy.get_devices() for device in devices: print(f"{device.name = } | {device.serial = } | {device.battery_level = }") print(f"{device.type = } | {device.unique_id = } | {device.id = }") print(f"{entities[device.parent_id].full_name = } | {entities[device.parent_id] = }\n") asyncio.run(main()) %package -n python3-surepy Summary: Library to interact with the flaps & doors from Sure Petcare. Provides: python-surepy BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-surepy [**surepy**](https://github.com/benleb/surepy) features: ๐Ÿ”‘ **get an api token** with your account credentials ๐Ÿšช **lock/unlock** a door or flap ๐Ÿพ get the **location** of **pets** & **devices** ๐Ÿˆ get the **state** and more attributes of **pets** & **devices** ๐Ÿ•ฐ๏ธ get **historic** data & events of pets & devices ๐Ÿ“ฌ get a list of (past) **notifications** ## Getting Started [**surepy**](https://github.com/benleb/surepy) is available via [pypi.org](https://pypi.org) ```bash python3 -m pip install --upgrade surepy # or pip install --upgrade surepy ``` there is also a small cli available ```bash $ surepy --help Usage: surepy [OPTIONS] COMMAND [ARGS]... surepy cli ๐Ÿพ https://github.com/benleb/surepy Options: --version show surepy version -j, --json enable json api response output -t, --token TEXT api token --help Show this message and exit. Commands: devices get devices locking lock control notification get notifications pets get pets position set pet position report get pet/household report token get a token ``` >*the cli **is mainly intended for developing & debugging purposes** and probably has bugs - be careful* ๐Ÿพ ## Library example ```python import asyncio from os import environ from pprint import pprint from typing import Dict, List from surepy import Surepy from surepy.entities import SurepyEntity from surepy.entities.devices import SurepyDevice from surepy.entities.pet import Pet async def main(): # # user/password authentication (gets a token in background) # surepy = Surepy(email=user, password=password) # token authentication (token supplied via SUREPY_TOKEN env var) token = environ.get("SUREPY_TOKEN") surepy = Surepy(auth_token=token) # list with all pets pets: List[Pet] = await surepy.get_pets() for pet in pets: print(f"\n\n{pet.name}: {pet.state} | {pet.location}\n") pprint(pet.raw_data()) print(f"\n\n - - - - - - - - - - - - - - - - - - - -\n\n") # all entities as id-indexed dict entities: Dict[int, SurepyEntity] = await surepy.get_entities() # list with alldevices devices: List[SurepyDevice] = await surepy.get_devices() for device in devices: print(f"{device.name = } | {device.serial = } | {device.battery_level = }") print(f"{device.type = } | {device.unique_id = } | {device.id = }") print(f"{entities[device.parent_id].full_name = } | {entities[device.parent_id] = }\n") asyncio.run(main()) %package help Summary: Development documents and examples for surepy Provides: python3-surepy-doc %description help [**surepy**](https://github.com/benleb/surepy) features: ๐Ÿ”‘ **get an api token** with your account credentials ๐Ÿšช **lock/unlock** a door or flap ๐Ÿพ get the **location** of **pets** & **devices** ๐Ÿˆ get the **state** and more attributes of **pets** & **devices** ๐Ÿ•ฐ๏ธ get **historic** data & events of pets & devices ๐Ÿ“ฌ get a list of (past) **notifications** ## Getting Started [**surepy**](https://github.com/benleb/surepy) is available via [pypi.org](https://pypi.org) ```bash python3 -m pip install --upgrade surepy # or pip install --upgrade surepy ``` there is also a small cli available ```bash $ surepy --help Usage: surepy [OPTIONS] COMMAND [ARGS]... surepy cli ๐Ÿพ https://github.com/benleb/surepy Options: --version show surepy version -j, --json enable json api response output -t, --token TEXT api token --help Show this message and exit. Commands: devices get devices locking lock control notification get notifications pets get pets position set pet position report get pet/household report token get a token ``` >*the cli **is mainly intended for developing & debugging purposes** and probably has bugs - be careful* ๐Ÿพ ## Library example ```python import asyncio from os import environ from pprint import pprint from typing import Dict, List from surepy import Surepy from surepy.entities import SurepyEntity from surepy.entities.devices import SurepyDevice from surepy.entities.pet import Pet async def main(): # # user/password authentication (gets a token in background) # surepy = Surepy(email=user, password=password) # token authentication (token supplied via SUREPY_TOKEN env var) token = environ.get("SUREPY_TOKEN") surepy = Surepy(auth_token=token) # list with all pets pets: List[Pet] = await surepy.get_pets() for pet in pets: print(f"\n\n{pet.name}: {pet.state} | {pet.location}\n") pprint(pet.raw_data()) print(f"\n\n - - - - - - - - - - - - - - - - - - - -\n\n") # all entities as id-indexed dict entities: Dict[int, SurepyEntity] = await surepy.get_entities() # list with alldevices devices: List[SurepyDevice] = await surepy.get_devices() for device in devices: print(f"{device.name = } | {device.serial = } | {device.battery_level = }") print(f"{device.type = } | {device.unique_id = } | {device.id = }") print(f"{entities[device.parent_id].full_name = } | {entities[device.parent_id] = }\n") asyncio.run(main()) %prep %autosetup -n surepy-0.8.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-surepy -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.8.0-1 - Package Spec generated