yalexs 8.11.0
pip install yalexs
Released:
Python API for Yale Access (formerly August) Smart Lock and Doorbell
Navigation
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License (MIT)
- Author: J. Nick Koston
- Requires: Python <4.0, >=3.9
Classifiers
- Development Status
- Intended Audience
- License
- Natural Language
- Operating System
- Programming Language
- Topic
Project description
yalexs

Python API for Yale Access (formerly August) Smart Lock and Doorbell. This is used in Home Assistant but should be generic enough that can be used elsewhere.
Yale Access formerly August
This library is a fork of Joe Lu's excellent august library from https://github.com/snjoetw/py-august
Classes
Authenticator
Authenticator is responsible for all authentication related logic, this includes authentication and verifying the account belongs to the user by sending a verification code to email or phone.
Constructor
Argument | Description |
---|---|
api | See Api class. |
login_method | Login method, either "phone" or "email". |
username | If you're login_method is phone, then this is your full phone# including "+" and country code; otherwise enter your email address here. |
password | Password. |
install_id* | ID that's generated when Yale Access app is installed. If not specified, Authenticator will auto-generate one. If an install_id is provisioned, then it's good to provide the provisioned install_id as you'll bypass verification process. |
access_token_cache_file* | Path to access_token cache file. If specified, access_token info will be cached in the file. Subsequent authentication will utilize information in the file to determine correct authentication state. |
* means optional
Methods
authenticate
Authenticates using specified login_method, username and password.
Outcome of this method is an Authentication object. Use Authentication.state figure out authentication state. User is authenticated only if Authentication.state = AuthenticationState.AUTHENTICATED.
If an authenticated access_token is already in the access_token_cache_file, this method will return cached authentication.
send_verification_code
Sends a 6-digits verification code to phone or email depending on login_method.
validate_verification_code
Validates verification code. This method returns ValidationResult. Check the value to see if verification code is valid or not.
Install
pip install yalexs
Usage
import asyncio
from aiohttp import ClientSession
from yalexs.api_async import ApiAsync
from yalexs.authenticator_async import AuthenticatorAsync
from yalexs.const import Brand
from yalexs.alarm import ArmState
async def main():
api = ApiAsync(ClientSession(), timeout=20, brand=Brand.YALE_HOME)
authenticator = AuthenticatorAsync(api, "email", "EMAIL_ADDRESS", "PASSWORD}",
access_token_cache_file="auth.txt",install_id="UUID")
await authenticator.async_setup_authentication()
authentication = await authenticator.async_authenticate()
access_token = authentication.access_token
# if(authentication.state == AuthenticationState.REQUIRES_VALIDATION) :
# await authenticator.async_send_verification_code()
# await authenticator.async_validate_verification_code("12345")
# DO STUFF HERE LIKE GET THE ALARMS, LOCS, ETC....
alarms = await api.async_get_alarms(access_token)
locks = api.get_locks(access_token)
# OR ARM YOUR ALARM
await api.async_arm_alarm(access_token, alarms[0], ArmState.Away)
asyncio.run(main())
Project details
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License (MIT)
- Author: J. Nick Koston
- Requires: Python <4.0, >=3.9
Classifiers
- Development Status
- Intended Audience
- License
- Natural Language
- Operating System
- Programming Language
- Topic
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 yalexs-8.11.0.tar.gz
.
File metadata
- Download URL: yalexs-8.11.0.tar.gz
- Upload date:
- Size: 41.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31dc54517a2fe300f80528453f3a22b43f69e31692a12ed8c148aeb41b0ce555 |
|
MD5 | dee97da869a29ed1624b7467d978aa08 |
|
BLAKE2b-256 | ba9f2052dfe9889e7aabce84e293abac191c00736ff6b45e556701207bf966f4 |
Provenance
The following attestation bundles were made for yalexs-8.11.0.tar.gz
:
Publisher:
ci.yml
on bdraco/yalexs
-
Statement:
- Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
yalexs-8.11.0.tar.gz
- Subject digest:
31dc54517a2fe300f80528453f3a22b43f69e31692a12ed8c148aeb41b0ce555
- Sigstore transparency entry: 163926364
- Sigstore integration time:
- Permalink:
bdraco/yalexs@338f92820b068fb2de99364f34f8cf946293ea3b
- Branch / Tag:
refs/heads/main
- Owner: https://github.com/bdraco
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
ci.yml@338f92820b068fb2de99364f34f8cf946293ea3b
- Trigger Event:
push
- Statement type:
File details
Details for the file yalexs-8.11.0-py3-none-any.whl
.
File metadata
- Download URL: yalexs-8.11.0-py3-none-any.whl
- Upload date:
- Size: 49.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a917b56d56095a3ba061a1816355689d6e948e974f2b7850c92fb5349e7b4ad |
|
MD5 | 3e767f1d57adfb9d5e87a43f1adf8237 |
|
BLAKE2b-256 | 00eecd0daf359cb4b0bb3bbff075716a1ad729ea9c3c9900d1db1a8bd26cf8e0 |
Provenance
The following attestation bundles were made for yalexs-8.11.0-py3-none-any.whl
:
Publisher:
ci.yml
on bdraco/yalexs
-
Statement:
- Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
yalexs-8.11.0-py3-none-any.whl
- Subject digest:
6a917b56d56095a3ba061a1816355689d6e948e974f2b7850c92fb5349e7b4ad
- Sigstore transparency entry: 163926365
- Sigstore integration time:
- Permalink:
bdraco/yalexs@338f92820b068fb2de99364f34f8cf946293ea3b
- Branch / Tag:
refs/heads/main
- Owner: https://github.com/bdraco
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
ci.yml@338f92820b068fb2de99364f34f8cf946293ea3b
- Trigger Event:
push
- Statement type: