python-terminusgps 38.2.0__tar.gz → 38.3.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.

Files changed (330) hide show
  1. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/PKG-INFO +1 -1
  2. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/pyproject.toml +1 -1
  3. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/items/unit.py +24 -36
  4. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/uv.lock +112 -90
  5. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/.gitignore +0 -0
  6. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/COPYING +0 -0
  7. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/README.md +0 -0
  8. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/Makefile +0 -0
  9. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/coverage/c.txt +0 -0
  10. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/coverage/python.txt +0 -0
  11. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/coverage/undoc.pickle +0 -0
  12. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/authorizenet/auth.doctree +0 -0
  13. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/authorizenet/constants.doctree +0 -0
  14. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/authorizenet/controllers.doctree +0 -0
  15. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/authorizenet/examples.doctree +0 -0
  16. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/authorizenet/index.doctree +0 -0
  17. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/authorizenet/profiles.doctree +0 -0
  18. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/authorizenet/subscriptions.doctree +0 -0
  19. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/authorizenet/utils.doctree +0 -0
  20. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/authorizenet/validators.doctree +0 -0
  21. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/aws/index.doctree +0 -0
  22. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/aws/notifications.doctree +0 -0
  23. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/aws/secrets.doctree +0 -0
  24. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/aws/speech.doctree +0 -0
  25. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/aws/utils.doctree +0 -0
  26. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/django/forms.doctree +0 -0
  27. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/django/index.doctree +0 -0
  28. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/django/mixins.doctree +0 -0
  29. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/django/settings.doctree +0 -0
  30. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/django/validators.doctree +0 -0
  31. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/environment.pickle +0 -0
  32. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/index.doctree +0 -0
  33. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/mixins.doctree +0 -0
  34. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/settings.doctree +0 -0
  35. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/twilio/caller.doctree +0 -0
  36. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/twilio/examples.doctree +0 -0
  37. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/twilio/index.doctree +0 -0
  38. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/twilio/settings.doctree +0 -0
  39. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/validators.doctree +0 -0
  40. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/wialon/constants.doctree +0 -0
  41. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/wialon/errors.doctree +0 -0
  42. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/wialon/examples.doctree +0 -0
  43. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/wialon/flags.doctree +0 -0
  44. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/wialon/index.doctree +0 -0
  45. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/wialon/items.doctree +0 -0
  46. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/wialon/session.doctree +0 -0
  47. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/wialon/settings.doctree +0 -0
  48. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/doctrees/wialon/utils.doctree +0 -0
  49. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/index.html +0 -0
  50. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/auth.html +0 -0
  51. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/constants.html +0 -0
  52. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/controllers.html +0 -0
  53. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/errors.html +0 -0
  54. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/addresses.html +0 -0
  55. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/base.html +0 -0
  56. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/customers.html +0 -0
  57. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/payments.html +0 -0
  58. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/subscriptions.html +0 -0
  59. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/subscriptions/subscriptions.html +0 -0
  60. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/utils.html +0 -0
  61. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/authorizenet/validators.html +0 -0
  62. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/aws/notifications.html +0 -0
  63. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/aws/secrets.html +0 -0
  64. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/aws/speech.html +0 -0
  65. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/django/forms/fields.html +0 -0
  66. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/django/forms/renderer.html +0 -0
  67. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/django/forms/widgets.html +0 -0
  68. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/django/forms.html +0 -0
  69. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/django/mixins.html +0 -0
  70. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/django/validators.html +0 -0
  71. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/mixins.html +0 -0
  72. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/twilio/caller.html +0 -0
  73. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/constants.html +0 -0
  74. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/flags.html +0 -0
  75. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/items/base.html +0 -0
  76. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/items/geofence.html +0 -0
  77. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/items/notification.html +0 -0
  78. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/items/resource.html +0 -0
  79. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/items/retranslator.html +0 -0
  80. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/items/route.html +0 -0
  81. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/items/unit.html +0 -0
  82. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/items/unit_group.html +0 -0
  83. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/items/user.html +0 -0
  84. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/session.html +0 -0
  85. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/terminusgps/wialon/utils.html +0 -0
  86. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_modules/wialon/api.html +0 -0
  87. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/authorizenet/auth.rst.txt +0 -0
  88. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/authorizenet/constants.rst.txt +0 -0
  89. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/authorizenet/controllers.rst.txt +0 -0
  90. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/authorizenet/examples.rst.txt +0 -0
  91. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/authorizenet/index.rst.txt +0 -0
  92. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/authorizenet/profiles.rst.txt +0 -0
  93. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/authorizenet/subscriptions.rst.txt +0 -0
  94. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/authorizenet/utils.rst.txt +0 -0
  95. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/authorizenet/validators.rst.txt +0 -0
  96. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/aws/index.rst.txt +0 -0
  97. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/aws/notifications.rst.txt +0 -0
  98. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/aws/secrets.rst.txt +0 -0
  99. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/aws/speech.rst.txt +0 -0
  100. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/aws/utils.rst.txt +0 -0
  101. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/django/forms.rst.txt +0 -0
  102. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/django/index.rst.txt +0 -0
  103. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/django/mixins.rst.txt +0 -0
  104. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/django/settings.rst.txt +0 -0
  105. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/django/validators.rst.txt +0 -0
  106. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/index.rst.txt +0 -0
  107. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/mixins.rst.txt +0 -0
  108. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/settings.rst.txt +0 -0
  109. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/twilio/caller.rst.txt +0 -0
  110. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/twilio/examples.rst.txt +0 -0
  111. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/twilio/index.rst.txt +0 -0
  112. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/twilio/settings.rst.txt +0 -0
  113. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/validators.rst.txt +0 -0
  114. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/wialon/constants.rst.txt +0 -0
  115. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/wialon/errors.rst.txt +0 -0
  116. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/wialon/examples.rst.txt +0 -0
  117. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/wialon/flags.rst.txt +0 -0
  118. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/wialon/index.rst.txt +0 -0
  119. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/wialon/items.rst.txt +0 -0
  120. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/wialon/session.rst.txt +0 -0
  121. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/wialon/settings.rst.txt +0 -0
  122. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_sources/wialon/utils.rst.txt +0 -0
  123. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/0fc70aa4dfe4d16d7073.woff +0 -0
  124. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/583e3f428bf2362b546d.woff +0 -0
  125. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/5be6ec379613f10aea3f.woff +0 -0
  126. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/76c1862325ea6f70eeff.woff2 +0 -0
  127. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/83710c128240451d95af.woff +0 -0
  128. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  129. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/a63d39a1c104a2b3e87e.woff2 +0 -0
  130. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/autoclasstoc.css +0 -0
  131. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/awesome-docsearch.css +0 -0
  132. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/awesome-docsearch.js +0 -0
  133. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/awesome-sphinx-design.css +0 -0
  134. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/awesome-sphinx-design.js +0 -0
  135. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/b659956119f91f2342bc.woff2 +0 -0
  136. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/basic.css +0 -0
  137. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/bb50084be2b43ba7b98c.woff2 +0 -0
  138. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/ce1e40901d7a0d88d483.woff2 +0 -0
  139. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/badge_only.css +0 -0
  140. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/custom.css +0 -0
  141. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/custom.css.map +0 -0
  142. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  143. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  144. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  145. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  146. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  147. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  148. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  149. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  150. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  151. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  152. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  153. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
  154. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  155. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  156. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  157. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
  158. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  159. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/theme.css +0 -0
  160. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/theme.css.map +0 -0
  161. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/theme.min.css +0 -0
  162. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/css/theme.min.css.map +0 -0
  163. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/d04352f240062b100fba.woff2 +0 -0
  164. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/doctools.js +0 -0
  165. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/documentation_options.js +0 -0
  166. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/f1cdf5c21de970ee0592.woff +0 -0
  167. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fd994e8d90d9cab651b0.woff +0 -0
  168. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/file.png +0 -0
  169. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/font/fontello.eot +0 -0
  170. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/font/fontello.svg +0 -0
  171. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/font/fontello.ttf +0 -0
  172. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/font/fontello.woff +0 -0
  173. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/font/fontello.woff2 +0 -0
  174. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  175. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  176. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  177. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  178. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  179. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  180. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  181. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  182. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  183. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  184. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  185. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  186. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  187. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  188. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  189. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  190. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  191. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  192. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  193. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  194. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  195. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  196. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  197. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  198. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/jquery.js +0 -0
  199. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/js/badge_only.js +0 -0
  200. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/js/theme.js +0 -0
  201. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/js/versions.js +0 -0
  202. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/language_data.js +0 -0
  203. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/minus.png +0 -0
  204. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/plus.png +0 -0
  205. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/pygments.css +0 -0
  206. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/searchtools.js +0 -0
  207. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/sphinx_highlight.js +0 -0
  208. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/theme.css +0 -0
  209. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/theme.js +0 -0
  210. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/_static/theme.js.LICENSE.txt +0 -0
  211. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/authorizenet/auth.html +0 -0
  212. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/authorizenet/constants.html +0 -0
  213. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/authorizenet/controllers.html +0 -0
  214. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/authorizenet/examples.html +0 -0
  215. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/authorizenet/index.html +0 -0
  216. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/authorizenet/profiles.html +0 -0
  217. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/authorizenet/subscriptions.html +0 -0
  218. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/authorizenet/utils.html +0 -0
  219. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/authorizenet/validators.html +0 -0
  220. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/aws/index.html +0 -0
  221. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/aws/notifications.html +0 -0
  222. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/aws/secrets.html +0 -0
  223. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/aws/speech.html +0 -0
  224. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/aws/utils.html +0 -0
  225. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/django/forms.html +0 -0
  226. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/django/index.html +0 -0
  227. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/django/mixins.html +0 -0
  228. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/django/settings.html +0 -0
  229. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/django/validators.html +0 -0
  230. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/genindex.html +0 -0
  231. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/index.html +0 -0
  232. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/mixins.html +0 -0
  233. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/objects.inv +0 -0
  234. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/py-modindex.html +0 -0
  235. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/search.html +0 -0
  236. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/searchindex.js +0 -0
  237. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/settings.html +0 -0
  238. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/twilio/caller.html +0 -0
  239. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/twilio/examples.html +0 -0
  240. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/twilio/index.html +0 -0
  241. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/twilio/settings.html +0 -0
  242. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/validators.html +0 -0
  243. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/wialon/constants.html +0 -0
  244. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/wialon/errors.html +0 -0
  245. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/wialon/examples.html +0 -0
  246. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/wialon/flags.html +0 -0
  247. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/wialon/index.html +0 -0
  248. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/wialon/items.html +0 -0
  249. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/wialon/session.html +0 -0
  250. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/wialon/settings.html +0 -0
  251. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/html/wialon/utils.html +0 -0
  252. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/linkcheck/output.json +0 -0
  253. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/build/linkcheck/output.txt +0 -0
  254. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/make.bat +0 -0
  255. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/authorizenet/auth.rst +0 -0
  256. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/authorizenet/constants.rst +0 -0
  257. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/authorizenet/controllers.rst +0 -0
  258. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/authorizenet/examples.rst +0 -0
  259. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/authorizenet/index.rst +0 -0
  260. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/authorizenet/profiles.rst +0 -0
  261. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/authorizenet/utils.rst +0 -0
  262. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/authorizenet/validators.rst +0 -0
  263. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/aws/index.rst +0 -0
  264. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/aws/secrets.rst +0 -0
  265. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/conf.py +0 -0
  266. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/django/forms.rst +0 -0
  267. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/django/index.rst +0 -0
  268. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/django/mixins.rst +0 -0
  269. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/django/settings.rst +0 -0
  270. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/django/validators.rst +0 -0
  271. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/index.rst +0 -0
  272. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/twilio/caller.rst +0 -0
  273. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/twilio/examples.rst +0 -0
  274. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/twilio/index.rst +0 -0
  275. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/wialon/constants.rst +0 -0
  276. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/wialon/errors.rst +0 -0
  277. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/wialon/examples.rst +0 -0
  278. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/wialon/flags.rst +0 -0
  279. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/wialon/index.rst +0 -0
  280. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/wialon/items.rst +0 -0
  281. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/wialon/session.rst +0 -0
  282. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/docs/source/wialon/utils.rst +0 -0
  283. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/__init__.py +0 -0
  284. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/__init__.py +0 -0
  285. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/auth.py +0 -0
  286. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/constants.py +0 -0
  287. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/controllers.py +0 -0
  288. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/profiles/__init__.py +0 -0
  289. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/profiles/addresses.py +0 -0
  290. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/profiles/base.py +0 -0
  291. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/profiles/customers.py +0 -0
  292. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/profiles/payments.py +0 -0
  293. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/profiles/subscriptions.py +0 -0
  294. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/tests/__init__.py +0 -0
  295. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/tests/test_auth.py +0 -0
  296. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/tests/test_profiles.py +0 -0
  297. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/tests/test_utils.py +0 -0
  298. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/utils.py +0 -0
  299. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/authorizenet/validators.py +0 -0
  300. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/aws/__init__.py +0 -0
  301. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/aws/secrets.py +0 -0
  302. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/__init__.py +0 -0
  303. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/forms/__init__.py +0 -0
  304. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/forms/fields.py +0 -0
  305. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/forms/forms.py +0 -0
  306. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/forms/renderer.py +0 -0
  307. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/forms/widgets.py +0 -0
  308. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/mixins.py +0 -0
  309. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/settings.py +0 -0
  310. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/tests/test_forms.py +0 -0
  311. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/tests/test_mixins.py +0 -0
  312. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/tests/test_utils.py +0 -0
  313. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/utils.py +0 -0
  314. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/django/validators.py +0 -0
  315. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/twilio/__init__.py +0 -0
  316. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/twilio/caller.py +0 -0
  317. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/__init__.py +0 -0
  318. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/constants.py +0 -0
  319. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/flags.py +0 -0
  320. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/items/__init__.py +0 -0
  321. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/items/base.py +0 -0
  322. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/items/resource.py +0 -0
  323. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/items/retranslator.py +0 -0
  324. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/items/route.py +0 -0
  325. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/items/unit_group.py +0 -0
  326. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/items/user.py +0 -0
  327. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/renderer.py +0 -0
  328. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/session.py +0 -0
  329. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/utils.py +0 -0
  330. {python_terminusgps-38.2.0 → python_terminusgps-38.3.0}/terminusgps/wialon/validators.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-terminusgps
