Skip to main content

Everything you need to query Apple's Find My network!

Project description

FindMy.py

The all-in-one library that provides everything you need to query Apple's FindMy network!

The current "Find My-scene" is quite fragmented, with code being all over the place across multiple repositories, written by several authors. This project aims to unify this scene, providing common building blocks for any application wishing to integrate with the Find My network.

Features

  • Works without any Apple devices
  • Apple Account log-in
  • SMS 2FA support
  • Fetch location reports
  • Generate and import accessory keys
  • Both async and sync API
  • Modular with a high degree of manual control

Roadmap

  • Trusted device 2FA
    • Work has been done, but needs testing (I don't own any Apple devices)
  • Local anisette generation (without server)
    • Can be done using pyprovision, however I want to wait until Python wheels are available.

Installation

The package can be installed from PyPi:

pip install findmy

For usage examples, see the examples directory. Documentation coming soon™.

Contributing

Want to contribute code? That's great! For new features, please open an issue first so we can discuss.

This project uses Ruff for linting and formatting. Before opening a pull request, please ensure that your code adheres to these rules. There are pre-commit hooks included to help you with this, which you can set up as follows:

pip install poetry ruff
poetry install  # this installs pre-commit into your environment
pre-commit install

After following the above steps, your code will be linted and formatted automatically before committing it.

Credits

While I designed the library, the vast majority of actual functionality is made possible by the following wonderful people and organizations:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

findmy-0.2.1.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

findmy-0.2.1-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file findmy-0.2.1.tar.gz.

File metadata

  • Download URL: findmy-0.2.1.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Linux/6.2.0-1018-azure

File hashes

Hashes for findmy-0.2.1.tar.gz
Algorithm Hash digest
SHA256 96d133146d563f09e99bbbca012cbe5f3417de67e555195759ef84c10deb8ceb
MD5 bcdc68266a891f375a1a0d54a879da84
BLAKE2b-256 002b912debd39b4ad8bc96651105fb76abfb1e76a875bc51b454a165694408be

See more details on using hashes here.

File details

Details for the file findmy-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: findmy-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Linux/6.2.0-1018-azure

File hashes

Hashes for findmy-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fefa12960da00c8c53c97191cc1890a64be7b53c2fb7b368c02cf18ac9541182
MD5 d909177b8925a10ea307172458601098
BLAKE2b-256 a72c094cf4b6aa513e9b5f98d8de43dadab744d7480fd34e5bbc52606c5b421f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page