summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 08:32:22 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 08:32:22 +0000
commit033a1fdb11d3d40904701ee8dd5cb49dda7bc37c (patch)
tree986dfd12574f89e43539267e084b8cce1f8facd2
parent24ba36c3169a810371e736d578dbc4e81261cf8b (diff)
automatic import of python-aiotractiveopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-aiotractive.spec410
-rw-r--r--sources1
3 files changed, 412 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c1ad982 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/aiotractive-0.5.5.tar.gz
diff --git a/python-aiotractive.spec b/python-aiotractive.spec
new file mode 100644
index 0000000..06330aa
--- /dev/null
+++ b/python-aiotractive.spec
@@ -0,0 +1,410 @@
+%global _empty_manifest_terminate_build 0
+Name: python-aiotractive
+Version: 0.5.5
+Release: 1
+Summary: Asynchronous Python client for the Tractive REST API
+License: The MIT License
+URL: https://github.com/zhulik/aiotractive
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/07/ba/906190535f72d9dc1a31e34c1816c04ea7f92814a4e3535b1ed504fb93dc/aiotractive-0.5.5.tar.gz
+BuildArch: noarch
+
+Requires: python3-aiohttp
+Requires: python3-yarl
+
+%description
+## aiotractive
+
+![Continuous Integration](https://github.com/zhulik/aiotractive/workflows/Continuous%20Integration/badge.svg?branch=main)
+
+**Unofficial** Asynchronous Python client for the [Tractive](https://tractive.com) REST API.
+
+**This project and it's author are not affilated with Tractive GmbH**
+
+This project is a result of reverse engineering of the Tractive web app.
+
+Inspired by [home_assistant_tractive](https://github.com/Danielhiversen/home_assistant_tractive).
+
+Initially some code was borrowed from home_assistant_tractive, but in the end all of it was replaced with my own implementations.
+
+The package is in active development. **Not all features available in the Tractive web app are implemented.**
+
+Important notes:
+
+- In order to use Tractive devices and their service you need to have an active subscription.
+- Tractive may change their API at any point of time and this project will be broken. Please, report any issues.
+
+## Installation
+
+`pip install aiotractive`
+
+## Usage
+
+```python
+import asyncio
+
+from aiotractive import Tractive
+
+async def main():
+ async with Tractive("email", "password") as client:
+ # interact with the client here
+ pass
+
+if __name__ == "__main__":
+ asyncio.run(main())
+```
+
+
+### Tractive
+
+Tractive is the entrypoint class, it acts as an async context manager and provides access to API endpoints.
+
+#### Authentication
+
+```python
+client.authenticate()
+
+# {'user_id': 'user_id', 'client_id': 'client_id', 'expires_at': 1626821491, 'access_token': 'long access token'}
+```
+
+#### Trackers
+
+```python
+trackers = await client.trackers()
+tracker = trackers[0]
+
+# Or
+
+tracker = client.tracker("TRACKER_ID")
+
+# Retrieve details
+await trackers.details() # Includes device capabilities, battery status(not level), charging state and so on
+
+await tracker.hw_info() # Includes battery level, firmware version, model and so on
+
+# Retrieve current location
+await tracker.pos_report() # Includes coordinates, latitude, speed and so on
+# Retrieve hardware info
+
+# Control the buzzer
+await set_buzzer_active(True) # or False
+
+# Control the LED
+await set_led_active(True) # or False
+
+# Control the live tracking
+await set_live_tracking_active(True) # or False
+```
+
+#### Trackable objects (usually pets)
+```python
+objects = await client.trackable_objects()
+
+object = objects[0]
+
+# Retrieve details
+await object.details() # Includes pet's name, pet's tracker id and so on
+```
+
+#### Events
+
+```python
+async for event in client.events():
+ pp(event)
+
+```
+
+After connecting you will immediately receive one `tracker_status` event per owned tracker.
+The first event always includes full current status of the tracker including current position, battery level, states of the buzzer,
+the LED and the live tracking.
+
+All following events will have the same name, but only include one of these: either a position, battery info, or a buzzer/LED/live
+status.
+
+## Contribution
+You know;)
+
+
+
+
+%package -n python3-aiotractive
+Summary: Asynchronous Python client for the Tractive REST API
+Provides: python-aiotractive
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-aiotractive
+## aiotractive
+
+![Continuous Integration](https://github.com/zhulik/aiotractive/workflows/Continuous%20Integration/badge.svg?branch=main)
+
+**Unofficial** Asynchronous Python client for the [Tractive](https://tractive.com) REST API.
+
+**This project and it's author are not affilated with Tractive GmbH**
+
+This project is a result of reverse engineering of the Tractive web app.
+
+Inspired by [home_assistant_tractive](https://github.com/Danielhiversen/home_assistant_tractive).
+
+Initially some code was borrowed from home_assistant_tractive, but in the end all of it was replaced with my own implementations.
+
+The package is in active development. **Not all features available in the Tractive web app are implemented.**
+
+Important notes:
+
+- In order to use Tractive devices and their service you need to have an active subscription.
+- Tractive may change their API at any point of time and this project will be broken. Please, report any issues.
+
+## Installation
+
+`pip install aiotractive`
+
+## Usage
+
+```python
+import asyncio
+
+from aiotractive import Tractive
+
+async def main():
+ async with Tractive("email", "password") as client:
+ # interact with the client here
+ pass
+
+if __name__ == "__main__":
+ asyncio.run(main())
+```
+
+
+### Tractive
+
+Tractive is the entrypoint class, it acts as an async context manager and provides access to API endpoints.
+
+#### Authentication
+
+```python
+client.authenticate()
+
+# {'user_id': 'user_id', 'client_id': 'client_id', 'expires_at': 1626821491, 'access_token': 'long access token'}
+```
+
+#### Trackers
+
+```python
+trackers = await client.trackers()
+tracker = trackers[0]
+
+# Or
+
+tracker = client.tracker("TRACKER_ID")
+
+# Retrieve details
+await trackers.details() # Includes device capabilities, battery status(not level), charging state and so on
+
+await tracker.hw_info() # Includes battery level, firmware version, model and so on
+
+# Retrieve current location
+await tracker.pos_report() # Includes coordinates, latitude, speed and so on
+# Retrieve hardware info
+
+# Control the buzzer
+await set_buzzer_active(True) # or False
+
+# Control the LED
+await set_led_active(True) # or False
+
+# Control the live tracking
+await set_live_tracking_active(True) # or False
+```
+
+#### Trackable objects (usually pets)
+```python
+objects = await client.trackable_objects()
+
+object = objects[0]
+
+# Retrieve details
+await object.details() # Includes pet's name, pet's tracker id and so on
+```
+
+#### Events
+
+```python
+async for event in client.events():
+ pp(event)
+
+```
+
+After connecting you will immediately receive one `tracker_status` event per owned tracker.
+The first event always includes full current status of the tracker including current position, battery level, states of the buzzer,
+the LED and the live tracking.
+
+All following events will have the same name, but only include one of these: either a position, battery info, or a buzzer/LED/live
+status.
+
+## Contribution
+You know;)
+
+
+
+
+%package help
+Summary: Development documents and examples for aiotractive
+Provides: python3-aiotractive-doc
+%description help
+## aiotractive
+
+![Continuous Integration](https://github.com/zhulik/aiotractive/workflows/Continuous%20Integration/badge.svg?branch=main)
+
+**Unofficial** Asynchronous Python client for the [Tractive](https://tractive.com) REST API.
+
+**This project and it's author are not affilated with Tractive GmbH**
+
+This project is a result of reverse engineering of the Tractive web app.
+
+Inspired by [home_assistant_tractive](https://github.com/Danielhiversen/home_assistant_tractive).
+
+Initially some code was borrowed from home_assistant_tractive, but in the end all of it was replaced with my own implementations.
+
+The package is in active development. **Not all features available in the Tractive web app are implemented.**
+
+Important notes:
+
+- In order to use Tractive devices and their service you need to have an active subscription.
+- Tractive may change their API at any point of time and this project will be broken. Please, report any issues.
+
+## Installation
+
+`pip install aiotractive`
+
+## Usage
+
+```python
+import asyncio
+
+from aiotractive import Tractive
+
+async def main():
+ async with Tractive("email", "password") as client:
+ # interact with the client here
+ pass
+
+if __name__ == "__main__":
+ asyncio.run(main())
+```
+
+
+### Tractive
+
+Tractive is the entrypoint class, it acts as an async context manager and provides access to API endpoints.
+
+#### Authentication
+
+```python
+client.authenticate()
+
+# {'user_id': 'user_id', 'client_id': 'client_id', 'expires_at': 1626821491, 'access_token': 'long access token'}
+```
+
+#### Trackers
+
+```python
+trackers = await client.trackers()
+tracker = trackers[0]
+
+# Or
+
+tracker = client.tracker("TRACKER_ID")
+
+# Retrieve details
+await trackers.details() # Includes device capabilities, battery status(not level), charging state and so on
+
+await tracker.hw_info() # Includes battery level, firmware version, model and so on
+
+# Retrieve current location
+await tracker.pos_report() # Includes coordinates, latitude, speed and so on
+# Retrieve hardware info
+
+# Control the buzzer
+await set_buzzer_active(True) # or False
+
+# Control the LED
+await set_led_active(True) # or False
+
+# Control the live tracking
+await set_live_tracking_active(True) # or False
+```
+
+#### Trackable objects (usually pets)
+```python
+objects = await client.trackable_objects()
+
+object = objects[0]
+
+# Retrieve details
+await object.details() # Includes pet's name, pet's tracker id and so on
+```
+
+#### Events
+
+```python
+async for event in client.events():
+ pp(event)
+
+```
+
+After connecting you will immediately receive one `tracker_status` event per owned tracker.
+The first event always includes full current status of the tracker including current position, battery level, states of the buzzer,
+the LED and the live tracking.
+
+All following events will have the same name, but only include one of these: either a position, battery info, or a buzzer/LED/live
+status.
+
+## Contribution
+You know;)
+
+
+
+
+%prep
+%autosetup -n aiotractive-0.5.5
+
+%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-aiotractive -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.5-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..24b5f09
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e5e572c3b60046f81865f91cff78d402 aiotractive-0.5.5.tar.gz