3
- Version: 38.2.0
3
+ Version: 38.3.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://docs.terminusgps.com
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 = "38.2.0"
3
+ version = "38.3.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" } ]
@@ -1,8 +1,8 @@
1
1
  from datetime import datetime
2
- from urllib.parse import urljoin
3
2
 
4
- from django.conf import settings
3
+ from django.core.exceptions import ValidationError
5
4
 
5
+ from terminusgps.django.validators import validate_e164_phone_number
6
6
  from terminusgps.wialon import flags
7
7
  from terminusgps.wialon.items.base import WialonBase
8
8
 
@@ -11,11 +11,10 @@ class WialonUnit(WialonBase):
11
11
  """A Wialon `unit <https://help.wialon.com/en/wialon-hosting/user-guide/management-system/units>`_."""
12
12
 
13
13
  def __init__(self, *args, **kwargs) -> None:
14
- """Sets :py:attr:`_imei_number`, :py:attr:`_active` and :py:attr:`_image_uri` to :py:obj:`None`."""
14
+ """Sets :py:attr:`_imei_number` and :py:attr:`_active` to :py:obj:`None`."""
15
15
  super().__init__(*args, **kwargs)
16
16
  self._imei_number = None
17
17
  self._active = None
18
- self._image_uri = None
19
18
 
20
19
  def create(
21
20
  self, creator_id: str | int, name: str, hw_type_id: str | int
@@ -72,7 +71,6 @@ class WialonUnit(WialonBase):
72
71
  item = response.get("item", {})
73
72
  self._imei_number = item.get("uid")
74
73
  self._active = item.get("act", False)
75
- self._image_uri = item.get("uri")
76
74
 
77
75
  def get_position(self) -> dict:
78
76
  """
@@ -226,16 +224,21 @@ class WialonUnit(WialonBase):
226
224
  phones_0: list[str] = self._get_driver_phone_numbers()
227
225
  phones_1: list[str] = self._get_cfield_phone_numbers(key=cfield_key)
228
226
  phones_2: list[str] = self._get_afield_phone_numbers(key=afield_key)
229
- return list(frozenset(phones_0 + phones_1 + phones_2))
230
227
 
231
- def clean_phone_numbers(self, phones: list[str]) -> list[str]:
232
- """Takes a list of phone numbers and returns a list of clean phone numbers."""
233
228
  return [
234
- clean_num
235
- for num in phones
236
- for clean_num in (num.split(",") if "," in num else [num])
229
+ phone
230
+ for phone in list(frozenset(phones_0 + phones_1 + phones_2))
231
+ if self._validate_phone_number(phone)
237
232
  ]
238
233
 
234
+ def _validate_phone_number(self, phone: str) -> bool:
235
+ """Returns :py:obj:`True` if ``phone`` is a valid E.164 formatted phone number."""
236
+ try:
237
+ validate_e164_phone_number(phone)
238
+ return True
239
+ except ValidationError:
240
+ return False
241
+
239
242
  def _get_afield_phone_numbers(self, key: str) -> list[str]:
240
243
  """
241
244
  Retrives phone numbers saved in an admin field by key.
@@ -249,7 +252,9 @@ class WialonUnit(WialonBase):
249
252
  """
250
253
  if key not in self.afields.keys():
251
254
  return []
252
- return self.clean_phone_numbers([self.afields[key]])
255
+
256
+ afield_val = self.afields[key]
257
+ return afield_val.split(",") if "," in afield_val else [afield_val]
253
258
 
254
259
  def _get_cfield_phone_numbers(self, key: str) -> list[str]:
255
260
  """
@@ -264,7 +269,9 @@ class WialonUnit(WialonBase):
264
269
  """
265
270
  if key not in self.cfields.keys():
266
271
  return []
267
- return self.clean_phone_numbers([self.cfields[key]])
272
+
273
+ cfield_val = self.cfields[key]
274
+ return cfield_val.split(",") if "," in cfield_val else [cfield_val]
268
275
 
269
276
  def _get_driver_phone_numbers(self) -> list[str]:
270
277
  """
@@ -278,10 +285,10 @@ class WialonUnit(WialonBase):
278
285
  response = self.session.wialon_api.resource_get_unit_drivers(
279
286
  **{"unitId": self.id}
280
287
  )
281
- if response:
282
- dirty_phones = [driver[0].get("ph") for driver in response.values()]
283
- return self.clean_phone_numbers(dirty_phones)
284
- return []
288
+ if not response:
289
+ return []
290
+
291
+ return [driver[0].get("ph") for driver in response.values()]
285
292
 
286
293
  @property
287
294
  def exists(self) -> bool:
@@ -308,18 +315,6 @@ class WialonUnit(WialonBase):
308
315
  .get("cml", {})
309
316
  )
310
317
 
311
- @property
312
- def image_uri(self) -> str:
313
- """
314
- Image URI for the unit.
315
-
316
- :type :py:obj:`str`
317
-
318
- """
319
- if self._image_uri is None:
320
- self.populate()
321
- return str(self._image_uri)
322
-
323
318
  @property
