# 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/19/09/837c16ced39dedc888047e40206319ae2aeb14eff3c94a0a4fb9f346d3a9/pyschlage-2025.9.0.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.9.0",
"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": "f990f0a4e9618a11da6e8f2f854fd6984d18bf1e4cfde8edd132f6be4fe4c498",
"md5": "dfcc70484e8344a66b1bbb16dbd2aa71",
"sha256": "32b71b415d0a73d819598e4fc2d429ffad7e50aa0c8d25353af93340758a0e67"
},
"downloads": -1,
"filename": "pyschlage-2025.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dfcc70484e8344a66b1bbb16dbd2aa71",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 21220,
"upload_time": "2025-09-04T23:46:31",
"upload_time_iso_8601": "2025-09-04T23:46:31.955073Z",
"url": "https://files.pythonhosted.org/packages/f9/90/f0a4e9618a11da6e8f2f854fd6984d18bf1e4cfde8edd132f6be4fe4c498/pyschlage-2025.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1909837c16ced39dedc888047e40206319ae2aeb14eff3c94a0a4fb9f346d3a9",
"md5": "a454b47ee887080645c0e95d400aaf80",
"sha256": "4fc03106e1bca43e7c4e3601938870e1646c508db529fb2714a68c171cb3331f"
},
"downloads": -1,
"filename": "pyschlage-2025.9.0.tar.gz",
"has_sig": false,
"md5_digest": "a454b47ee887080645c0e95d400aaf80",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 32240,
"upload_time": "2025-09-04T23:46:33",
"upload_time_iso_8601": "2025-09-04T23:46:33.140562Z",
"url": "https://files.pythonhosted.org/packages/19/09/837c16ced39dedc888047e40206319ae2aeb14eff3c94a0a4fb9f346d3a9/pyschlage-2025.9.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-04 23:46:33",
"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.5"
]
]
}
],
"lcname": "pyschlage"
}