# pyschlage
Python 3 library for interacting with Schlage Encode WiFi locks.
*Note that this project has no official relationship with Schlage or Allegion. Use at your own risk.*
## Usage
```python
from pyschlage import Auth, Schlage
# Create a Schlage object and authenticate with your credentials.
s = Schlage(Auth("username", "password"))
# List the locks attached to your account.
locks = s.locks()
# Print the name of the first lock
print(locks[0].name)
"My lock"
# Lock the first lock.
lock[0].lock()
```
## Installation
### Pip
To install pyschlage, run this command in your terminal:
```sh
$ pip install pyschlage
```
### Source code
Pyschlage is actively developed on Github, where the code is [always available](https://github.com/dknowles2/pyschlage).
You can either clone the public repository:
```sh
$ git clone https://github.com/dknowles2/pyschlage
```
Or download the latest [tarball](https://github.com/dknowles2/pyschlage/tarball/main):
```sh
$ curl -OL https://github.com/dknowles2/pyschlage/tarball/main
```
Once you have a copy of the source, you can embed it in your own Python package, or install it into your site-packages easily:
```sh
$ cd pyschlage
$ python -m pip install .
```
## Documentation
API reference can be found on [Read the Docs](https://pyschlage.readthedocs.io)
Raw data
{
"_id": null,
"home_page": null,
"name": "pyschlage",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "schlage, api, iot",
"author": null,
"author_email": "David Knowles <dknowles2@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/1c/7f/b79aac056255bd3898f30ad608a571a7247a26afc9a24d5ba6c2ee5cb256/pyschlage-2025.7.2.tar.gz",
"platform": "any",
"description": "# pyschlage\nPython 3 library for interacting with Schlage Encode WiFi locks.\n\n*Note that this project has no official relationship with Schlage or Allegion. Use at your own risk.*\n\n## Usage\n\n```python\nfrom pyschlage import Auth, Schlage\n\n# Create a Schlage object and authenticate with your credentials.\ns = Schlage(Auth(\"username\", \"password\"))\n\n# List the locks attached to your account.\nlocks = s.locks()\n\n# Print the name of the first lock\nprint(locks[0].name)\n\"My lock\"\n\n# Lock the first lock.\nlock[0].lock()\n```\n\n## Installation\n\n### Pip\n\nTo install pyschlage, run this command in your terminal:\n\n```sh\n$ pip install pyschlage\n```\n\n### Source code\n\nPyschlage is actively developed on Github, where the code is [always available](https://github.com/dknowles2/pyschlage).\n\nYou can either clone the public repository:\n\n```sh\n$ git clone https://github.com/dknowles2/pyschlage\n```\n\nOr download the latest [tarball](https://github.com/dknowles2/pyschlage/tarball/main):\n\n```sh\n$ curl -OL https://github.com/dknowles2/pyschlage/tarball/main\n```\n\nOnce you have a copy of the source, you can embed it in your own Python package, or install it into your site-packages easily:\n\n```sh\n$ cd pyschlage\n$ python -m pip install .\n```\n\n## Documentation\n\nAPI reference can be found on [Read the Docs](https://pyschlage.readthedocs.io)\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Python API for interacting with Schlage WiFi locks.",
"version": "2025.7.2",
"project_urls": {
"Bug Reports": "https://github.com/dknowles2/pyschlage/issues",
"Documentation": "https://pyschlage.readthedocs.io",
"Homepage": "https://github.com/dknowles2/pyschlage",
"Source Code": "https://github.com/dknowles2/pyschlage"
},
"split_keywords": [
"schlage",
" api",
" iot"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1110910fd3fdc5cc3bc83edbc47f409b7190152c0476f23f96ffd4c4ff7fe743",
"md5": "3732fd853a712cdd0acb923368d80720",
"sha256": "eab6b8d855c214cdb4700b48e9308d16c6c510e9b6630003f73133507b6934c4"
},
"downloads": -1,
"filename": "pyschlage-2025.7.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3732fd853a712cdd0acb923368d80720",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 21227,
"upload_time": "2025-07-20T22:06:44",
"upload_time_iso_8601": "2025-07-20T22:06:44.279293Z",
"url": "https://files.pythonhosted.org/packages/11/10/910fd3fdc5cc3bc83edbc47f409b7190152c0476f23f96ffd4c4ff7fe743/pyschlage-2025.7.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1c7fb79aac056255bd3898f30ad608a571a7247a26afc9a24d5ba6c2ee5cb256",
"md5": "adb7da7f62f33d391c7cae9f49534b18",
"sha256": "656dcd017712f6b225b1dd68a6067686a0c2eeb7fe493dc96b0d9adf4a1ee74b"
},
"downloads": -1,
"filename": "pyschlage-2025.7.2.tar.gz",
"has_sig": false,
"md5_digest": "adb7da7f62f33d391c7cae9f49534b18",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 32212,
"upload_time": "2025-07-20T22:06:45",
"upload_time_iso_8601": "2025-07-20T22:06:45.458290Z",
"url": "https://files.pythonhosted.org/packages/1c/7f/b79aac056255bd3898f30ad608a571a7247a26afc9a24d5ba6c2ee5cb256/pyschlage-2025.7.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-20 22:06:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dknowles2",
"github_project": "pyschlage",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pycognito",
"specs": [
[
"==",
"2024.5.1"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.4"
]
]
}
],
"lcname": "pyschlage"
}