A simple Python API for Tile® Bluetooth trackers
Project description
📡 pytile: A simple Python API for Tile® Bluetooth trackers
pytile
is a simple Python library for retrieving information on
Tile® Bluetooth trackers (including last
location and more).
This library is built on an unpublished, unofficial Tile API; it may alter or cease operation at any point.
PLEASE READ: Version 2.0.0 and Beyond
Version 2.0.0 of pytile
makes several breaking, but necessary changes:
- Moves the underlying library from Requests to aiohttp
- Changes the entire library to use
asyncio
- Makes 3.6 the minimum version of Python required
If you wish to continue using the previous, synchronous version of pytile
,
make sure to pin version 1.1.0.
Python Versions
pytile
is currently supported on:
- Python 3.5
- Python 3.6
- Python 3.7
However, running the test suite currently requires Python 3.6 or higher; tests run on Python 3.5 will fail.
Installation
pip install pytile
Usage
pytile
starts within an
aiohttp ClientSession
:
import asyncio
from aiohttp import ClientSession
from pytile import Client
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
# YOUR CODE HERE
asyncio.get_event_loop().run_until_complete(main())
Create a client, initialize it, and get to work:
import asyncio
from aiohttp import ClientSession
from pytile import Client
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
client = pytile.Client("<EMAIL>", "<PASSWORD>", websession)
await client.async_init()
# Get all Tiles associated with an account:
await client.tiles.all()
asyncio.get_event_loop().run_until_complete(main())
Contributing
- Check for open features/bugs or initiate a discussion on one.
- Fork the repository.
- Install the dev environment:
make init
. - Enter the virtual environment:
pipenv shell
- Code your new feature or bug fix.
- Write a test that covers your new functionality.
- Run tests and ensure 100% code coverage:
make coverage
- Add yourself to
AUTHORS.md
. - Submit a pull request!
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.