vivintpy
Python library for interacting with a Vivint security and smart home system.
This was built to support the Vivint for Home Assistant integration but should work outside of it too. Currently, it can be utilized via HACS and is available as a default integration.
Credit
This was inspired by the great work done by Mike Reibard to reverse engineer the Vivint Sky API and Ovidiu Stateina for the repository from which this is forked and expanded on.
Features
It currently has support for the following device types:
- alarm panels
- cameras
- door locks
- garage doors
- switches
- binary
- multilevel
- thermostats
- wireless sensors
- carbon monoxide
- door/window
- flood
- glass break
- motion
- smoke/fire
- etc
In addition, it integrates with PubNub to receive real-time updates for devices. This subscription stops receiving notifications around 15-20 minutes unless a call is made to the Vivint Sky API periodically. This might be related to the cookie expiration since it expires 20 minutes after the last API call was received. If another client connects, however, the notifications start to stream again for all currently connected clients.
Usage
See demo.py for a demonstration on how to use this library.
TODO:
- write a better readme
- write some documentation
- add advanced support for:
- thermostats
- add tests
❤️ Support Me
I maintain this python project in my spare time and provide it as-is, without guarantees. If you find it useful, consider supporting development:
- 💜 Sponsor me on GitHub
- ☕ Buy me a coffee / beer
- 💸 PayPal (direct support)
- ⭐ Star this project
- 📦 If you’d like to support in other ways, such as donating hardware for testing, feel free to reach out to me
If you don't already own a Vivint system, please consider using my referral code (35fr23sv) and get a free Doorbell Camera Pro from Vivint (as well as a tip to me in appreciation)! You can also call (855) 747-7199 and mention referral code 35fr23sv.
📈 Star History
Metadata
Release files for vivintpy 2026.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| vivintpy-2026.0.8.tar.gz | 124.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vivintpy-2026.0.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 248.8 kB
Release files / vivintpy-2026.0.8.tar.gz
| Download URL | vivintpy-2026.0.8.tar.gz |
|---|---|
| Size | 124.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1435f326fa81b1ed62825c08817111108aed7b65fe44088ef4f2703b0b5ca90d
|
|
BLAKE2b-256 checksum How to use checksums |
fbe39f713b9b3295c516d5afa9368567651ce5cdda7f63173065d61e44e85d19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vivintpy-2026.0.8-py3-none-any.whl
| Download URL | vivintpy-2026.0.8-py3-none-any.whl |
|---|---|
| Size | 124.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0b66f1f2f4e7fc84bf88898c1c1da8d1f8d0a4d65f339591680cdd4a8658552b
|
|
BLAKE2b-256 checksum How to use checksums |
5e7f087d1d1c7eed29fb6cd5b85a4c0aa13b2dce898ef03161fb92c959b2511e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for vivintpy 2026.0.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.