A Python package for interacting with the findmydevice API.
Project description
Unofficial FindMyDeviceServer Python Client
This is an unofficial Python package that allows you to interact with the FindMyDeviceServer API. FindMyDeviceServer is a server designed to communicate with the FMD Android app, helping you locate and control your devices.
It's main use is currently a reimplementation of the crypto and authentication involved when communicating with the api.
✨ Features and working commands
- Authenticate to the FindMyDeviceServer API.
- Send a "ring" to the server
📦 Installation
pip install findmydevice
🚀 Quick start
In this example, we create a reactor based on the data from this URL https://api.balkongas.de/metrics/6f1d3382-6b95-4adc-9d6f-6785ae0456f3/json/latest/
from findmydevice import FMDClient
import logging
logging.basicConfig(level=logging.DEBUG)
client = FMDClient('http://xyz.de', 'fmd_id', 'fmd_password')
client.authenticate()
client.ring()
🚀 Development
1️⃣ Setup a Local Development Environment
- Clone the repository
git clone https://github.com/kinkerl/findmydevice_python.git cd findmydevice_python
- Create a virtual environment
python -m venv .venv
- Activate the virtual environment
- macOS/Linux:
source .venv/bin/activate
- Windows (CMD):
.venv\Scripts\activate
- Windows (PowerShell):
.venv\Scripts\Activate.ps1
- macOS/Linux:
- Install dependencies
pip install -e .[dev]
2️⃣ Running Tests
To run tests using pytest
, use:
pytest
3️⃣ Building the Package
To build the package, run:
python -m build
This will generate a dist/
directory with .tar.gz
and .whl
files.
4️⃣ Uploading to PyPI
- Ensure you have Twine installed
pip install twine
- Upload the package
twine upload dist/*
- Verify installation from PyPI
pip install findmydevice
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file findmydevice-0.10.0.tar.gz
.
File metadata
- Download URL: findmydevice-0.10.0.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
aad82a3e86b11f54a84ecd8d0bc70b872b8fad9f3dc0acf3851243a5b76eb865
|
|
MD5 |
c8059bc3a3dca56fd4871b984df8df16
|
|
BLAKE2b-256 |
0aa95e183617c89d17b5851a2da2689ba7d375ddc00b0516cffc95dffe258937
|
File details
Details for the file findmydevice-0.10.0-py3-none-any.whl
.
File metadata
- Download URL: findmydevice-0.10.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
c1fa5e7f85edf9aa2cb2b17a4fcf4095466ee4660551d30f10d122146ba60a5d
|
|
MD5 |
565272378ac72ca8149d4da2857032e4
|
|
BLAKE2b-256 |
0d7b98daf82ddb649985c271ab8b4cbdd14c346a1912c37d3c6ecb0571f39920
|