Skip to main content

Everything you need to work with 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.

[!IMPORTANT] This project is currently in Alpha. While existing functionality will likely not change much, the API design is subject to change without prior warning.

You are encouraged to report any issues you can find on the issue tracker!

Features

  • Cross-platform: no Mac needed
  • Fetch and decrypt location reports
    • Official accessories (AirTags, iDevices, etc.)
    • Custom AirTags (OpenHaystack)
  • Apple account sign-in
    • SMS 2FA support
    • Trusted Device 2FA support
  • Scan for nearby FindMy-devices
    • Decode their info, such as public keys and status bytes
  • Import or create your own accessory keys
  • Both async and sync APIs

Roadmap

  • Local anisette generation (without server)
    • More information: #2

Installation

The package can be installed from PyPi:

pip install findmy

For usage examples, see the examples directory. Documentation can be found here.

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
poetry install --with dev  # 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.

Derivative projects

There are several other cool projects based on this library! Some of them have been listed below, make sure to check them out as well.

  • OfflineFindRecovery - Set of scripts to be able to precisely locate your lost MacBook via Apple's Offline Find through Bluetooth Low Energy.
  • SwiftFindMy - Swift port of FindMy.py

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.7.5.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

findmy-0.7.5-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: findmy-0.7.5.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Linux/6.5.0-1025-azure

File hashes

Hashes for findmy-0.7.5.tar.gz
Algorithm Hash digest
SHA256 85177626cc45aa5481c60258794efbfddec2d519e98b0969b2760a5f97adadbb
MD5 1c3744fad8e1e0c58ba9cf081483f758
BLAKE2b-256 7b6898ce73aa6c39d841d091f324c0ea9ffaeb9fb7fb87321fe4f88d9b220a11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: findmy-0.7.5-py3-none-any.whl
  • Upload date:
  • Size: 32.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Linux/6.5.0-1025-azure

File hashes

Hashes for findmy-0.7.5-py3-none-any.whl
Algorithm Hash digest
SHA256 451f8f40d0ea4f3d10553a7ae39a2214d0bd0b6856562976e3518b3ac5d4011e
MD5 39ad46e2729b3065f14bd08d2fcdf19d
BLAKE2b-256 5b7850390ff6e3a9182675dd43a51e411b9d4b68f3ae876b93e06a763b0a5259

See more details on using hashes here.

Supported by

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