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
Release files for findmydevice 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| findmydevice-0.10.0.tar.gz | 5.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| findmydevice-0.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.8 kB
Release files / findmydevice-0.10.0.tar.gz
| Download URL | findmydevice-0.10.0.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aad82a3e86b11f54a84ecd8d0bc70b872b8fad9f3dc0acf3851243a5b76eb865
|
|
BLAKE2b-256 checksum How to use checksums |
0aa95e183617c89d17b5851a2da2689ba7d375ddc00b0516cffc95dffe258937
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.7
|
Release files / findmydevice-0.10.0-py3-none-any.whl
| Download URL | findmydevice-0.10.0-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c1fa5e7f85edf9aa2cb2b17a4fcf4095466ee4660551d30f10d122146ba60a5d
|
|
BLAKE2b-256 checksum How to use checksums |
0d7b98daf82ddb649985c271ab8b4cbdd14c346a1912c37d3c6ecb0571f39920
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.7
|