python-terminusgps 25.1.0__tar.gz → 26.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of python-terminusgps might be problematic. Click here for more details.
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/PKG-INFO +1 -1
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/pyproject.toml +1 -1
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/twilio/validators.py +6 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/items/base.py +30 -38
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/items/unit.py +2 -2
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/session.py +4 -5
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/utils.py +30 -27
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/uv.lock +60 -60
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/.gitignore +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/COPYING +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/README.md +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/Makefile +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/coverage/c.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/coverage/python.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/coverage/undoc.pickle +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/authorizenet/auth.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/authorizenet/index.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/authorizenet/profiles.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/authorizenet/utils.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/aws/index.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/aws/secrets.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/environment.pickle +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/index.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/settings.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/twilio/caller.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/twilio/index.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/twilio/settings.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/constants.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/errors.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/examples.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/flags.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/index.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/items.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/session.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/settings.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/utils.doctree +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/index.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/authorizenet/auth.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/authorizenet/errors.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/addresses.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/base.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/customers.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/payments.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/authorizenet/utils.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/aws/secrets.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/twilio/caller.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/items/base.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/items/geofence.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/items/notification.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/items/resource.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/items/retranslator.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/items/route.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/items/unit.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/items/unit_group.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/items/user.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/session.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/terminusgps/wialon/utils.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_modules/wialon/api.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/authorizenet/auth.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/authorizenet/index.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/authorizenet/profiles.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/authorizenet/utils.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/aws/index.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/aws/secrets.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/index.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/settings.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/twilio/caller.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/twilio/index.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/twilio/settings.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/wialon/constants.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/wialon/errors.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/wialon/examples.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/wialon/flags.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/wialon/index.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/wialon/items.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/wialon/session.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/wialon/settings.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_sources/wialon/utils.rst.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/0fc70aa4dfe4d16d7073.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/583e3f428bf2362b546d.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/5be6ec379613f10aea3f.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/76c1862325ea6f70eeff.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/83710c128240451d95af.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/a63d39a1c104a2b3e87e.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/autoclasstoc.css +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/awesome-docsearch.css +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/awesome-docsearch.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/awesome-sphinx-design.css +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/awesome-sphinx-design.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/b659956119f91f2342bc.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/basic.css +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/bb50084be2b43ba7b98c.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/ce1e40901d7a0d88d483.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/badge_only.css +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/css/theme.css +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/d04352f240062b100fba.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/doctools.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/documentation_options.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/f1cdf5c21de970ee0592.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fd994e8d90d9cab651b0.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/file.png +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-bold.eot +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-bold.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-italic.eot +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-italic.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-regular.eot +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-regular.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/jquery.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/js/badge_only.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/js/theme.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/js/versions.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/language_data.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/minus.png +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/plus.png +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/pygments.css +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/searchtools.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/sphinx_highlight.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/theme.css +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/theme.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/_static/theme.js.LICENSE.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/authorizenet/auth.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/authorizenet/index.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/authorizenet/profiles.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/authorizenet/utils.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/aws/index.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/aws/secrets.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/genindex.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/index.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/objects.inv +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/py-modindex.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/search.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/searchindex.js +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/settings.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/twilio/caller.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/twilio/index.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/twilio/settings.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/wialon/constants.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/wialon/errors.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/wialon/examples.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/wialon/flags.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/wialon/index.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/wialon/items.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/wialon/session.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/wialon/settings.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/html/wialon/utils.html +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/linkcheck/output.json +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/linkcheck/output.txt +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/make.bat +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/authorizenet/auth.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/authorizenet/index.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/authorizenet/profiles.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/authorizenet/utils.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/aws/index.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/aws/secrets.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/conf.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/index.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/settings.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/twilio/caller.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/twilio/index.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/wialon/constants.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/wialon/errors.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/wialon/examples.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/wialon/flags.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/wialon/index.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/wialon/items.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/wialon/session.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/source/wialon/utils.rst +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/__init__.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/__init__.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/auth.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/errors.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/profiles/__init__.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/profiles/addresses.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/profiles/base.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/profiles/customers.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/profiles/payments.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/subscriptions/__init__.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/subscriptions/subscriptions.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/authorizenet/utils.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/aws/__init__.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/aws/secrets.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/aws/ses.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/settings.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/twilio/__init__.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/twilio/caller.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/__init__.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/constants.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/flags.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/items/__init__.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/items/resource.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/items/retranslator.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/items/route.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/items/unit_group.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/items/user.py +0 -0
- {python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/terminusgps/wialon/logger.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-terminusgps
|
|
3
|
-
Version:
|
|
3
|
+
Version: 26.0.0
|
|
4
4
|
Summary: Provides abstractions/utilities for working with Wialon API, Authorize.NET API, AWS API, and more.
|
|
5
5
|
Project-URL: Documentation, https://app.terminusgps.com/docs/apps/python-terminusgps/index.html
|
|
6
6
|
Project-URL: Repository, https://github.com/terminusgps/python-terminusgps
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "python-terminusgps"
|
|
3
|
-
version = "
|
|
3
|
+
version = "26.0.0"
|
|
4
4
|
description = "Provides abstractions/utilities for working with Wialon API, Authorize.NET API, AWS API, and more."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [ {name = "Blake Nall", email = "blake@terminusgps.com" } ]
|
|
@@ -11,6 +11,12 @@ def validate_phone_number(value: str) -> None:
|
|
|
11
11
|
code="invalid",
|
|
12
12
|
params={"value": value},
|
|
13
13
|
)
|
|
14
|
+
if not value[1:].isdigit():
|
|
15
|
+
raise ValidationError(
|
|
16
|
+
_("Phone number must be '+' followed by a digit, got '%(value)s'"),
|
|
17
|
+
code="invalid",
|
|
18
|
+
params={"value": value},
|
|
19
|
+
)
|
|
14
20
|
if len(value) < min_length:
|
|
15
21
|
raise ValidationError(
|
|
16
22
|
_("Phone number cannot be less than %(min)s characters, got %(len)s."),
|
|
@@ -128,78 +128,71 @@ class WialonBase:
|
|
|
128
128
|
}
|
|
129
129
|
)
|
|
130
130
|
|
|
131
|
-
def add_cfield(self,
|
|
131
|
+
def add_cfield(self, key: str, value: str) -> None:
|
|
132
132
|
"""
|
|
133
133
|
Adds a custom field to the Wialon object.
|
|
134
134
|
|
|
135
|
-
:param
|
|
136
|
-
:type
|
|
135
|
+
:param key: A key (name) for the custom field.
|
|
136
|
+
:type key: :py:obj:`str`
|
|
137
|
+
:param value: A value for the custom field.
|
|
138
|
+
:type value: :py:obj:`str`
|
|
137
139
|
:returns: Nothing.
|
|
138
140
|
:rtype: :py:obj:`None`
|
|
139
141
|
|
|
140
142
|
"""
|
|
141
143
|
|
|
142
144
|
self.session.wialon_api.item_update_custom_field(
|
|
143
|
-
**{
|
|
144
|
-
"itemId": self.id,
|
|
145
|
-
"id": 0,
|
|
146
|
-
"callMode": "create",
|
|
147
|
-
"n": field[0],
|
|
148
|
-
"v": field[1],
|
|
149
|
-
}
|
|
145
|
+
**{"itemId": self.id, "id": 0, "callMode": "create", "n": key, "v": value}
|
|
150
146
|
)
|
|
151
147
|
|
|
152
|
-
def update_cfield(self,
|
|
148
|
+
def update_cfield(self, id: int, key: str, value: str) -> None:
|
|
153
149
|
"""
|
|
154
150
|
Updates a custom field by id.
|
|
155
151
|
|
|
156
|
-
:param
|
|
157
|
-
:type
|
|
158
|
-
:param field: A
|
|
159
|
-
:type field: :py:obj:`
|
|
152
|
+
:param id: The admin field id.
|
|
153
|
+
:type id: :py:obj:`int`
|
|
154
|
+
:param field: A key (name) for the custom field.
|
|
155
|
+
:type field: :py:obj:`str`
|
|
156
|
+
:param field: A value for the custom field.
|
|
157
|
+
:type field: :py:obj:`str`
|
|
160
158
|
:returns: Nothing.
|
|
161
159
|
:rtype: :py:obj:`None`
|
|
162
160
|
|
|
163
161
|
"""
|
|
164
|
-
|
|
165
162
|
self.session.wialon_api.item_update_custom_field(
|
|
166
|
-
**{
|
|
167
|
-
"itemId": self.id,
|
|
168
|
-
"id": field_id,
|
|
169
|
-
"callMode": "update",
|
|
170
|
-
"n": field[0],
|
|
171
|
-
"v": field[1],
|
|
172
|
-
}
|
|
163
|
+
**{"itemId": self.id, "id": id, "callMode": "update", "n": key, "v": value}
|
|
173
164
|
)
|
|
174
165
|
|
|
175
|
-
def add_cproperty(self,
|
|
166
|
+
def add_cproperty(self, key: str, value: str) -> None:
|
|
176
167
|
"""
|
|
177
168
|
Adds a custom property to the Wialon object.
|
|
178
169
|
|
|
179
|
-
:param
|
|
180
|
-
:type
|
|
170
|
+
:param key: A key (name) for the custom property.
|
|
171
|
+
:type key: :py:obj:`str`
|
|
172
|
+
:param value: A value for the custom property.
|
|
173
|
+
:type value: :py:obj:`str`
|
|
181
174
|
:returns: Nothing.
|
|
182
175
|
:rtype: :py:obj:`None`
|
|
183
176
|
|
|
184
177
|
"""
|
|
185
|
-
|
|
186
178
|
self.session.wialon_api.item_update_custom_property(
|
|
187
|
-
**{"itemId": self.id, "name":
|
|
179
|
+
**{"itemId": self.id, "name": key, "value": value}
|
|
188
180
|
)
|
|
189
181
|
|
|
190
|
-
def add_profile_field(self,
|
|
182
|
+
def add_profile_field(self, key: str, value: str) -> None:
|
|
191
183
|
"""
|
|
192
184
|
Adds a profile field to the Wialon object.
|
|
193
185
|
|
|
194
|
-
:param
|
|
195
|
-
:type
|
|
186
|
+
:param key: A key (name) for the profile field.
|
|
187
|
+
:type key: :py:obj:`str`
|
|
188
|
+
:param value: A value for the profile field.
|
|
189
|
+
:type value: :py:obj:`str`
|
|
196
190
|
:returns: Nothing.
|
|
197
191
|
:rtype: :py:obj:`None`
|
|
198
192
|
|
|
199
193
|
"""
|
|
200
|
-
|
|
201
194
|
self.session.wialon_api.item_update_profile_field(
|
|
202
|
-
**{"itemId": self.id, "n":
|
|
195
|
+
**{"itemId": self.id, "n": key, "v": value}
|
|
203
196
|
)
|
|
204
197
|
|
|
205
198
|
def delete(self) -> None:
|
|
@@ -211,12 +204,11 @@ class WialonBase:
|
|
|
211
204
|
:rtype: :py:obj:`None`
|
|
212
205
|
|
|
213
206
|
"""
|
|
214
|
-
|
|
215
207
|
self.session.wialon_api.item_delete_item(**{"itemId": self.id})
|
|
216
208
|
|
|
217
209
|
@property
|
|
218
|
-
def cfields(self) -> dict:
|
|
219
|
-
"""Custom fields
|
|
210
|
+
def cfields(self) -> dict[str, str]:
|
|
211
|
+
"""Custom fields for the Wialon object."""
|
|
220
212
|
response = self.session.wialon_api.core_search_item(
|
|
221
213
|
**{"id": self.id, "flags": flags.DATAFLAG_UNIT_CUSTOM_FIELDS}
|
|
222
214
|
)
|
|
@@ -224,8 +216,8 @@ class WialonBase:
|
|
|
224
216
|
return {field["n"]: field["v"] for field in fields.values()} if fields else {}
|
|
225
217
|
|
|
226
218
|
@property
|
|
227
|
-
def afields(self) -> dict:
|
|
228
|
-
"""Admin fields
|
|
219
|
+
def afields(self) -> dict[str, str]:
|
|
220
|
+
"""Admin fields for the Wialon object."""
|
|
229
221
|
response = self.session.wialon_api.core_search_item(
|
|
230
222
|
**{"id": self.id, "flags": flags.DATAFLAG_UNIT_ADMIN_FIELDS}
|
|
231
223
|
)
|
|
@@ -48,7 +48,7 @@ class WialonUnit(WialonBase):
|
|
|
48
48
|
),
|
|
49
49
|
}
|
|
50
50
|
)
|
|
51
|
-
if response
|
|
51
|
+
if response:
|
|
52
52
|
item = response.get("item", {})
|
|
53
53
|
self._imei_number = item.get("uid")
|
|
54
54
|
self._active = item.get("act", False)
|
|
@@ -194,7 +194,7 @@ class WialonUnit(WialonBase):
|
|
|
194
194
|
"""
|
|
195
195
|
Retrieves all phone numbers assigned to the unit.
|
|
196
196
|
|
|
197
|
-
This includes any attached drivers, custom/admin fields
|
|
197
|
+
This includes any attached drivers, custom/admin fields or otherwise assigned phone numbers.
|
|
198
198
|
|
|
199
199
|
:raises WialonError: If something goes wrong with Wialon.
|
|
200
200
|
:returns: A list of phone numbers.
|
|
@@ -3,10 +3,9 @@ import datetime
|
|
|
3
3
|
import logging
|
|
4
4
|
import typing
|
|
5
5
|
|
|
6
|
+
import wialon.api
|
|
6
7
|
from django.conf import settings
|
|
7
8
|
from django.utils import timezone
|
|
8
|
-
from wialon.api import Wialon as WialonBase
|
|
9
|
-
from wialon.api import WialonError
|
|
10
9
|
|
|
11
10
|
from terminusgps.wialon.logger import WialonLogger
|
|
12
11
|
|
|
@@ -21,7 +20,7 @@ class WialonAPICall:
|
|
|
21
20
|
error: Exception | None = None
|
|
22
21
|
|
|
23
22
|
|
|
24
|
-
class Wialon(
|
|
23
|
+
class Wialon(wialon.api.Wialon):
|
|
25
24
|
def __init__(self, log_level: int = logging.INFO, *args, **kwargs) -> None:
|
|
26
25
|
super().__init__(*args, **kwargs)
|
|
27
26
|
self.call_history: list[WialonAPICall] = []
|
|
@@ -48,7 +47,7 @@ class Wialon(WialonBase):
|
|
|
48
47
|
call_record.result = result
|
|
49
48
|
self.logger.debug(f"Executed '{action_name}' successfully.")
|
|
50
49
|
return result
|
|
51
|
-
except WialonError as e:
|
|
50
|
+
except wialon.api.WialonError as e:
|
|
52
51
|
call_record.error = e
|
|
53
52
|
self.logger.warning(f"Failed to execute '{action_name}': '{e}'")
|
|
54
53
|
return
|
|
@@ -275,7 +274,7 @@ class WialonSession:
|
|
|
275
274
|
self._set_login_response(response)
|
|
276
275
|
self.logger.debug(f"Logged into Wialon API session '{response.get('eid')}'")
|
|
277
276
|
return response.get("eid")
|
|
278
|
-
except (WialonError, AssertionError) as e:
|
|
277
|
+
except (wialon.api.WialonError, AssertionError) as e:
|
|
279
278
|
self.logger.critical(f"Failed to login to Wialon API: '{e}'")
|
|
280
279
|
raise
|
|
281
280
|
|
|
@@ -49,7 +49,7 @@ def get_id_from_imei(imei: str, session: WialonSession) -> str | None:
|
|
|
49
49
|
if not imei.isdigit():
|
|
50
50
|
raise ValueError(f"'imei' must be a digit, got '{imei}'.")
|
|
51
51
|
|
|
52
|
-
results = session.wialon_api.core_search_items(
|
|
52
|
+
results: dict[str, typing.Any] | None = session.wialon_api.core_search_items(
|
|
53
53
|
**{
|
|
54
54
|
"spec": {
|
|
55
55
|
"itemsType": "avl_unit",
|
|
@@ -66,7 +66,7 @@ def get_id_from_imei(imei: str, session: WialonSession) -> str | None:
|
|
|
66
66
|
}
|
|
67
67
|
)
|
|
68
68
|
|
|
69
|
-
if results.get("totalItemsCount", 0) == 1:
|
|
69
|
+
if results and results.get("totalItemsCount", 0) == 1:
|
|
70
70
|
return results["items"][0].get("id")
|
|
71
71
|
|
|
72
72
|
|
|
@@ -88,27 +88,25 @@ def get_id_from_iccid(iccid: str, session: WialonSession) -> str | None:
|
|
|
88
88
|
return get_id_from_imei(imei=iccid, session=session)
|
|
89
89
|
|
|
90
90
|
|
|
91
|
-
def get_wialon_cls(items_type: str) -> typing.Type[WialonBase]:
|
|
91
|
+
def get_wialon_cls(items_type: str) -> typing.Type[WialonBase] | None:
|
|
92
92
|
"""
|
|
93
|
-
Returns a Wialon object class based on items_type
|
|
93
|
+
Returns a Wialon object class based on ``items_type``.
|
|
94
|
+
|
|
95
|
+
Valid ``items_type`` are ``"user"``, ``"avl_unit"``, ``"avl_unit_group"`` and ``"avl_resource"``.
|
|
94
96
|
|
|
95
97
|
:param items_type: A Wialon object type.
|
|
96
98
|
:type items_type: :py:obj:`str`
|
|
97
99
|
:returns: A subclass of :py:obj:`~terminusgps.wialon.items.base.WialonBase`.
|
|
98
|
-
:rtype: :py:obj:`~terminusgps.wialon.items.base.WialonBase`
|
|
100
|
+
:rtype: :py:obj:`~terminusgps.wialon.items.base.WialonBase` | :py:obj:`None`
|
|
99
101
|
|
|
100
102
|
"""
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
case "avl_resource":
|
|
109
|
-
return items.WialonResource
|
|
110
|
-
case _:
|
|
111
|
-
raise ValueError(f"Invalid items_type, got '{items_type}'.")
|
|
103
|
+
items_map: dict[str, typing.Type[WialonBase]] = {
|
|
104
|
+
"user": items.WialonUser,
|
|
105
|
+
"avl_unit": items.WialonUnit,
|
|
106
|
+
"avl_unit_group": items.WialonUnitGroup,
|
|
107
|
+
"avl_resource": items.WialonResource,
|
|
108
|
+
}
|
|
109
|
+
return items_map.get(items_type)
|
|
112
110
|
|
|
113
111
|
|
|
114
112
|
def get_vin_info(vin_number: str, session: WialonSession) -> dict:
|
|
@@ -123,15 +121,18 @@ def get_vin_info(vin_number: str, session: WialonSession) -> dict:
|
|
|
123
121
|
:rtype: :py:obj:`dict`
|
|
124
122
|
|
|
125
123
|
"""
|
|
126
|
-
response = session.wialon_api.unit_get_vin_info(
|
|
127
|
-
"
|
|
128
|
-
)
|
|
129
|
-
return (
|
|
130
|
-
{field.get("n"): field.get("v") for field in response.get("pflds")}
|
|
131
|
-
if "error" not in response.keys()
|
|
132
|
-
else {}
|
|
124
|
+
response: dict[str, typing.Any] | None = session.wialon_api.unit_get_vin_info(
|
|
125
|
+
**{"vin": vin_number}
|
|
133
126
|
)
|
|
134
127
|
|
|
128
|
+
if response is None or "error" in response.get("vin_lookup_result", {}).keys():
|
|
129
|
+
return {}
|
|
130
|
+
|
|
131
|
+
return {
|
|
132
|
+
field.get("n"): field.get("v")
|
|
133
|
+
for field in response.get("vin_lookup_result", {}).get("pflds")
|
|
134
|
+
}
|
|
135
|
+
|
|
135
136
|
|
|
136
137
|
def is_unique(value: str, session: WialonSession, items_type: str = "avl_unit") -> bool:
|
|
137
138
|
"""
|
|
@@ -148,12 +149,14 @@ def is_unique(value: str, session: WialonSession, items_type: str = "avl_unit")
|
|
|
148
149
|
:rtype: :py:obj:`bool`
|
|
149
150
|
|
|
150
151
|
"""
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
**{"type": items_type, "value": value.strip()}
|
|
154
|
-
).get("result")
|
|
152
|
+
response = session.wialon_api.core_check_unique(
|
|
153
|
+
**{"type": items_type, "value": value.strip()}
|
|
155
154
|
)
|
|
156
155
|
|
|
156
|
+
if not response:
|
|
157
|
+
return False
|
|
158
|
+
return bool(response.get("result"))
|
|
159
|
+
|
|
157
160
|
|
|
158
161
|
def generate_wialon_password(length: int = 32) -> str:
|
|
159
162
|
"""
|
|
@@ -752,59 +752,59 @@ wheels = [
|
|
|
752
752
|
|
|
753
753
|
[[package]]
|
|
754
754
|
name = "propcache"
|
|
755
|
-
version = "0.3.
|
|
756
|
-
source = { registry = "https://pypi.org/simple" }
|
|
757
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
758
|
-
wheels = [
|
|
759
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
760
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
761
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
762
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
763
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
764
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
765
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
766
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
767
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
768
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
769
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
770
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
771
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
772
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
773
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
774
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
775
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
776
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
777
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
778
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
779
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
780
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
781
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
782
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
783
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
784
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
785
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
786
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
787
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
788
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
789
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
790
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
791
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
792
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
793
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
794
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
795
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
796
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
797
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
798
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
799
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
800
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
801
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
802
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
803
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
804
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
805
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
806
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
807
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
755
|
+
version = "0.3.1"
|
|
756
|
+
source = { registry = "https://pypi.org/simple" }
|
|
757
|
+
sdist = { url = "https://files.pythonhosted.org/packages/07/c8/fdc6686a986feae3541ea23dcaa661bd93972d3940460646c6bb96e21c40/propcache-0.3.1.tar.gz", hash = "sha256:40d980c33765359098837527e18eddefc9a24cea5b45e078a7f3bb5b032c6ecf", size = 43651 }
|
|
758
|
+
wheels = [
|
|
759
|
+
{ url = "https://files.pythonhosted.org/packages/41/aa/ca78d9be314d1e15ff517b992bebbed3bdfef5b8919e85bf4940e57b6137/propcache-0.3.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f78eb8422acc93d7b69964012ad7048764bb45a54ba7a39bb9e146c72ea29723", size = 80430 },
|
|
760
|
+
{ url = "https://files.pythonhosted.org/packages/1a/d8/f0c17c44d1cda0ad1979af2e593ea290defdde9eaeb89b08abbe02a5e8e1/propcache-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:89498dd49c2f9a026ee057965cdf8192e5ae070ce7d7a7bd4b66a8e257d0c976", size = 46637 },
|
|
761
|
+
{ url = "https://files.pythonhosted.org/packages/ae/bd/c1e37265910752e6e5e8a4c1605d0129e5b7933c3dc3cf1b9b48ed83b364/propcache-0.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:09400e98545c998d57d10035ff623266927cb784d13dd2b31fd33b8a5316b85b", size = 46123 },
|
|
762
|
+
{ url = "https://files.pythonhosted.org/packages/d4/b0/911eda0865f90c0c7e9f0415d40a5bf681204da5fd7ca089361a64c16b28/propcache-0.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8efd8c5adc5a2c9d3b952815ff8f7710cefdcaf5f2c36d26aff51aeca2f12f", size = 243031 },
|
|
763
|
+
{ url = "https://files.pythonhosted.org/packages/0a/06/0da53397c76a74271621807265b6eb61fb011451b1ddebf43213df763669/propcache-0.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2fe5c910f6007e716a06d269608d307b4f36e7babee5f36533722660e8c4a70", size = 249100 },
|
|
764
|
+
{ url = "https://files.pythonhosted.org/packages/f1/eb/13090e05bf6b963fc1653cdc922133ced467cb4b8dab53158db5a37aa21e/propcache-0.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a0ab8cf8cdd2194f8ff979a43ab43049b1df0b37aa64ab7eca04ac14429baeb7", size = 250170 },
|
|
765
|
+
{ url = "https://files.pythonhosted.org/packages/3b/4c/f72c9e1022b3b043ec7dc475a0f405d4c3e10b9b1d378a7330fecf0652da/propcache-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:563f9d8c03ad645597b8d010ef4e9eab359faeb11a0a2ac9f7b4bc8c28ebef25", size = 245000 },
|
|
766
|
+
{ url = "https://files.pythonhosted.org/packages/e8/fd/970ca0e22acc829f1adf5de3724085e778c1ad8a75bec010049502cb3a86/propcache-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb6e0faf8cb6b4beea5d6ed7b5a578254c6d7df54c36ccd3d8b3eb00d6770277", size = 230262 },
|
|
767
|
+
{ url = "https://files.pythonhosted.org/packages/c4/42/817289120c6b9194a44f6c3e6b2c3277c5b70bbad39e7df648f177cc3634/propcache-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1c5c7ab7f2bb3f573d1cb921993006ba2d39e8621019dffb1c5bc94cdbae81e8", size = 236772 },
|
|
768
|
+
{ url = "https://files.pythonhosted.org/packages/7c/9c/3b3942b302badd589ad6b672da3ca7b660a6c2f505cafd058133ddc73918/propcache-0.3.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:050b571b2e96ec942898f8eb46ea4bfbb19bd5502424747e83badc2d4a99a44e", size = 231133 },
|
|
769
|
+
{ url = "https://files.pythonhosted.org/packages/98/a1/75f6355f9ad039108ff000dfc2e19962c8dea0430da9a1428e7975cf24b2/propcache-0.3.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e1c4d24b804b3a87e9350f79e2371a705a188d292fd310e663483af6ee6718ee", size = 230741 },
|
|
770
|
+
{ url = "https://files.pythonhosted.org/packages/67/0c/3e82563af77d1f8731132166da69fdfd95e71210e31f18edce08a1eb11ea/propcache-0.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e4fe2a6d5ce975c117a6bb1e8ccda772d1e7029c1cca1acd209f91d30fa72815", size = 244047 },
|
|
771
|
+
{ url = "https://files.pythonhosted.org/packages/f7/50/9fb7cca01532a08c4d5186d7bb2da6c4c587825c0ae134b89b47c7d62628/propcache-0.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:feccd282de1f6322f56f6845bf1207a537227812f0a9bf5571df52bb418d79d5", size = 246467 },
|
|
772
|
+
{ url = "https://files.pythonhosted.org/packages/a9/02/ccbcf3e1c604c16cc525309161d57412c23cf2351523aedbb280eb7c9094/propcache-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ec314cde7314d2dd0510c6787326bbffcbdc317ecee6b7401ce218b3099075a7", size = 241022 },
|
|
773
|
+
{ url = "https://files.pythonhosted.org/packages/db/19/e777227545e09ca1e77a6e21274ae9ec45de0f589f0ce3eca2a41f366220/propcache-0.3.1-cp312-cp312-win32.whl", hash = "sha256:7d2d5a0028d920738372630870e7d9644ce437142197f8c827194fca404bf03b", size = 40647 },
|
|
774
|
+
{ url = "https://files.pythonhosted.org/packages/24/bb/3b1b01da5dd04c77a204c84e538ff11f624e31431cfde7201d9110b092b1/propcache-0.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:88c423efef9d7a59dae0614eaed718449c09a5ac79a5f224a8b9664d603f04a3", size = 44784 },
|
|
775
|
+
{ url = "https://files.pythonhosted.org/packages/58/60/f645cc8b570f99be3cf46714170c2de4b4c9d6b827b912811eff1eb8a412/propcache-0.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1528ec4374617a7a753f90f20e2f551121bb558fcb35926f99e3c42367164b8", size = 77865 },
|
|
776
|
+
{ url = "https://files.pythonhosted.org/packages/6f/d4/c1adbf3901537582e65cf90fd9c26fde1298fde5a2c593f987112c0d0798/propcache-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc1915ec523b3b494933b5424980831b636fe483d7d543f7afb7b3bf00f0c10f", size = 45452 },
|
|
777
|
+
{ url = "https://files.pythonhosted.org/packages/d1/b5/fe752b2e63f49f727c6c1c224175d21b7d1727ce1d4873ef1c24c9216830/propcache-0.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a110205022d077da24e60b3df8bcee73971be9575dec5573dd17ae5d81751111", size = 44800 },
|
|
778
|
+
{ url = "https://files.pythonhosted.org/packages/62/37/fc357e345bc1971e21f76597028b059c3d795c5ca7690d7a8d9a03c9708a/propcache-0.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d249609e547c04d190e820d0d4c8ca03ed4582bcf8e4e160a6969ddfb57b62e5", size = 225804 },
|
|
779
|
+
{ url = "https://files.pythonhosted.org/packages/0d/f1/16e12c33e3dbe7f8b737809bad05719cff1dccb8df4dafbcff5575002c0e/propcache-0.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ced33d827625d0a589e831126ccb4f5c29dfdf6766cac441d23995a65825dcb", size = 230650 },
|
|
780
|
+
{ url = "https://files.pythonhosted.org/packages/3e/a2/018b9f2ed876bf5091e60153f727e8f9073d97573f790ff7cdf6bc1d1fb8/propcache-0.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4114c4ada8f3181af20808bedb250da6bae56660e4b8dfd9cd95d4549c0962f7", size = 234235 },
|
|
781
|
+
{ url = "https://files.pythonhosted.org/packages/45/5f/3faee66fc930dfb5da509e34c6ac7128870631c0e3582987fad161fcb4b1/propcache-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:975af16f406ce48f1333ec5e912fe11064605d5c5b3f6746969077cc3adeb120", size = 228249 },
|
|
782
|
+
{ url = "https://files.pythonhosted.org/packages/62/1e/a0d5ebda5da7ff34d2f5259a3e171a94be83c41eb1e7cd21a2105a84a02e/propcache-0.3.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a34aa3a1abc50740be6ac0ab9d594e274f59960d3ad253cd318af76b996dd654", size = 214964 },
|
|
783
|
+
{ url = "https://files.pythonhosted.org/packages/db/a0/d72da3f61ceab126e9be1f3bc7844b4e98c6e61c985097474668e7e52152/propcache-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9cec3239c85ed15bfaded997773fdad9fb5662b0a7cbc854a43f291eb183179e", size = 222501 },
|
|
784
|
+
{ url = "https://files.pythonhosted.org/packages/18/6d/a008e07ad7b905011253adbbd97e5b5375c33f0b961355ca0a30377504ac/propcache-0.3.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:05543250deac8e61084234d5fc54f8ebd254e8f2b39a16b1dce48904f45b744b", size = 217917 },
|
|
785
|
+
{ url = "https://files.pythonhosted.org/packages/98/37/02c9343ffe59e590e0e56dc5c97d0da2b8b19fa747ebacf158310f97a79a/propcache-0.3.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5cb5918253912e088edbf023788de539219718d3b10aef334476b62d2b53de53", size = 217089 },
|
|
786
|
+
{ url = "https://files.pythonhosted.org/packages/53/1b/d3406629a2c8a5666d4674c50f757a77be119b113eedd47b0375afdf1b42/propcache-0.3.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f3bbecd2f34d0e6d3c543fdb3b15d6b60dd69970c2b4c822379e5ec8f6f621d5", size = 228102 },
|
|
787
|
+
{ url = "https://files.pythonhosted.org/packages/cd/a7/3664756cf50ce739e5f3abd48febc0be1a713b1f389a502ca819791a6b69/propcache-0.3.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aca63103895c7d960a5b9b044a83f544b233c95e0dcff114389d64d762017af7", size = 230122 },
|
|
788
|
+
{ url = "https://files.pythonhosted.org/packages/35/36/0bbabaacdcc26dac4f8139625e930f4311864251276033a52fd52ff2a274/propcache-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a0a9898fdb99bf11786265468571e628ba60af80dc3f6eb89a3545540c6b0ef", size = 226818 },
|
|
789
|
+
{ url = "https://files.pythonhosted.org/packages/cc/27/4e0ef21084b53bd35d4dae1634b6d0bad35e9c58ed4f032511acca9d4d26/propcache-0.3.1-cp313-cp313-win32.whl", hash = "sha256:3a02a28095b5e63128bcae98eb59025924f121f048a62393db682f049bf4ac24", size = 40112 },
|
|
790
|
+
{ url = "https://files.pythonhosted.org/packages/a6/2c/a54614d61895ba6dd7ac8f107e2b2a0347259ab29cbf2ecc7b94fa38c4dc/propcache-0.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:813fbb8b6aea2fc9659815e585e548fe706d6f663fa73dff59a1677d4595a037", size = 44034 },
|
|
791
|
+
{ url = "https://files.pythonhosted.org/packages/5a/a8/0a4fd2f664fc6acc66438370905124ce62e84e2e860f2557015ee4a61c7e/propcache-0.3.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a444192f20f5ce8a5e52761a031b90f5ea6288b1eef42ad4c7e64fef33540b8f", size = 82613 },
|
|
792
|
+
{ url = "https://files.pythonhosted.org/packages/4d/e5/5ef30eb2cd81576256d7b6caaa0ce33cd1d2c2c92c8903cccb1af1a4ff2f/propcache-0.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0fbe94666e62ebe36cd652f5fc012abfbc2342de99b523f8267a678e4dfdee3c", size = 47763 },
|
|
793
|
+
{ url = "https://files.pythonhosted.org/packages/87/9a/87091ceb048efeba4d28e903c0b15bcc84b7c0bf27dc0261e62335d9b7b8/propcache-0.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f011f104db880f4e2166bcdcf7f58250f7a465bc6b068dc84c824a3d4a5c94dc", size = 47175 },
|
|
794
|
+
{ url = "https://files.pythonhosted.org/packages/3e/2f/854e653c96ad1161f96194c6678a41bbb38c7947d17768e8811a77635a08/propcache-0.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e584b6d388aeb0001d6d5c2bd86b26304adde6d9bb9bfa9c4889805021b96de", size = 292265 },
|
|
795
|
+
{ url = "https://files.pythonhosted.org/packages/40/8d/090955e13ed06bc3496ba4a9fb26c62e209ac41973cb0d6222de20c6868f/propcache-0.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a17583515a04358b034e241f952f1715243482fc2c2945fd99a1b03a0bd77d6", size = 294412 },
|
|
796
|
+
{ url = "https://files.pythonhosted.org/packages/39/e6/d51601342e53cc7582449e6a3c14a0479fab2f0750c1f4d22302e34219c6/propcache-0.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5aed8d8308215089c0734a2af4f2e95eeb360660184ad3912686c181e500b2e7", size = 294290 },
|
|
797
|
+
{ url = "https://files.pythonhosted.org/packages/3b/4d/be5f1a90abc1881884aa5878989a1acdafd379a91d9c7e5e12cef37ec0d7/propcache-0.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d8e309ff9a0503ef70dc9a0ebd3e69cf7b3894c9ae2ae81fc10943c37762458", size = 282926 },
|
|
798
|
+
{ url = "https://files.pythonhosted.org/packages/57/2b/8f61b998c7ea93a2b7eca79e53f3e903db1787fca9373af9e2cf8dc22f9d/propcache-0.3.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b655032b202028a582d27aeedc2e813299f82cb232f969f87a4fde491a233f11", size = 267808 },
|
|
799
|
+
{ url = "https://files.pythonhosted.org/packages/11/1c/311326c3dfce59c58a6098388ba984b0e5fb0381ef2279ec458ef99bd547/propcache-0.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f64d91b751df77931336b5ff7bafbe8845c5770b06630e27acd5dbb71e1931c", size = 290916 },
|
|
800
|
+
{ url = "https://files.pythonhosted.org/packages/4b/74/91939924b0385e54dc48eb2e4edd1e4903ffd053cf1916ebc5347ac227f7/propcache-0.3.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:19a06db789a4bd896ee91ebc50d059e23b3639c25d58eb35be3ca1cbe967c3bf", size = 262661 },
|
|
801
|
+
{ url = "https://files.pythonhosted.org/packages/c2/d7/e6079af45136ad325c5337f5dd9ef97ab5dc349e0ff362fe5c5db95e2454/propcache-0.3.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:bef100c88d8692864651b5f98e871fb090bd65c8a41a1cb0ff2322db39c96c27", size = 264384 },
|
|
802
|
+
{ url = "https://files.pythonhosted.org/packages/b7/d5/ba91702207ac61ae6f1c2da81c5d0d6bf6ce89e08a2b4d44e411c0bbe867/propcache-0.3.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:87380fb1f3089d2a0b8b00f006ed12bd41bd858fabfa7330c954c70f50ed8757", size = 291420 },
|
|
803
|
+
{ url = "https://files.pythonhosted.org/packages/58/70/2117780ed7edcd7ba6b8134cb7802aada90b894a9810ec56b7bb6018bee7/propcache-0.3.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e474fc718e73ba5ec5180358aa07f6aded0ff5f2abe700e3115c37d75c947e18", size = 290880 },
|
|
804
|
+
{ url = "https://files.pythonhosted.org/packages/4a/1f/ecd9ce27710021ae623631c0146719280a929d895a095f6d85efb6a0be2e/propcache-0.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:17d1c688a443355234f3c031349da69444be052613483f3e4158eef751abcd8a", size = 287407 },
|
|
805
|
+
{ url = "https://files.pythonhosted.org/packages/3e/66/2e90547d6b60180fb29e23dc87bd8c116517d4255240ec6d3f7dc23d1926/propcache-0.3.1-cp313-cp313t-win32.whl", hash = "sha256:359e81a949a7619802eb601d66d37072b79b79c2505e6d3fd8b945538411400d", size = 42573 },
|
|
806
|
+
{ url = "https://files.pythonhosted.org/packages/cb/8f/50ad8599399d1861b4d2b6b45271f0ef6af1b09b0a2386a46dbaf19c9535/propcache-0.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e7fb9a84c9abbf2b2683fa3e7b0d7da4d8ecf139a1c635732a8bda29c5214b0e", size = 46757 },
|
|
807
|
+
{ url = "https://files.pythonhosted.org/packages/b8/d3/c3cb8f1d6ae3b37f83e1de806713a9b3642c5895f0215a62e1a4bd6e5e34/propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40", size = 12376 },
|
|
808
808
|
]
|
|
809
809
|
|
|
810
810
|
[[package]]
|
|
@@ -848,7 +848,7 @@ wheels = [
|
|
|
848
848
|
|
|
849
849
|
[[package]]
|
|
850
850
|
name = "python-terminusgps"
|
|
851
|
-
version = "
|
|
851
|
+
version = "26.0.0"
|
|
852
852
|
source = { editable = "." }
|
|
853
853
|
dependencies = [
|
|
854
854
|
{ name = "argparse" },
|
|
@@ -1128,20 +1128,20 @@ wheels = [
|
|
|
1128
1128
|
|
|
1129
1129
|
[[package]]
|
|
1130
1130
|
name = "types-pyyaml"
|
|
1131
|
-
version = "6.0.12.
|
|
1131
|
+
version = "6.0.12.20250326"
|
|
1132
1132
|
source = { registry = "https://pypi.org/simple" }
|
|
1133
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1133
|
+
sdist = { url = "https://files.pythonhosted.org/packages/9b/66/f58e386be67589d5c3c9c0a368600783ac1321b7e6ee213c8f51848dbf0c/types_pyyaml-6.0.12.20250326.tar.gz", hash = "sha256:5e2d86d8706697803f361ba0b8188eef2999e1c372cd4faee4ebb0844b8a4190", size = 17346 }
|
|
1134
1134
|
wheels = [
|
|
1135
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1135
|
+
{ url = "https://files.pythonhosted.org/packages/e9/1e/5609fea65117db83cc060342d4f6810f3cf1d3453b9f81bfe5f03f679633/types_pyyaml-6.0.12.20250326-py3-none-any.whl", hash = "sha256:961871cfbdc1ad8ae3cb6ae3f13007262bcfc168adc513119755a6e4d5d7ed65", size = 20398 },
|
|
1136
1136
|
]
|
|
1137
1137
|
|
|
1138
1138
|
[[package]]
|
|
1139
1139
|
name = "typing-extensions"
|
|
1140
|
-
version = "4.
|
|
1140
|
+
version = "4.13.0"
|
|
1141
1141
|
source = { registry = "https://pypi.org/simple" }
|
|
1142
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1142
|
+
sdist = { url = "https://files.pythonhosted.org/packages/0e/3e/b00a62db91a83fff600de219b6ea9908e6918664899a2d85db222f4fbf19/typing_extensions-4.13.0.tar.gz", hash = "sha256:0a4ac55a5820789d87e297727d229866c9650f6521b64206413c4fbada24d95b", size = 106520 }
|
|
1143
1143
|
wheels = [
|
|
1144
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1144
|
+
{ url = "https://files.pythonhosted.org/packages/e0/86/39b65d676ec5732de17b7e3c476e45bb80ec64eb50737a8dce1a4178aba1/typing_extensions-4.13.0-py3-none-any.whl", hash = "sha256:c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5", size = 45683 },
|
|
1145
1145
|
]
|
|
1146
1146
|
|
|
1147
1147
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/aws/index.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/aws/secrets.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/environment.pickle
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/settings.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/twilio/caller.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/twilio/index.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/twilio/settings.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/constants.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/errors.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/examples.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/flags.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/index.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/items.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/session.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/settings.doctree
RENAMED
|
File without changes
|
{python_terminusgps-25.1.0 → python_terminusgps-26.0.0}/docs/build/doctrees/wialon/utils.doctree
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|