324
319
  def imei_number(self) -> str:
325
320
  """
@@ -358,10 +353,3 @@ class WialonUnit(WialonBase):
358
353
  if self._active is None:
359
354
  self.populate()
360
355
  return bool(self._active)
361
-
362
- @property
363
- def image_url(self) -> str | None:
364
- """Returns an absolute url to the unit's icon in Wialon."""
365
- if settings.configured and hasattr(settings, "WIALON_HOST"):
366
- return urljoin(settings.WIALON_HOST, self._image_uri)
367
- return urljoin("https://hst-api.wialon.com", self._image_uri)
@@ -12,7 +12,7 @@ wheels = [
12
12
 
13
13
  [[package]]
14
14
  name = "aiohttp"
15
- version = "3.12.14"
15
+ version = "3.12.15"
16
16
  source = { registry = "https://pypi.org/simple" }
17
17
  dependencies = [
18
18
  { name = "aiohappyeyeballs" },
@@ -23,42 +23,42 @@ dependencies = [
23
23
  { name = "propcache" },
24
24
  { name = "yarl" },
25
25
  ]
26
- sdist = { url = "https://files.pythonhosted.org/packages/e6/0b/e39ad954107ebf213a2325038a3e7a506be3d98e1435e1f82086eec4cde2/aiohttp-3.12.14.tar.gz", hash = "sha256:6e06e120e34d93100de448fd941522e11dafa78ef1a893c179901b7d66aa29f2", size = 7822921 }
27
- wheels = [
28
- { url = "https://files.pythonhosted.org/packages/c3/0d/29026524e9336e33d9767a1e593ae2b24c2b8b09af7c2bd8193762f76b3e/aiohttp-3.12.14-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a0ecbb32fc3e69bc25efcda7d28d38e987d007096cbbeed04f14a6662d0eee22", size = 701055 },
29
- { url = "https://files.pythonhosted.org/packages/0a/b8/a5e8e583e6c8c1056f4b012b50a03c77a669c2e9bf012b7cf33d6bc4b141/aiohttp-3.12.14-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0400f0ca9bb3e0b02f6466421f253797f6384e9845820c8b05e976398ac1d81a", size = 475670 },
30
- { url = "https://files.pythonhosted.org/packages/29/e8/5202890c9e81a4ec2c2808dd90ffe024952e72c061729e1d49917677952f/aiohttp-3.12.14-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a56809fed4c8a830b5cae18454b7464e1529dbf66f71c4772e3cfa9cbec0a1ff", size = 468513 },
31
- { url = "https://files.pythonhosted.org/packages/23/e5/d11db8c23d8923d3484a27468a40737d50f05b05eebbb6288bafcb467356/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f2e373276e4755691a963e5d11756d093e346119f0627c2d6518208483fb6d", size = 1715309 },
32
- { url = "https://files.pythonhosted.org/packages/53/44/af6879ca0eff7a16b1b650b7ea4a827301737a350a464239e58aa7c387ef/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ca39e433630e9a16281125ef57ece6817afd1d54c9f1bf32e901f38f16035869", size = 1697961 },
33
- { url = "https://files.pythonhosted.org/packages/bb/94/18457f043399e1ec0e59ad8674c0372f925363059c276a45a1459e17f423/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c748b3f8b14c77720132b2510a7d9907a03c20ba80f469e58d5dfd90c079a1c", size = 1753055 },
34
- { url = "https://files.pythonhosted.org/packages/26/d9/1d3744dc588fafb50ff8a6226d58f484a2242b5dd93d8038882f55474d41/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0a568abe1b15ce69d4cc37e23020720423f0728e3cb1f9bcd3f53420ec3bfe7", size = 1799211 },
35
- { url = "https://files.pythonhosted.org/packages/73/12/2530fb2b08773f717ab2d249ca7a982ac66e32187c62d49e2c86c9bba9b4/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9888e60c2c54eaf56704b17feb558c7ed6b7439bca1e07d4818ab878f2083660", size = 1718649 },
36
- { url = "https://files.pythonhosted.org/packages/b9/34/8d6015a729f6571341a311061b578e8b8072ea3656b3d72329fa0faa2c7c/aiohttp-3.12.14-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3006a1dc579b9156de01e7916d38c63dc1ea0679b14627a37edf6151bc530088", size = 1634452 },
37
- { url = "https://files.pythonhosted.org/packages/ff/4b/08b83ea02595a582447aeb0c1986792d0de35fe7a22fb2125d65091cbaf3/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aa8ec5c15ab80e5501a26719eb48a55f3c567da45c6ea5bb78c52c036b2655c7", size = 1695511 },
38
- { url = "https://files.pythonhosted.org/packages/b5/66/9c7c31037a063eec13ecf1976185c65d1394ded4a5120dd5965e3473cb21/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:39b94e50959aa07844c7fe2206b9f75d63cc3ad1c648aaa755aa257f6f2498a9", size = 1716967 },
39
- { url = "https://files.pythonhosted.org/packages/ba/02/84406e0ad1acb0fb61fd617651ab6de760b2d6a31700904bc0b33bd0894d/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:04c11907492f416dad9885d503fbfc5dcb6768d90cad8639a771922d584609d3", size = 1657620 },
40
- { url = "https://files.pythonhosted.org/packages/07/53/da018f4013a7a179017b9a274b46b9a12cbeb387570f116964f498a6f211/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:88167bd9ab69bb46cee91bd9761db6dfd45b6e76a0438c7e884c3f8160ff21eb", size = 1737179 },
41
- { url = "https://files.pythonhosted.org/packages/49/e8/ca01c5ccfeaafb026d85fa4f43ceb23eb80ea9c1385688db0ef322c751e9/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:791504763f25e8f9f251e4688195e8b455f8820274320204f7eafc467e609425", size = 1765156 },
42
- { url = "https://files.pythonhosted.org/packages/22/32/5501ab525a47ba23c20613e568174d6c63aa09e2caa22cded5c6ea8e3ada/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2785b112346e435dd3a1a67f67713a3fe692d288542f1347ad255683f066d8e0", size = 1724766 },
43
- { url = "https://files.pythonhosted.org/packages/06/af/28e24574801fcf1657945347ee10df3892311c2829b41232be6089e461e7/aiohttp-3.12.14-cp312-cp312-win32.whl", hash = "sha256:15f5f4792c9c999a31d8decf444e79fcfd98497bf98e94284bf390a7bb8c1729", size = 422641 },
44
- { url = "https://files.pythonhosted.org/packages/98/d5/7ac2464aebd2eecac38dbe96148c9eb487679c512449ba5215d233755582/aiohttp-3.12.14-cp312-cp312-win_amd64.whl", hash = "sha256:3b66e1a182879f579b105a80d5c4bd448b91a57e8933564bf41665064796a338", size = 449316 },
45
- { url = "https://files.pythonhosted.org/packages/06/48/e0d2fa8ac778008071e7b79b93ab31ef14ab88804d7ba71b5c964a7c844e/aiohttp-3.12.14-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3143a7893d94dc82bc409f7308bc10d60285a3cd831a68faf1aa0836c5c3c767", size = 695471 },
46
- { url = "https://files.pythonhosted.org/packages/8d/e7/f73206afa33100804f790b71092888f47df65fd9a4cd0e6800d7c6826441/aiohttp-3.12.14-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3d62ac3d506cef54b355bd34c2a7c230eb693880001dfcda0bf88b38f5d7af7e", size = 473128 },
47
- { url = "https://files.pythonhosted.org/packages/df/e2/4dd00180be551a6e7ee979c20fc7c32727f4889ee3fd5b0586e0d47f30e1/aiohttp-3.12.14-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:48e43e075c6a438937c4de48ec30fa8ad8e6dfef122a038847456bfe7b947b63", size = 465426 },
48
- { url = "https://files.pythonhosted.org/packages/de/dd/525ed198a0bb674a323e93e4d928443a680860802c44fa7922d39436b48b/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:077b4488411a9724cecc436cbc8c133e0d61e694995b8de51aaf351c7578949d", size = 1704252 },
49
- { url = "https://files.pythonhosted.org/packages/d8/b1/01e542aed560a968f692ab4fc4323286e8bc4daae83348cd63588e4f33e3/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d8c35632575653f297dcbc9546305b2c1133391089ab925a6a3706dfa775ccab", size = 1685514 },
50
- { url = "https://files.pythonhosted.org/packages/b3/06/93669694dc5fdabdc01338791e70452d60ce21ea0946a878715688d5a191/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b8ce87963f0035c6834b28f061df90cf525ff7c9b6283a8ac23acee6502afd4", size = 1737586 },
51
- { url = "https://files.pythonhosted.org/packages/a5/3a/18991048ffc1407ca51efb49ba8bcc1645961f97f563a6c480cdf0286310/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0a2cf66e32a2563bb0766eb24eae7e9a269ac0dc48db0aae90b575dc9583026", size = 1786958 },
52
- { url = "https://files.pythonhosted.org/packages/30/a8/81e237f89a32029f9b4a805af6dffc378f8459c7b9942712c809ff9e76e5/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdea089caf6d5cde975084a884c72d901e36ef9c2fd972c9f51efbbc64e96fbd", size = 1709287 },
53
- { url = "https://files.pythonhosted.org/packages/8c/e3/bd67a11b0fe7fc12c6030473afd9e44223d456f500f7cf526dbaa259ae46/aiohttp-3.12.14-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7865f27db67d49e81d463da64a59365ebd6b826e0e4847aa111056dcb9dc88", size = 1622990 },
54
- { url = "https://files.pythonhosted.org/packages/83/ba/e0cc8e0f0d9ce0904e3cf2d6fa41904e379e718a013c721b781d53dcbcca/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0ab5b38a6a39781d77713ad930cb5e7feea6f253de656a5f9f281a8f5931b086", size = 1676015 },
55
- { url = "https://files.pythonhosted.org/packages/d8/b3/1e6c960520bda094c48b56de29a3d978254637ace7168dd97ddc273d0d6c/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b3b15acee5c17e8848d90a4ebc27853f37077ba6aec4d8cb4dbbea56d156933", size = 1707678 },
56
- { url = "https://files.pythonhosted.org/packages/0a/19/929a3eb8c35b7f9f076a462eaa9830b32c7f27d3395397665caa5e975614/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e4c972b0bdaac167c1e53e16a16101b17c6d0ed7eac178e653a07b9f7fad7151", size = 1650274 },
57
- { url = "https://files.pythonhosted.org/packages/22/e5/81682a6f20dd1b18ce3d747de8eba11cbef9b270f567426ff7880b096b48/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7442488b0039257a3bdbc55f7209587911f143fca11df9869578db6c26feeeb8", size = 1726408 },
58
- { url = "https://files.pythonhosted.org/packages/8c/17/884938dffaa4048302985483f77dfce5ac18339aad9b04ad4aaa5e32b028/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f68d3067eecb64c5e9bab4a26aa11bd676f4c70eea9ef6536b0a4e490639add3", size = 1759879 },
59
- { url = "https://files.pythonhosted.org/packages/95/78/53b081980f50b5cf874359bde707a6eacd6c4be3f5f5c93937e48c9d0025/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f88d3704c8b3d598a08ad17d06006cb1ca52a1182291f04979e305c8be6c9758", size = 1708770 },
60
- { url = "https://files.pythonhosted.org/packages/ed/91/228eeddb008ecbe3ffa6c77b440597fdf640307162f0c6488e72c5a2d112/aiohttp-3.12.14-cp313-cp313-win32.whl", hash = "sha256:a3c99ab19c7bf375c4ae3debd91ca5d394b98b6089a03231d4c580ef3c2ae4c5", size = 421688 },
61
- { url = "https://files.pythonhosted.org/packages/66/5f/8427618903343402fdafe2850738f735fd1d9409d2a8f9bcaae5e630d3ba/aiohttp-3.12.14-cp313-cp313-win_amd64.whl", hash = "sha256:3f8aad695e12edc9d571f878c62bedc91adf30c760c8632f09663e5f564f4baa", size = 448098 },
26
+ sdist = { url = "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz", hash = "sha256:4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2", size = 7823716 }
27
+ wheels = [
28
+ { url = "https://files.pythonhosted.org/packages/63/97/77cb2450d9b35f517d6cf506256bf4f5bda3f93a66b4ad64ba7fc917899c/aiohttp-3.12.15-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:802d3868f5776e28f7bf69d349c26fc0efadb81676d0afa88ed00d98a26340b7", size = 702333 },
29
+ { url = "https://files.pythonhosted.org/packages/83/6d/0544e6b08b748682c30b9f65640d006e51f90763b41d7c546693bc22900d/aiohttp-3.12.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2800614cd560287be05e33a679638e586a2d7401f4ddf99e304d98878c29444", size = 476948 },
30
+ { url = "https://files.pythonhosted.org/packages/3a/1d/c8c40e611e5094330284b1aea8a4b02ca0858f8458614fa35754cab42b9c/aiohttp-3.12.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8466151554b593909d30a0a125d638b4e5f3836e5aecde85b66b80ded1cb5b0d", size = 469787 },
31
+ { url = "https://files.pythonhosted.org/packages/38/7d/b76438e70319796bfff717f325d97ce2e9310f752a267bfdf5192ac6082b/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e5a495cb1be69dae4b08f35a6c4579c539e9b5706f606632102c0f855bcba7c", size = 1716590 },
32
+ { url = "https://files.pythonhosted.org/packages/79/b1/60370d70cdf8b269ee1444b390cbd72ce514f0d1cd1a715821c784d272c9/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6404dfc8cdde35c69aaa489bb3542fb86ef215fc70277c892be8af540e5e21c0", size = 1699241 },
33
+ { url = "https://files.pythonhosted.org/packages/a3/2b/4968a7b8792437ebc12186db31523f541943e99bda8f30335c482bea6879/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3ead1c00f8521a5c9070fcb88f02967b1d8a0544e6d85c253f6968b785e1a2ab", size = 1754335 },
34
+ { url = "https://files.pythonhosted.org/packages/fb/c1/49524ed553f9a0bec1a11fac09e790f49ff669bcd14164f9fab608831c4d/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6990ef617f14450bc6b34941dba4f12d5613cbf4e33805932f853fbd1cf18bfb", size = 1800491 },
35
+ { url = "https://files.pythonhosted.org/packages/de/5e/3bf5acea47a96a28c121b167f5ef659cf71208b19e52a88cdfa5c37f1fcc/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd736ed420f4db2b8148b52b46b88ed038d0354255f9a73196b7bbce3ea97545", size = 1719929 },
36
+ { url = "https://files.pythonhosted.org/packages/39/94/8ae30b806835bcd1cba799ba35347dee6961a11bd507db634516210e91d8/aiohttp-3.12.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c5092ce14361a73086b90c6efb3948ffa5be2f5b6fbcf52e8d8c8b8848bb97c", size = 1635733 },
37
+ { url = "https://files.pythonhosted.org/packages/7a/46/06cdef71dd03acd9da7f51ab3a9107318aee12ad38d273f654e4f981583a/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aaa2234bb60c4dbf82893e934d8ee8dea30446f0647e024074237a56a08c01bd", size = 1696790 },
38
+ { url = "https://files.pythonhosted.org/packages/02/90/6b4cfaaf92ed98d0ec4d173e78b99b4b1a7551250be8937d9d67ecb356b4/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6d86a2fbdd14192e2f234a92d3b494dd4457e683ba07e5905a0b3ee25389ac9f", size = 1718245 },
39
+ { url = "https://files.pythonhosted.org/packages/2e/e6/2593751670fa06f080a846f37f112cbe6f873ba510d070136a6ed46117c6/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a041e7e2612041a6ddf1c6a33b883be6a421247c7afd47e885969ee4cc58bd8d", size = 1658899 },
40
+ { url = "https://files.pythonhosted.org/packages/8f/28/c15bacbdb8b8eb5bf39b10680d129ea7410b859e379b03190f02fa104ffd/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5015082477abeafad7203757ae44299a610e89ee82a1503e3d4184e6bafdd519", size = 1738459 },
41
+ { url = "https://files.pythonhosted.org/packages/00/de/c269cbc4faa01fb10f143b1670633a8ddd5b2e1ffd0548f7aa49cb5c70e2/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:56822ff5ddfd1b745534e658faba944012346184fbfe732e0d6134b744516eea", size = 1766434 },
42
+ { url = "https://files.pythonhosted.org/packages/52/b0/4ff3abd81aa7d929b27d2e1403722a65fc87b763e3a97b3a2a494bfc63bc/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b2acbbfff69019d9014508c4ba0401822e8bae5a5fdc3b6814285b71231b60f3", size = 1726045 },
43
+ { url = "https://files.pythonhosted.org/packages/71/16/949225a6a2dd6efcbd855fbd90cf476052e648fb011aa538e3b15b89a57a/aiohttp-3.12.15-cp312-cp312-win32.whl", hash = "sha256:d849b0901b50f2185874b9a232f38e26b9b3d4810095a7572eacea939132d4e1", size = 423591 },
44
+ { url = "https://files.pythonhosted.org/packages/2b/d8/fa65d2a349fe938b76d309db1a56a75c4fb8cc7b17a398b698488a939903/aiohttp-3.12.15-cp312-cp312-win_amd64.whl", hash = "sha256:b390ef5f62bb508a9d67cb3bba9b8356e23b3996da7062f1a57ce1a79d2b3d34", size = 450266 },
45
+ { url = "https://files.pythonhosted.org/packages/f2/33/918091abcf102e39d15aba2476ad9e7bd35ddb190dcdd43a854000d3da0d/aiohttp-3.12.15-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9f922ffd05034d439dde1c77a20461cf4a1b0831e6caa26151fe7aa8aaebc315", size = 696741 },
46
+ { url = "https://files.pythonhosted.org/packages/b5/2a/7495a81e39a998e400f3ecdd44a62107254803d1681d9189be5c2e4530cd/aiohttp-3.12.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ee8a8ac39ce45f3e55663891d4b1d15598c157b4d494a4613e704c8b43112cd", size = 474407 },
47
+ { url = "https://files.pythonhosted.org/packages/49/fc/a9576ab4be2dcbd0f73ee8675d16c707cfc12d5ee80ccf4015ba543480c9/aiohttp-3.12.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3eae49032c29d356b94eee45a3f39fdf4b0814b397638c2f718e96cfadf4c4e4", size = 466703 },
48
+ { url = "https://files.pythonhosted.org/packages/09/2f/d4bcc8448cf536b2b54eed48f19682031ad182faa3a3fee54ebe5b156387/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b97752ff12cc12f46a9b20327104448042fce5c33a624f88c18f66f9368091c7", size = 1705532 },
49
+ { url = "https://files.pythonhosted.org/packages/f1/f3/59406396083f8b489261e3c011aa8aee9df360a96ac8fa5c2e7e1b8f0466/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:894261472691d6fe76ebb7fcf2e5870a2ac284c7406ddc95823c8598a1390f0d", size = 1686794 },
50
+ { url = "https://files.pythonhosted.org/packages/dc/71/164d194993a8d114ee5656c3b7ae9c12ceee7040d076bf7b32fb98a8c5c6/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fa5d9eb82ce98959fc1031c28198b431b4d9396894f385cb63f1e2f3f20ca6b", size = 1738865 },
51
+ { url = "https://files.pythonhosted.org/packages/1c/00/d198461b699188a93ead39cb458554d9f0f69879b95078dce416d3209b54/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0fa751efb11a541f57db59c1dd821bec09031e01452b2b6217319b3a1f34f3d", size = 1788238 },
52
+ { url = "https://files.pythonhosted.org/packages/85/b8/9e7175e1fa0ac8e56baa83bf3c214823ce250d0028955dfb23f43d5e61fd/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5346b93e62ab51ee2a9d68e8f73c7cf96ffb73568a23e683f931e52450e4148d", size = 1710566 },
53
+ { url = "https://files.pythonhosted.org/packages/59/e4/16a8eac9df39b48ae102ec030fa9f726d3570732e46ba0c592aeeb507b93/aiohttp-3.12.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:049ec0360f939cd164ecbfd2873eaa432613d5e77d6b04535e3d1fbae5a9e645", size = 1624270 },
54
+ { url = "https://files.pythonhosted.org/packages/1f/f8/cd84dee7b6ace0740908fd0af170f9fab50c2a41ccbc3806aabcb1050141/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b52dcf013b57464b6d1e51b627adfd69a8053e84b7103a7cd49c030f9ca44461", size = 1677294 },
55
+ { url = "https://files.pythonhosted.org/packages/ce/42/d0f1f85e50d401eccd12bf85c46ba84f947a84839c8a1c2c5f6e8ab1eb50/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b2af240143dd2765e0fb661fd0361a1b469cab235039ea57663cda087250ea9", size = 1708958 },
56
+ { url = "https://files.pythonhosted.org/packages/d5/6b/f6fa6c5790fb602538483aa5a1b86fcbad66244997e5230d88f9412ef24c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ac77f709a2cde2cc71257ab2d8c74dd157c67a0558a0d2799d5d571b4c63d44d", size = 1651553 },
57
+ { url = "https://files.pythonhosted.org/packages/04/36/a6d36ad545fa12e61d11d1932eef273928b0495e6a576eb2af04297fdd3c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:47f6b962246f0a774fbd3b6b7be25d59b06fdb2f164cf2513097998fc6a29693", size = 1727688 },
58
+ { url = "https://files.pythonhosted.org/packages/aa/c8/f195e5e06608a97a4e52c5d41c7927301bf757a8e8bb5bbf8cef6c314961/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:760fb7db442f284996e39cf9915a94492e1896baac44f06ae551974907922b64", size = 1761157 },
59
+ { url = "https://files.pythonhosted.org/packages/05/6a/ea199e61b67f25ba688d3ce93f63b49b0a4e3b3d380f03971b4646412fc6/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad702e57dc385cae679c39d318def49aef754455f237499d5b99bea4ef582e51", size = 1710050 },
60
+ { url = "https://files.pythonhosted.org/packages/b4/2e/ffeb7f6256b33635c29dbed29a22a723ff2dd7401fff42ea60cf2060abfb/aiohttp-3.12.15-cp313-cp313-win32.whl", hash = "sha256:f813c3e9032331024de2eb2e32a88d86afb69291fbc37a3a3ae81cc9917fb3d0", size = 422647 },
61
+ { url = "https://files.pythonhosted.org/packages/1b/8e/78ee35774201f38d5e1ba079c9958f7629b1fd079459aea9467441dbfbf5/aiohttp-3.12.15-cp313-cp313-win_amd64.whl", hash = "sha256:1a649001580bdb37c6fdb1bebbd7e3bc688e8ec2b5c6f52edbb664662b17dc84", size = 449067 },
62
62
  ]
63
63
 
64
64
  [[package]]
@@ -171,30 +171,30 @@ wheels = [
171
171
 
172
172
  [[package]]
173
173
  name = "boto3"
174
- version = "1.39.11"
174
+ version = "1.40.0"
175
175
  source = { registry = "https://pypi.org/simple" }
176
176
  dependencies = [
177
177
  { name = "botocore" },
178
178
  { name = "jmespath" },
179
179
  { name = "s3transfer" },
180
180
  ]
181
- sdist = { url = "https://files.pythonhosted.org/packages/b6/2e/ed75ea3ee0fd1afacc3379bc2b7457c67a6b0f0e554e1f7ccbdbaed2351b/boto3-1.39.11.tar.gz", hash = "sha256:3027edf20642fe1d5f9dc50a420d0fe2733073ed6a9f0f047b60fe08c3682132", size = 111869 }
181
+ sdist = { url = "https://files.pythonhosted.org/packages/7b/34/298ef2023d7d88069776c9cc26b42ba6f05d143a1c9b44a0f65cd795c65b/boto3-1.40.0.tar.gz", hash = "sha256:fc1b3ca3baf3d8820c6faddf47cbba8ad3cd16f8e8d7e2f76d304bf995932eb7", size = 111847 }
182
182
  wheels = [
183
- { url = "https://files.pythonhosted.org/packages/72/66/88566a6484e746c0b075f7c9bb248e8548eda0a486de4460d150a41e2d57/boto3-1.39.11-py3-none-any.whl", hash = "sha256:af8f1dad35eceff7658fab43b39b0f55892b6e3dd12308733521cc24dd2c9a02", size = 139900 },
183
+ { url = "https://files.pythonhosted.org/packages/5d/44/158581021038c5fc886ffa27fa4731fb4939258da7a23e0bc70b2d5757c9/boto3-1.40.0-py3-none-any.whl", hash = "sha256:959443055d2af676c336cc6033b3f870a8a924384b70d0b2905081d649378179", size = 139882 },
184
184
  ]
185
185
 
186
186
  [[package]]
187
187
  name = "botocore"
188
- version = "1.39.11"
188
+ version = "1.40.0"
189
189
  source = { registry = "https://pypi.org/simple" }
190
190
  dependencies = [
191
191
  { name = "jmespath" },
192
192
  { name = "python-dateutil" },
193
193
  { name = "urllib3" },
194
194
  ]
195
- sdist = { url = "https://files.pythonhosted.org/packages/6d/d0/9d64261186cff650fe63168441edb4f4cd33f085a74c0c54455630a71f91/botocore-1.39.11.tar.gz", hash = "sha256:953b12909d6799350e346ab038e55b6efe622c616f80aef74d7a6683ffdd972c", size = 14217749 }
195
+ sdist = { url = "https://files.pythonhosted.org/packages/8f/e7/770ce910457ac6c68ea79b83892ab7a7cb08528f5d1dd77e51bf02a8529e/botocore-1.40.0.tar.gz", hash = "sha256:850242560dc8e74d542045a81eb6cc15f1b730b4ba55ba5b30e6d686548dfcaf", size = 14262316 }
196
196
  wheels = [
197
- { url = "https://files.pythonhosted.org/packages/1c/2c/8a0b02d60a1dbbae7faa5af30484b016aa3023f9833dfc0d19b0b770dd6a/botocore-1.39.11-py3-none-any.whl", hash = "sha256:1545352931a8a186f3e977b1e1a4542d7d434796e274c3c62efd0210b5ea76dc", size = 13876276 },
197
+ { url = "https://files.pythonhosted.org/packages/38/5a/bebc53f022514412613615b09aef20fbe804abb3ea26ec27e504a2d21c8f/botocore-1.40.0-py3-none-any.whl", hash = "sha256:2063e6d035a6a382b2ae37e40f5144044e55d4e091910d0c9f1be3121ad3e4e6", size = 13921768 },
198
198
  ]
199
199
 
200
200
  [[package]]
@@ -548,43 +548,65 @@ wheels = [
548
548
 
549
549
  [[package]]
550
550
  name = "numpy"
551
- version = "2.3.1"
552
- source = { registry = "https://pypi.org/simple" }
553
- sdist = { url = "https://files.pythonhosted.org/packages/2e/19/d7c972dfe90a353dbd3efbbe1d14a5951de80c99c9dc1b93cd998d51dc0f/numpy-2.3.1.tar.gz", hash = "sha256:1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b", size = 20390372 }
554
- wheels = [
555
- { url = "https://files.pythonhosted.org/packages/c6/56/71ad5022e2f63cfe0ca93559403d0edef14aea70a841d640bd13cdba578e/numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2959d8f268f3d8ee402b04a9ec4bb7604555aeacf78b360dc4ec27f1d508177d", size = 20896664 },
556
- { url = "https://files.pythonhosted.org/packages/25/65/2db52ba049813670f7f987cc5db6dac9be7cd95e923cc6832b3d32d87cef/numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:762e0c0c6b56bdedfef9a8e1d4538556438288c4276901ea008ae44091954e29", size = 14131078 },
557
- { url = "https://files.pythonhosted.org/packages/57/dd/28fa3c17b0e751047ac928c1e1b6990238faad76e9b147e585b573d9d1bd/numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:867ef172a0976aaa1f1d1b63cf2090de8b636a7674607d514505fb7276ab08fc", size = 5112554 },
558
- { url = "https://files.pythonhosted.org/packages/c9/fc/84ea0cba8e760c4644b708b6819d91784c290288c27aca916115e3311d17/numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:4e602e1b8682c2b833af89ba641ad4176053aaa50f5cacda1a27004352dde943", size = 6646560 },
559
- { url = "https://files.pythonhosted.org/packages/61/b2/512b0c2ddec985ad1e496b0bd853eeb572315c0f07cd6997473ced8f15e2/numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8e333040d069eba1652fb08962ec5b76af7f2c7bce1df7e1418c8055cf776f25", size = 14260638 },
560
- { url = "https://files.pythonhosted.org/packages/6e/45/c51cb248e679a6c6ab14b7a8e3ead3f4a3fe7425fc7a6f98b3f147bec532/numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e7cbf5a5eafd8d230a3ce356d892512185230e4781a361229bd902ff403bc660", size = 16632729 },
561
- { url = "https://files.pythonhosted.org/packages/e4/ff/feb4be2e5c09a3da161b412019caf47183099cbea1132fd98061808c2df2/numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5f1b8f26d1086835f442286c1d9b64bb3974b0b1e41bb105358fd07d20872952", size = 15565330 },
562
- { url = "https://files.pythonhosted.org/packages/bc/6d/ceafe87587101e9ab0d370e4f6e5f3f3a85b9a697f2318738e5e7e176ce3/numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ee8340cb48c9b7a5899d1149eece41ca535513a9698098edbade2a8e7a84da77", size = 18361734 },
563
- { url = "https://files.pythonhosted.org/packages/2b/19/0fb49a3ea088be691f040c9bf1817e4669a339d6e98579f91859b902c636/numpy-2.3.1-cp312-cp312-win32.whl", hash = "sha256:e772dda20a6002ef7061713dc1e2585bc1b534e7909b2030b5a46dae8ff077ab", size = 6320411 },
564
- { url = "https://files.pythonhosted.org/packages/b1/3e/e28f4c1dd9e042eb57a3eb652f200225e311b608632bc727ae378623d4f8/numpy-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfecc7822543abdea6de08758091da655ea2210b8ffa1faf116b940693d3df76", size = 12734973 },
565
- { url = "https://files.pythonhosted.org/packages/04/a8/8a5e9079dc722acf53522b8f8842e79541ea81835e9b5483388701421073/numpy-2.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:7be91b2239af2658653c5bb6f1b8bccafaf08226a258caf78ce44710a0160d30", size = 10191491 },
566
- { url = "https://files.pythonhosted.org/packages/d4/bd/35ad97006d8abff8631293f8ea6adf07b0108ce6fec68da3c3fcca1197f2/numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8", size = 20889381 },
567
- { url = "https://files.pythonhosted.org/packages/f1/4f/df5923874d8095b6062495b39729178eef4a922119cee32a12ee1bd4664c/numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e", size = 14152726 },
568
- { url = "https://files.pythonhosted.org/packages/8c/0f/a1f269b125806212a876f7efb049b06c6f8772cf0121139f97774cd95626/numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0", size = 5105145 },
569
- { url = "https://files.pythonhosted.org/packages/6d/63/a7f7fd5f375b0361682f6ffbf686787e82b7bbd561268e4f30afad2bb3c0/numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d", size = 6639409 },
570
- { url = "https://files.pythonhosted.org/packages/bf/0d/1854a4121af895aab383f4aa233748f1df4671ef331d898e32426756a8a6/numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1", size = 14257630 },
571
- { url = "https://files.pythonhosted.org/packages/50/30/af1b277b443f2fb08acf1c55ce9d68ee540043f158630d62cef012750f9f/numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1", size = 16627546 },
572
- { url = "https://files.pythonhosted.org/packages/6e/ec/3b68220c277e463095342d254c61be8144c31208db18d3fd8ef02712bcd6/numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0", size = 15562538 },
573
- { url = "https://files.pythonhosted.org/packages/77/2b/4014f2bcc4404484021c74d4c5ee8eb3de7e3f7ac75f06672f8dcf85140a/numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8", size = 18360327 },
574
- { url = "https://files.pythonhosted.org/packages/40/8d/2ddd6c9b30fcf920837b8672f6c65590c7d92e43084c25fc65edc22e93ca/numpy-2.3.1-cp313-cp313-win32.whl", hash = "sha256:39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8", size = 6312330 },
575
- { url = "https://files.pythonhosted.org/packages/dd/c8/beaba449925988d415efccb45bf977ff8327a02f655090627318f6398c7b/numpy-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42", size = 12731565 },
576
- { url = "https://files.pythonhosted.org/packages/0b/c3/5c0c575d7ec78c1126998071f58facfc124006635da75b090805e642c62e/numpy-2.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e", size = 10190262 },
577
- { url = "https://files.pythonhosted.org/packages/ea/19/a029cd335cf72f79d2644dcfc22d90f09caa86265cbbde3b5702ccef6890/numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8", size = 20987593 },
578
- { url = "https://files.pythonhosted.org/packages/25/91/8ea8894406209107d9ce19b66314194675d31761fe2cb3c84fe2eeae2f37/numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb", size = 14300523 },
579
- { url = "https://files.pythonhosted.org/packages/a6/7f/06187b0066eefc9e7ce77d5f2ddb4e314a55220ad62dd0bfc9f2c44bac14/numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee", size = 5227993 },
580
- { url = "https://files.pythonhosted.org/packages/e8/ec/a926c293c605fa75e9cfb09f1e4840098ed46d2edaa6e2152ee35dc01ed3/numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992", size = 6736652 },
581
- { url = "https://files.pythonhosted.org/packages/e3/62/d68e52fb6fde5586650d4c0ce0b05ff3a48ad4df4ffd1b8866479d1d671d/numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c", size = 14331561 },
582
- { url = "https://files.pythonhosted.org/packages/fc/ec/b74d3f2430960044bdad6900d9f5edc2dc0fb8bf5a0be0f65287bf2cbe27/numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48", size = 16693349 },
583
- { url = "https://files.pythonhosted.org/packages/0d/15/def96774b9d7eb198ddadfcbd20281b20ebb510580419197e225f5c55c3e/numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee", size = 15642053 },
584
- { url = "https://files.pythonhosted.org/packages/2b/57/c3203974762a759540c6ae71d0ea2341c1fa41d84e4971a8e76d7141678a/numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280", size = 18434184 },
585
- { url = "https://files.pythonhosted.org/packages/22/8a/ccdf201457ed8ac6245187850aff4ca56a79edbea4829f4e9f14d46fa9a5/numpy-2.3.1-cp313-cp313t-win32.whl", hash = "sha256:6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e", size = 6440678 },
586
- { url = "https://files.pythonhosted.org/packages/f1/7e/7f431d8bd8eb7e03d79294aed238b1b0b174b3148570d03a8a8a8f6a0da9/numpy-2.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc", size = 12870697 },
587
- { url = "https://files.pythonhosted.org/packages/d4/ca/af82bf0fad4c3e573c6930ed743b5308492ff19917c7caaf2f9b6f9e2e98/numpy-2.3.1-cp313-cp313t-win_arm64.whl", hash = "sha256:eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244", size = 10260376 },
551
+ version = "2.3.2"
552
+ source = { registry = "https://pypi.org/simple" }
553
+ sdist = { url = "https://files.pythonhosted.org/packages/37/7d/3fec4199c5ffb892bed55cff901e4f39a58c81df9c44c280499e92cad264/numpy-2.3.2.tar.gz", hash = "sha256:e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48", size = 20489306 }
554
+ wheels = [
555
+ { url = "https://files.pythonhosted.org/packages/00/6d/745dd1c1c5c284d17725e5c802ca4d45cfc6803519d777f087b71c9f4069/numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bc3186bea41fae9d8e90c2b4fb5f0a1f5a690682da79b92574d63f56b529080b", size = 20956420 },
556
+ { url = "https://files.pythonhosted.org/packages/bc/96/e7b533ea5740641dd62b07a790af5d9d8fec36000b8e2d0472bd7574105f/numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f4f0215edb189048a3c03bd5b19345bdfa7b45a7a6f72ae5945d2a28272727f", size = 14184660 },
557
+ { url = "https://files.pythonhosted.org/packages/2b/53/102c6122db45a62aa20d1b18c9986f67e6b97e0d6fbc1ae13e3e4c84430c/numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8b1224a734cd509f70816455c3cffe13a4f599b1bf7130f913ba0e2c0b2006c0", size = 5113382 },
558
+ { url = "https://files.pythonhosted.org/packages/2b/21/376257efcbf63e624250717e82b4fae93d60178f09eb03ed766dbb48ec9c/numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:3dcf02866b977a38ba3ec10215220609ab9667378a9e2150615673f3ffd6c73b", size = 6647258 },
559
+ { url = "https://files.pythonhosted.org/packages/91/ba/f4ebf257f08affa464fe6036e13f2bf9d4642a40228781dc1235da81be9f/numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:572d5512df5470f50ada8d1972c5f1082d9a0b7aa5944db8084077570cf98370", size = 14281409 },
560
+ { url = "https://files.pythonhosted.org/packages/59/ef/f96536f1df42c668cbacb727a8c6da7afc9c05ece6d558927fb1722693e1/numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8145dd6d10df13c559d1e4314df29695613575183fa2e2d11fac4c208c8a1f73", size = 16641317 },
561
+ { url = "https://files.pythonhosted.org/packages/f6/a7/af813a7b4f9a42f498dde8a4c6fcbff8100eed00182cc91dbaf095645f38/numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:103ea7063fa624af04a791c39f97070bf93b96d7af7eb23530cd087dc8dbe9dc", size = 16056262 },
562
+ { url = "https://files.pythonhosted.org/packages/8b/5d/41c4ef8404caaa7f05ed1cfb06afe16a25895260eacbd29b4d84dff2920b/numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc927d7f289d14f5e037be917539620603294454130b6de200091e23d27dc9be", size = 18579342 },
563
+ { url = "https://files.pythonhosted.org/packages/a1/4f/9950e44c5a11636f4a3af6e825ec23003475cc9a466edb7a759ed3ea63bd/numpy-2.3.2-cp312-cp312-win32.whl", hash = "sha256:d95f59afe7f808c103be692175008bab926b59309ade3e6d25009e9a171f7036", size = 6320610 },
564
+ { url = "https://files.pythonhosted.org/packages/7c/2f/244643a5ce54a94f0a9a2ab578189c061e4a87c002e037b0829dd77293b6/numpy-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:9e196ade2400c0c737d93465327d1ae7c06c7cb8a1756121ebf54b06ca183c7f", size = 12786292 },
565
+ { url = "https://files.pythonhosted.org/packages/54/cd/7b5f49d5d78db7badab22d8323c1b6ae458fbf86c4fdfa194ab3cd4eb39b/numpy-2.3.2-cp312-cp312-win_arm64.whl", hash = "sha256:ee807923782faaf60d0d7331f5e86da7d5e3079e28b291973c545476c2b00d07", size = 10194071 },
566
+ { url = "https://files.pythonhosted.org/packages/1c/c0/c6bb172c916b00700ed3bf71cb56175fd1f7dbecebf8353545d0b5519f6c/numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c8d9727f5316a256425892b043736d63e89ed15bbfe6556c5ff4d9d4448ff3b3", size = 20949074 },
567
+ { url = "https://files.pythonhosted.org/packages/20/4e/c116466d22acaf4573e58421c956c6076dc526e24a6be0903219775d862e/numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b", size = 14177311 },
568
+ { url = "https://files.pythonhosted.org/packages/78/45/d4698c182895af189c463fc91d70805d455a227261d950e4e0f1310c2550/numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dd937f088a2df683cbb79dda9a772b62a3e5a8a7e76690612c2737f38c6ef1b6", size = 5106022 },
569
+ { url = "https://files.pythonhosted.org/packages/9f/76/3e6880fef4420179309dba72a8c11f6166c431cf6dee54c577af8906f914/numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:11e58218c0c46c80509186e460d79fbdc9ca1eb8d8aee39d8f2dc768eb781089", size = 6640135 },
570
+ { url = "https://files.pythonhosted.org/packages/34/fa/87ff7f25b3c4ce9085a62554460b7db686fef1e0207e8977795c7b7d7ba1/numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5ad4ebcb683a1f99f4f392cc522ee20a18b2bb12a2c1c42c3d48d5a1adc9d3d2", size = 14278147 },
571
+ { url = "https://files.pythonhosted.org/packages/1d/0f/571b2c7a3833ae419fe69ff7b479a78d313581785203cc70a8db90121b9a/numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f", size = 16635989 },
572
+ { url = "https://files.pythonhosted.org/packages/24/5a/84ae8dca9c9a4c592fe11340b36a86ffa9fd3e40513198daf8a97839345c/numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:66459dccc65d8ec98cc7df61307b64bf9e08101f9598755d42d8ae65d9a7a6ee", size = 16053052 },
573
+ { url = "https://files.pythonhosted.org/packages/57/7c/e5725d99a9133b9813fcf148d3f858df98511686e853169dbaf63aec6097/numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7af9ed2aa9ec5950daf05bb11abc4076a108bd3c7db9aa7251d5f107079b6a6", size = 18577955 },
574
+ { url = "https://files.pythonhosted.org/packages/ae/11/7c546fcf42145f29b71e4d6f429e96d8d68e5a7ba1830b2e68d7418f0bbd/numpy-2.3.2-cp313-cp313-win32.whl", hash = "sha256:906a30249315f9c8e17b085cc5f87d3f369b35fedd0051d4a84686967bdbbd0b", size = 6311843 },
575
+ { url = "https://files.pythonhosted.org/packages/aa/6f/a428fd1cb7ed39b4280d057720fed5121b0d7754fd2a9768640160f5517b/numpy-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:c63d95dc9d67b676e9108fe0d2182987ccb0f11933c1e8959f42fa0da8d4fa56", size = 12782876 },
576
+ { url = "https://files.pythonhosted.org/packages/65/85/4ea455c9040a12595fb6c43f2c217257c7b52dd0ba332c6a6c1d28b289fe/numpy-2.3.2-cp313-cp313-win_arm64.whl", hash = "sha256:b05a89f2fb84d21235f93de47129dd4f11c16f64c87c33f5e284e6a3a54e43f2", size = 10192786 },
577
+ { url = "https://files.pythonhosted.org/packages/80/23/8278f40282d10c3f258ec3ff1b103d4994bcad78b0cba9208317f6bb73da/numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4e6ecfeddfa83b02318f4d84acf15fbdbf9ded18e46989a15a8b6995dfbf85ab", size = 21047395 },
578
+ { url = "https://files.pythonhosted.org/packages/1f/2d/624f2ce4a5df52628b4ccd16a4f9437b37c35f4f8a50d00e962aae6efd7a/numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:508b0eada3eded10a3b55725b40806a4b855961040180028f52580c4729916a2", size = 14300374 },
579
+ { url = "https://files.pythonhosted.org/packages/f6/62/ff1e512cdbb829b80a6bd08318a58698867bca0ca2499d101b4af063ee97/numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:754d6755d9a7588bdc6ac47dc4ee97867271b17cee39cb87aef079574366db0a", size = 5228864 },
580
+ { url = "https://files.pythonhosted.org/packages/7d/8e/74bc18078fff03192d4032cfa99d5a5ca937807136d6f5790ce07ca53515/numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f66e7d2b2d7712410d3bc5684149040ef5f19856f20277cd17ea83e5006286", size = 6737533 },
581
+ { url = "https://files.pythonhosted.org/packages/19/ea/0731efe2c9073ccca5698ef6a8c3667c4cf4eea53fcdcd0b50140aba03bc/numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de6ea4e5a65d5a90c7d286ddff2b87f3f4ad61faa3db8dabe936b34c2275b6f8", size = 14352007 },
582
+ { url = "https://files.pythonhosted.org/packages/cf/90/36be0865f16dfed20f4bc7f75235b963d5939707d4b591f086777412ff7b/numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3ef07ec8cbc8fc9e369c8dcd52019510c12da4de81367d8b20bc692aa07573a", size = 16701914 },
583
+ { url = "https://files.pythonhosted.org/packages/94/30/06cd055e24cb6c38e5989a9e747042b4e723535758e6153f11afea88c01b/numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:27c9f90e7481275c7800dc9c24b7cc40ace3fdb970ae4d21eaff983a32f70c91", size = 16132708 },
584
+ { url = "https://files.pythonhosted.org/packages/9a/14/ecede608ea73e58267fd7cb78f42341b3b37ba576e778a1a06baffbe585c/numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:07b62978075b67eee4065b166d000d457c82a1efe726cce608b9db9dd66a73a5", size = 18651678 },
585
+ { url = "https://files.pythonhosted.org/packages/40/f3/2fe6066b8d07c3685509bc24d56386534c008b462a488b7f503ba82b8923/numpy-2.3.2-cp313-cp313t-win32.whl", hash = "sha256:c771cfac34a4f2c0de8e8c97312d07d64fd8f8ed45bc9f5726a7e947270152b5", size = 6441832 },
586
+ { url = "https://files.pythonhosted.org/packages/0b/ba/0937d66d05204d8f28630c9c60bc3eda68824abde4cf756c4d6aad03b0c6/numpy-2.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450", size = 12927049 },
587
+ { url = "https://files.pythonhosted.org/packages/e9/ed/13542dd59c104d5e654dfa2ac282c199ba64846a74c2c4bcdbc3a0f75df1/numpy-2.3.2-cp313-cp313t-win_arm64.whl", hash = "sha256:72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a", size = 10262935 },
588
+ { url = "https://files.pythonhosted.org/packages/c9/7c/7659048aaf498f7611b783e000c7268fcc4dcf0ce21cd10aad7b2e8f9591/numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a", size = 20950906 },
589
+ { url = "https://files.pythonhosted.org/packages/80/db/984bea9d4ddf7112a04cfdfb22b1050af5757864cfffe8e09e44b7f11a10/numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b", size = 14185607 },
590
+ { url = "https://files.pythonhosted.org/packages/e4/76/b3d6f414f4eca568f469ac112a3b510938d892bc5a6c190cb883af080b77/numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125", size = 5114110 },
591
+ { url = "https://files.pythonhosted.org/packages/9e/d2/6f5e6826abd6bca52392ed88fe44a4b52aacb60567ac3bc86c67834c3a56/numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19", size = 6642050 },
592
+ { url = "https://files.pythonhosted.org/packages/c4/43/f12b2ade99199e39c73ad182f103f9d9791f48d885c600c8e05927865baf/numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f", size = 14296292 },
593
+ { url = "https://files.pythonhosted.org/packages/5d/f9/77c07d94bf110a916b17210fac38680ed8734c236bfed9982fd8524a7b47/numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5", size = 16638913 },
594
+ { url = "https://files.pythonhosted.org/packages/9b/d1/9d9f2c8ea399cc05cfff8a7437453bd4e7d894373a93cdc46361bbb49a7d/numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58", size = 16071180 },
595
+ { url = "https://files.pythonhosted.org/packages/4c/41/82e2c68aff2a0c9bf315e47d61951099fed65d8cb2c8d9dc388cb87e947e/numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0", size = 18576809 },
596
+ { url = "https://files.pythonhosted.org/packages/14/14/4b4fd3efb0837ed252d0f583c5c35a75121038a8c4e065f2c259be06d2d8/numpy-2.3.2-cp314-cp314-win32.whl", hash = "sha256:7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2", size = 6366410 },
597
+ { url = "https://files.pythonhosted.org/packages/11/9e/b4c24a6b8467b61aced5c8dc7dcfce23621baa2e17f661edb2444a418040/numpy-2.3.2-cp314-cp314-win_amd64.whl", hash = "sha256:b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b", size = 12918821 },
598
+ { url = "https://files.pythonhosted.org/packages/0e/0f/0dc44007c70b1007c1cef86b06986a3812dd7106d8f946c09cfa75782556/numpy-2.3.2-cp314-cp314-win_arm64.whl", hash = "sha256:2738534837c6a1d0c39340a190177d7d66fdf432894f469728da901f8f6dc910", size = 10477303 },
599
+ { url = "https://files.pythonhosted.org/packages/8b/3e/075752b79140b78ddfc9c0a1634d234cfdbc6f9bbbfa6b7504e445ad7d19/numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:4d002ecf7c9b53240be3bb69d80f86ddbd34078bae04d87be81c1f58466f264e", size = 21047524 },
600
+ { url = "https://files.pythonhosted.org/packages/fe/6d/60e8247564a72426570d0e0ea1151b95ce5bd2f1597bb878a18d32aec855/numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:293b2192c6bcce487dbc6326de5853787f870aeb6c43f8f9c6496db5b1781e45", size = 14300519 },
601
+ { url = "https://files.pythonhosted.org/packages/4d/73/d8326c442cd428d47a067070c3ac6cc3b651a6e53613a1668342a12d4479/numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0a4f2021a6da53a0d580d6ef5db29947025ae8b35b3250141805ea9a32bbe86b", size = 5228972 },
602
+ { url = "https://files.pythonhosted.org/packages/34/2e/e71b2d6dad075271e7079db776196829019b90ce3ece5c69639e4f6fdc44/numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9c144440db4bf3bb6372d2c3e49834cc0ff7bb4c24975ab33e01199e645416f2", size = 6737439 },
603
+ { url = "https://files.pythonhosted.org/packages/15/b0/d004bcd56c2c5e0500ffc65385eb6d569ffd3363cb5e593ae742749b2daa/numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f92d6c2a8535dc4fe4419562294ff957f83a16ebdec66df0805e473ffaad8bd0", size = 14352479 },
604
+ { url = "https://files.pythonhosted.org/packages/11/e3/285142fcff8721e0c99b51686426165059874c150ea9ab898e12a492e291/numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cefc2219baa48e468e3db7e706305fcd0c095534a192a08f31e98d83a7d45fb0", size = 16702805 },
605
+ { url = "https://files.pythonhosted.org/packages/33/c3/33b56b0e47e604af2c7cd065edca892d180f5899599b76830652875249a3/numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:76c3e9501ceb50b2ff3824c3589d5d1ab4ac857b0ee3f8f49629d0de55ecf7c2", size = 16133830 },
606
+ { url = "https://files.pythonhosted.org/packages/6e/ae/7b1476a1f4d6a48bc669b8deb09939c56dd2a439db1ab03017844374fb67/numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:122bf5ed9a0221b3419672493878ba4967121514b1d7d4656a7580cd11dddcbf", size = 18652665 },
607
+ { url = "https://files.pythonhosted.org/packages/14/ba/5b5c9978c4bb161034148ade2de9db44ec316fab89ce8c400db0e0c81f86/numpy-2.3.2-cp314-cp314t-win32.whl", hash = "sha256:6f1ae3dcb840edccc45af496f312528c15b1f79ac318169d094e85e4bb35fdf1", size = 6514777 },
608
+ { url = "https://files.pythonhosted.org/packages/eb/46/3dbaf0ae7c17cdc46b9f662c56da2054887b8d9e737c1476f335c83d33db/numpy-2.3.2-cp314-cp314t-win_amd64.whl", hash = "sha256:087ffc25890d89a43536f75c5fe8770922008758e8eeeef61733957041ed2f9b", size = 13111856 },
609
+ { url = "https://files.pythonhosted.org/packages/c1/9e/1652778bce745a67b5fe05adde60ed362d38eb17d919a540e813d30f6874/numpy-2.3.2-cp314-cp314t-win_arm64.whl", hash = "sha256:092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631", size = 10544226 },
588
610
  ]
589
611
 
590
612
  [[package]]
@@ -719,7 +741,7 @@ wheels = [
719
741
 
720
742
  [[package]]
721
743
  name = "python-terminusgps"
722
- version = "38.2.0"
744
+ version = "38.3.0"
723
745
  source = { editable = "." }
724
746
  dependencies = [
725
747
  { name = "argparse" },
@@ -995,7 +1017,7 @@ wheels = [
995
1017
 
996
1018
  [[package]]
997
1019
  name = "twilio"
998
- version = "9.6.5"
1020
+ version = "9.7.0"
999
1021
  source = { registry = "https://pypi.org/simple" }
1000
1022
  dependencies = [
1001
1023
  { name = "aiohttp" },
@@ -1003,30 +1025,30 @@ dependencies = [
1003
1025
  { name = "pyjwt" },
1004
1026
  { name = "requests" },
1005
1027
  ]
1006
- sdist = { url = "https://files.pythonhosted.org/packages/7c/5e/0a591781cd360819f61ccb8337efbc5d9931cf286e5b13e5d3ca72735e06/twilio-9.6.5.tar.gz", hash = "sha256:4f246b3d3474090b55dc13034b7cec2f9250877f5298f8419a3fe8a447f36f71", size = 1037726 }
1028
+ sdist = { url = "https://files.pythonhosted.org/packages/a9/b6/d630e6558bf05fe2bb5d5201a769adf837c129b61f4e8ae57c54779095e1/twilio-9.7.0.tar.gz", hash = "sha256:d189606d5689772f91cabc9f16ed0e53800601ba0b547296678eb8faa00066b9", size = 1038451 }
1007
1029
  wheels = [
1008
- { url = "https://files.pythonhosted.org/packages/60/89/b32b7c3afef8635f94d2b9a89ae95adf2f13c942c3af047ccaa6d0c442f3/twilio-9.6.5-py2.py3-none-any.whl", hash = "sha256:e9f547267b59fb474bfc715c042662d9d2b1a1bbcde34017954407aa95482277", size = 1895395 },
1030
+ { url = "https://files.pythonhosted.org/packages/ce/55/39d9cb47b63d1450086812d2b78ab9f42c221ddad61676d3baf43fafd3f4/twilio-9.7.0-py2.py3-none-any.whl", hash = "sha256:bf5672156febad2de65b68c32e9a415bb91e025ff801ac1499cb8ba5f1b055d2", size = 1895596 },
1009
1031
  ]
1010
1032
 
1011
1033
  [[package]]
1012
1034
  name = "types-aiobotocore"
1013
- version = "2.23.1"
1035
+ version = "2.23.2"
1014
1036
  source = { registry = "https://pypi.org/simple" }
1015
1037
  dependencies = [
1016
1038
  { name = "botocore-stubs" },
1017
1039
  ]
1018
- sdist = { url = "https://files.pythonhosted.org/packages/1c/a6/6202531e1d1ceb2854e3dd064c5848f8ecb682d18406724157f75744e436/types_aiobotocore-2.23.1.tar.gz", hash = "sha256:1fe66884123f1aa98366a1b8b0b766d9a64d58bc5c8a06dc88ff8f48feb9930f", size = 85849 }
1040
+ sdist = { url = "https://files.pythonhosted.org/packages/e6/84/cdc118123c40448bf1ffb235a47baecee6eb8b4dccf6c756f715d485eeca/types_aiobotocore-2.23.2.tar.gz", hash = "sha256:fd7669a752653a13c6616830fe70afe9c2684f66bd14a5ea0b80c1de0a5b4005", size = 86574 }
1019
1041
  wheels = [
1020
- { url = "https://files.pythonhosted.org/packages/ef/78/2c347161cb7ae9e46e0f1538cc681e517d2dd91cce942ac38829e543f339/types_aiobotocore-2.23.1-py3-none-any.whl", hash = "sha256:5fb887f7eba63c9f227463bb8e4b065b1462d66345c2fe4e0fe413448adc9a7e", size = 53789 },
1042
+ { url = "https://files.pythonhosted.org/packages/bc/18/d0abf3f0890d13c302de40a14acc910daf98c82d290a13650caba9b00ee3/types_aiobotocore-2.23.2-py3-none-any.whl", hash = "sha256:e8ac85737345b9ec669a0b2ec1fe4c813261d258586a4f80ae092698745fc6b2", size = 54093 },
1021
1043
  ]
1022
1044
 
1023
1045
  [[package]]
1024
1046
  name = "types-awscrt"
1025
- version = "0.27.4"
1047
+ version = "0.27.5"
1026
1048
  source = { registry = "https://pypi.org/simple" }
1027
- sdist = { url = "https://files.pythonhosted.org/packages/94/95/02564024f8668feab6733a2c491005b5281b048b3d0573510622cbcd9fd4/types_awscrt-0.27.4.tar.gz", hash = "sha256:c019ba91a097e8a31d6948f6176ede1312963f41cdcacf82482ac877cbbcf390", size = 16941 }
1049
+ sdist = { url = "https://files.pythonhosted.org/packages/09/dd/9dc12092b88b95b88ef161c856619c1ef1f52bec1248273abe43ba56f123/types_awscrt-0.27.5.tar.gz", hash = "sha256:8eefe50d1709520663b77d3643a772c35ace3d8acfcb296f857627622c84cb4c", size = 16953 }
1028
1050
  wheels = [
1029
- { url = "https://files.pythonhosted.org/packages/d4/40/cb4d04df4ac3520858f5b397a4ab89f34be2601000002a26edd8ddc0cac5/types_awscrt-0.27.4-py3-none-any.whl", hash = "sha256:a8c4b9d9ae66d616755c322aba75ab9bd793c6fef448917e6de2e8b8cdf66fb4", size = 39626 },
1051
+ { url = "https://files.pythonhosted.org/packages/83/fc/259979fadf4c6b0ff8a025d61a7d47e2868b4e9e429983c3ee58fdc9d106/types_awscrt-0.27.5-py3-none-any.whl", hash = "sha256:99ee40e787dfb92ae93a5c956251a03b847de3ac532552f7e06dd5eb6e0fd02f", size = 39627 },
1030
1052
  ]
1031
1053
 
1032
1054
  [[package]]