python-terminusgps 29.0.0__tar.gz → 29.1.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 (250) hide show
  1. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/PKG-INFO +3 -2
  2. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/pyproject.toml +3 -2
  3. python_terminusgps-29.1.0/terminusgps/utils.py +6 -0
  4. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/uv.lock +29 -17
  5. python_terminusgps-29.0.0/terminusgps/opencv/barcode_scanner.py +0 -7
  6. python_terminusgps-29.0.0/terminusgps/wialon/__init__.py +0 -0
  7. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/.gitignore +0 -0
  8. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/COPYING +0 -0
  9. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/README.md +0 -0
  10. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/Makefile +0 -0
  11. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/coverage/c.txt +0 -0
  12. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/coverage/python.txt +0 -0
  13. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/coverage/undoc.pickle +0 -0
  14. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/authorizenet/auth.doctree +0 -0
  15. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/authorizenet/index.doctree +0 -0
  16. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/authorizenet/profiles.doctree +0 -0
  17. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/authorizenet/subscriptions.doctree +0 -0
  18. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/authorizenet/utils.doctree +0 -0
  19. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/aws/index.doctree +0 -0
  20. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/aws/secrets.doctree +0 -0
  21. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/environment.pickle +0 -0
  22. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/index.doctree +0 -0
  23. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/mixins.doctree +0 -0
  24. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/settings.doctree +0 -0
  25. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/twilio/caller.doctree +0 -0
  26. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/twilio/index.doctree +0 -0
  27. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/twilio/settings.doctree +0 -0
  28. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/validators.doctree +0 -0
  29. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/wialon/constants.doctree +0 -0
  30. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/wialon/errors.doctree +0 -0
  31. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/wialon/examples.doctree +0 -0
  32. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/wialon/flags.doctree +0 -0
  33. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/wialon/index.doctree +0 -0
  34. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/wialon/items.doctree +0 -0
  35. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/wialon/session.doctree +0 -0
  36. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/wialon/settings.doctree +0 -0
  37. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/doctrees/wialon/utils.doctree +0 -0
  38. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/index.html +0 -0
  39. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/authorizenet/auth.html +0 -0
  40. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/authorizenet/errors.html +0 -0
  41. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/addresses.html +0 -0
  42. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/base.html +0 -0
  43. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/customers.html +0 -0
  44. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/payments.html +0 -0
  45. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/authorizenet/profiles/subscriptions.html +0 -0
  46. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/authorizenet/subscriptions/subscriptions.html +0 -0
  47. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/authorizenet/utils.html +0 -0
  48. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/aws/secrets.html +0 -0
  49. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/mixins.html +0 -0
  50. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/twilio/caller.html +0 -0
  51. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/flags.html +0 -0
  52. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/items/base.html +0 -0
  53. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/items/geofence.html +0 -0
  54. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/items/notification.html +0 -0
  55. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/items/resource.html +0 -0
  56. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/items/retranslator.html +0 -0
  57. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/items/route.html +0 -0
  58. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/items/unit.html +0 -0
  59. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/items/unit_group.html +0 -0
  60. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/items/user.html +0 -0
  61. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/session.html +0 -0
  62. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/terminusgps/wialon/utils.html +0 -0
  63. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_modules/wialon/api.html +0 -0
  64. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/authorizenet/auth.rst.txt +0 -0
  65. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/authorizenet/index.rst.txt +0 -0
  66. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/authorizenet/profiles.rst.txt +0 -0
  67. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/authorizenet/subscriptions.rst.txt +0 -0
  68. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/authorizenet/utils.rst.txt +0 -0
  69. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/aws/index.rst.txt +0 -0
  70. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/aws/secrets.rst.txt +0 -0
  71. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/index.rst.txt +0 -0
  72. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/mixins.rst.txt +0 -0
  73. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/settings.rst.txt +0 -0
  74. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/twilio/caller.rst.txt +0 -0
  75. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/twilio/index.rst.txt +0 -0
  76. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/twilio/settings.rst.txt +0 -0
  77. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/validators.rst.txt +0 -0
  78. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/wialon/constants.rst.txt +0 -0
  79. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/wialon/errors.rst.txt +0 -0
  80. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/wialon/examples.rst.txt +0 -0
  81. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/wialon/flags.rst.txt +0 -0
  82. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/wialon/index.rst.txt +0 -0
  83. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/wialon/items.rst.txt +0 -0
  84. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/wialon/session.rst.txt +0 -0
  85. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/wialon/settings.rst.txt +0 -0
  86. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_sources/wialon/utils.rst.txt +0 -0
  87. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/0fc70aa4dfe4d16d7073.woff +0 -0
  88. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/583e3f428bf2362b546d.woff +0 -0
  89. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/5be6ec379613f10aea3f.woff +0 -0
  90. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/76c1862325ea6f70eeff.woff2 +0 -0
  91. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/83710c128240451d95af.woff +0 -0
  92. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  93. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/a63d39a1c104a2b3e87e.woff2 +0 -0
  94. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/autoclasstoc.css +0 -0
  95. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/awesome-docsearch.css +0 -0
  96. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/awesome-docsearch.js +0 -0
  97. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/awesome-sphinx-design.css +0 -0
  98. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/awesome-sphinx-design.js +0 -0
  99. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/b659956119f91f2342bc.woff2 +0 -0
  100. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/basic.css +0 -0
  101. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/bb50084be2b43ba7b98c.woff2 +0 -0
  102. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/ce1e40901d7a0d88d483.woff2 +0 -0
  103. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/badge_only.css +0 -0
  104. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  105. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  106. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  107. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  108. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  109. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  110. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  111. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  112. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  113. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  114. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  115. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
  116. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  117. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  118. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  119. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
  120. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  121. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/css/theme.css +0 -0
  122. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/d04352f240062b100fba.woff2 +0 -0
  123. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/doctools.js +0 -0
  124. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/documentation_options.js +0 -0
  125. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/f1cdf5c21de970ee0592.woff +0 -0
  126. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fd994e8d90d9cab651b0.woff +0 -0
  127. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/file.png +0 -0
  128. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  129. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  130. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  131. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  132. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  133. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  134. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  135. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  136. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  137. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  138. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  139. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  140. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  141. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  142. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  143. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  144. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  145. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  146. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  147. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  148. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  149. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  150. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  151. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  152. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/jquery.js +0 -0
  153. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/js/badge_only.js +0 -0
  154. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/js/theme.js +0 -0
  155. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/js/versions.js +0 -0
  156. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/language_data.js +0 -0
  157. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/minus.png +0 -0
  158. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/plus.png +0 -0
  159. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/pygments.css +0 -0
  160. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/searchtools.js +0 -0
  161. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/sphinx_highlight.js +0 -0
  162. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/theme.css +0 -0
  163. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/theme.js +0 -0
  164. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/_static/theme.js.LICENSE.txt +0 -0
  165. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/authorizenet/auth.html +0 -0
  166. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/authorizenet/index.html +0 -0
  167. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/authorizenet/profiles.html +0 -0
  168. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/authorizenet/subscriptions.html +0 -0
  169. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/authorizenet/utils.html +0 -0
  170. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/aws/index.html +0 -0
  171. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/aws/secrets.html +0 -0
  172. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/genindex.html +0 -0
  173. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/index.html +0 -0
  174. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/mixins.html +0 -0
  175. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/objects.inv +0 -0
  176. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/py-modindex.html +0 -0
  177. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/search.html +0 -0
  178. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/searchindex.js +0 -0
  179. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/settings.html +0 -0
  180. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/twilio/caller.html +0 -0
  181. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/twilio/index.html +0 -0
  182. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/twilio/settings.html +0 -0
  183. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/validators.html +0 -0
  184. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/wialon/constants.html +0 -0
  185. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/wialon/errors.html +0 -0
  186. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/wialon/examples.html +0 -0
  187. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/wialon/flags.html +0 -0
  188. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/wialon/index.html +0 -0
  189. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/wialon/items.html +0 -0
  190. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/wialon/session.html +0 -0
  191. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/wialon/settings.html +0 -0
  192. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/html/wialon/utils.html +0 -0
  193. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/linkcheck/output.json +0 -0
  194. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/build/linkcheck/output.txt +0 -0
  195. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/make.bat +0 -0
  196. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/authorizenet/auth.rst +0 -0
  197. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/authorizenet/index.rst +0 -0
  198. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/authorizenet/profiles.rst +0 -0
  199. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/authorizenet/utils.rst +0 -0
  200. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/aws/index.rst +0 -0
  201. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/aws/secrets.rst +0 -0
  202. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/conf.py +0 -0
  203. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/index.rst +0 -0
  204. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/mixins.rst +0 -0
  205. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/settings.rst +0 -0
  206. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/twilio/caller.rst +0 -0
  207. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/twilio/index.rst +0 -0
  208. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/validators.rst +0 -0
  209. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/wialon/constants.rst +0 -0
  210. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/wialon/errors.rst +0 -0
  211. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/wialon/examples.rst +0 -0
  212. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/wialon/flags.rst +0 -0
  213. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/wialon/index.rst +0 -0
  214. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/wialon/items.rst +0 -0
  215. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/wialon/session.rst +0 -0
  216. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/docs/source/wialon/utils.rst +0 -0
  217. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/__init__.py +0 -0
  218. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/__init__.py +0 -0
  219. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/auth.py +0 -0
  220. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/errors.py +0 -0
  221. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/profiles/__init__.py +0 -0
  222. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/profiles/addresses.py +0 -0
  223. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/profiles/base.py +0 -0
  224. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/profiles/customers.py +0 -0
  225. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/profiles/payments.py +0 -0
  226. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/profiles/subscriptions.py +0 -0
  227. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/authorizenet/utils.py +0 -0
  228. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/aws/__init__.py +0 -0
  229. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/aws/connect.py +0 -0
  230. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/aws/secrets.py +0 -0
  231. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/mixins.py +0 -0
  232. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/settings.py +0 -0
  233. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/twilio/__init__.py +0 -0
  234. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/twilio/caller.py +0 -0
  235. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/twilio/validators.py +0 -0
  236. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/validators.py +0 -0
  237. {python_terminusgps-29.0.0/terminusgps/opencv → python_terminusgps-29.1.0/terminusgps/wialon}/__init__.py +0 -0
  238. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/constants.py +0 -0
  239. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/flags.py +0 -0
  240. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/items/__init__.py +0 -0
  241. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/items/base.py +0 -0
  242. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/items/resource.py +0 -0
  243. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/items/retranslator.py +0 -0
  244. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/items/route.py +0 -0
  245. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/items/unit.py +0 -0
  246. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/items/unit_group.py +0 -0
  247. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/items/user.py +0 -0
  248. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/logger.py +0 -0
  249. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/session.py +0 -0
  250. {python_terminusgps-29.0.0 → python_terminusgps-29.1.0}/terminusgps/wialon/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-terminusgps
3
- Version: 29.0.0
3
+ Version: 29.1.0
4
4
  Summary: Provides abstractions/utilities for working with Wialon API, Authorize.NET API, AWS API, and more.
5
5
  Project-URL: Documentation, https://app.terminusgps.com/docs/apps/python-terminusgps/index.html
6
6
  Project-URL: Repository, https://github.com/terminusgps/python-terminusgps
@@ -17,7 +17,8 @@ Requires-Dist: authorizenet>=1.1.5
17
17
  Requires-Dist: boto3>=1.34.144
18
18
  Requires-Dist: django>=5.1.5
19
19
  Requires-Dist: matplotlib>=3.10.1
20
- Requires-Dist: opencv-python>=4.11.0.86
20
+ Requires-Dist: opencv-contrib-python-headless>=4.11.0.86
21
21
  Requires-Dist: pandas>=2.2.3
22
22
  Requires-Dist: python-wialon>=1.2.4
23
+ Requires-Dist: pyzbar>=0.1.9
23
24
  Requires-Dist: twilio>=9.4.5
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "python-terminusgps"
3
- version = "29.0.0"
3
+ version = "29.1.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" } ]
@@ -18,9 +18,10 @@ dependencies = [
18
18
  "boto3>=1.34.144",
19
19
  "django>=5.1.5",
20
20
  "matplotlib>=3.10.1",
21
- "opencv-python>=4.11.0.86",
21
+ "opencv-contrib-python-headless>=4.11.0.86",
22
22
  "pandas>=2.2.3",
23
23
  "python-wialon>=1.2.4",
24
+ "pyzbar>=0.1.9",
24
25
  "twilio>=9.4.5",
25
26
  ]
26
27
 
@@ -0,0 +1,6 @@
1
+ import numpy as np
2
+ from pyzbar.pyzbar import decode
3
+
4
+
5
+ def scan_barcode(img: np.ndarray) -> list:
6
+ return decode(img)
@@ -173,30 +173,30 @@ wheels = [
173
173
 
174
174
  [[package]]
175
175
  name = "boto3"
176
- version = "1.37.33"
176
+ version = "1.37.34"
177
177
  source = { registry = "https://pypi.org/simple" }
178
178
  dependencies = [
179
179
  { name = "botocore" },
180
180
  { name = "jmespath" },
181
181
  { name = "s3transfer" },
182
182
  ]
183
- sdist = { url = "https://files.pythonhosted.org/packages/89/74/001695948752bc1b5357677eb2635e059f464b22c3eb5f9411ec4e8c48a3/boto3-1.37.33.tar.gz", hash = "sha256:4390317a1578af73f1514651bd180ba25802dcbe0a23deafa13851d54d3c3203", size = 111676 }
183
+ sdist = { url = "https://files.pythonhosted.org/packages/39/5d/6b1ca20ba4da350799509a69f2d295ae11d5ec08a98e82f74b5708a8180c/boto3-1.37.34.tar.gz", hash = "sha256:94ca07328474db3fa605eb99b011512caa73f7161740d365a1f00cfebfb6dd90", size = 111701 }
184
184
  wheels = [
185
- { url = "https://files.pythonhosted.org/packages/1f/e7/e660fac728570c926c4a12fa1ae8bffde7300d4817942bbd7871a6ebd4e2/boto3-1.37.33-py3-none-any.whl", hash = "sha256:7b1b1bc69762975824e5a5d570880abebf634f7594f88b3dc175e8800f35be1a", size = 139920 },
185
+ { url = "https://files.pythonhosted.org/packages/cb/2e/ad43d1e87d46d11dcf4104f97b9a7f6beb38a52a0e752edfadf3eb8b6e38/boto3-1.37.34-py3-none-any.whl", hash = "sha256:586bfa72a00601c04067f9adcbb08ecaf63b05b7d731103f33cb2ce0d6950b1b", size = 139920 },
186
186
  ]
187
187
 
188
188
  [[package]]
189
189
  name = "botocore"
190
- version = "1.37.33"
190
+ version = "1.37.34"
191
191
  source = { registry = "https://pypi.org/simple" }
192
192
  dependencies = [
193
193
  { name = "jmespath" },
194
194
  { name = "python-dateutil" },
195
195
  { name = "urllib3" },
196
196
  ]
197
- sdist = { url = "https://files.pythonhosted.org/packages/f4/1d/0c539ae261d2f8fe8b47c358b369ec58645bf0ea96b78825365e48675b67/botocore-1.37.33.tar.gz", hash = "sha256:09b213b0d0500040f85c7daee912ea767c724e43ed61909e624c803ff6925222", size = 13817305 }
197
+ sdist = { url = "https://files.pythonhosted.org/packages/ca/60/9ec251a0e2d3994f3eac8bd9741576757c3aad189abbdec8fab6011f5a1a/botocore-1.37.34.tar.gz", hash = "sha256:2909b6dbf9c90347c71a6fa0364acee522d6a7664f13d6f7996c9dd1b1f46fac", size = 13817141 }
198
198
  wheels = [
199
- { url = "https://files.pythonhosted.org/packages/21/93/425fb149fb969f07804f60cb1931d8aab197eb5f45dce821cbbbffc49207/botocore-1.37.33-py3-none-any.whl", hash = "sha256:4a167dfecae51e9140de24067de1c339acde5ade3dad524a4600ac2c72055e23", size = 13482312 },
199
+ { url = "https://files.pythonhosted.org/packages/e8/51/19fff717cc5000708c4ce3d081bb0e63ca117c6823975b33101d52fdd9f5/botocore-1.37.34-py3-none-any.whl", hash = "sha256:bd9af0db1097befd2028ba8525e32cacc04f26ccb9dbd5d48d6ecd05bc16c27a", size = 13483679 },
200
200
  ]
201
201
 
202
202
  [[package]]
@@ -715,20 +715,20 @@ wheels = [
715
715
  ]
716
716
 
717
717
  [[package]]
718
- name = "opencv-python"
718
+ name = "opencv-contrib-python-headless"
719
719
  version = "4.11.0.86"
720
720
  source = { registry = "https://pypi.org/simple" }
721
721
  dependencies = [
722
722
  { name = "numpy" },
723
723
  ]
724
- sdist = { url = "https://files.pythonhosted.org/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956 }
724
+ sdist = { url = "https://files.pythonhosted.org/packages/53/cc/295e9a4e783ca71ba1b8fbd34e51bc603eba4611afcfc7de1b09b2d6ed8d/opencv-contrib-python-headless-4.11.0.86.tar.gz", hash = "sha256:839319098a73264c580c97cb1ca835f7fce3d30e4fa9fa6d4d0618fff551be0b", size = 150579288 }
725
725
  wheels = [
726
- { url = "https://files.pythonhosted.org/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322 },
727
- { url = "https://files.pythonhosted.org/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197 },
728
- { url = "https://files.pythonhosted.org/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439 },
729
- { url = "https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597 },
730
- { url = "https://files.pythonhosted.org/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337 },
731
- { url = "https://files.pythonhosted.org/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044 },
726
+ { url = "https://files.pythonhosted.org/packages/1d/fd/501948c96381bc94f76dde8357c2d7cf2bb98e7734366856d7b32d5e6c31/opencv_contrib_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:b34485c0164057726eee8cb80d5cd5dedaab5edde716451fb4107dcc60cf40f0", size = 46276903 },
727
+ { url = "https://files.pythonhosted.org/packages/29/fa/ba711201197bd0f9c9cda21f739393b9e14c2394b0d8ba886a877071a576/opencv_contrib_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:ec88044ecb426549b05a8a6187e68051299848c4556ef8cef310621ca8f4316b", size = 66524225 },
728
+ { url = "https://files.pythonhosted.org/packages/83/ec/b3fb322e8bac7b797f98676c34599827920b3972e4d664bbdf8de84d7fca/opencv_contrib_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8dc2f4109904ffa55967bf9ceb1521ce46d66c333e2f6261dfa1f957a1dbde0", size = 35122073 },
729
+ { url = "https://files.pythonhosted.org/packages/7a/80/26c4ad9459498fc9213dea7254c8d6cb7717b279306b070588a2781559d4/opencv_contrib_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e7a86bf02e8157a2d9fce26d44eaafd31113fc21fc8b4f44ff56c28ab32fdba", size = 56078660 },
730
+ { url = "https://files.pythonhosted.org/packages/c0/38/2ce4259eca6ca356e3757b596d7d583b4ab0be4a482c9f4dacaa3eb688d1/opencv_contrib_python_headless-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:d2c10564c01f6c308ded345a3b37359714e694361e593e515c148465eda09c2a", size = 35092082 },
731
+ { url = "https://files.pythonhosted.org/packages/49/c1/c7600136283a2d4d3327968bdd895ba917a033d5a5498b6c7ffcd78c772c/opencv_contrib_python_headless-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:2671a828e5c8ec9d237dd8506a9e0268487d37e07625725f1a6de5fa973ea7fa", size = 46095689 },
732
732
  ]
733
733
 
734
734
  [[package]]
@@ -913,7 +913,7 @@ wheels = [
913
913
 
914
914
  [[package]]
915
915
  name = "python-terminusgps"
916
- version = "29.0.0"
916
+ version = "29.1.0"
917
917
  source = { editable = "." }
918
918
  dependencies = [
919
919
  { name = "argparse" },
@@ -921,9 +921,10 @@ dependencies = [
921
921
  { name = "boto3" },
922
922
  { name = "django" },
923
923
  { name = "matplotlib" },
924
- { name = "opencv-python" },
924
+ { name = "opencv-contrib-python-headless" },
925
925
  { name = "pandas" },
926
926
  { name = "python-wialon" },
927
+ { name = "pyzbar" },
927
928
  { name = "twilio" },
928
929
  ]
929
930
 
@@ -942,9 +943,10 @@ requires-dist = [
942
943
  { name = "boto3", specifier = ">=1.34.144" },
943
944
  { name = "django", specifier = ">=5.1.5" },
944
945
  { name = "matplotlib", specifier = ">=3.10.1" },
945
- { name = "opencv-python", specifier = ">=4.11.0.86" },
946
+ { name = "opencv-contrib-python-headless", specifier = ">=4.11.0.86" },
946
947
  { name = "pandas", specifier = ">=2.2.3" },
947
948
  { name = "python-wialon", specifier = ">=1.2.4" },
949
+ { name = "pyzbar", specifier = ">=0.1.9" },
948
950
  { name = "twilio", specifier = ">=9.4.5" },
949
951
  ]
950
952
 
@@ -987,6 +989,16 @@ wheels = [
987
989
  { url = "https://files.pythonhosted.org/packages/8c/03/8154462b23ce8ed229d9be4eee17b8132b746e6a1f1dbfe57b72139ce5a0/PyXB_X-1.2.6.3-py3-none-any.whl", hash = "sha256:4c4a55d6b8c61c2d84ab4c2cb49ee74185599242bbfd1cf0bdd6be4a8a874006", size = 310097 },
988
990
  ]
989
991
 
992
+ [[package]]
993
+ name = "pyzbar"
994
+ version = "0.1.9"
995
+ source = { registry = "https://pypi.org/simple" }
996
+ wheels = [
997
+ { url = "https://files.pythonhosted.org/packages/6d/24/81ebe6a1c00760471a3028a23cbe0b94e5fa2926e5ba47adc895920887bc/pyzbar-0.1.9-py2.py3-none-any.whl", hash = "sha256:4559628b8192feb25766d954b36a3753baaf5c97c03135aec7e4a026036b475d", size = 32560 },
998
+ { url = "https://files.pythonhosted.org/packages/8e/87/7b596730179ddf17857eea33ba820354dd4e1cf941e57f51ffccce26c409/pyzbar-0.1.9-py2.py3-none-win32.whl", hash = "sha256:8f4c5264c9c7c6b9f20d01efc52a4eba1ded47d9ba857a94130afe33703eb518", size = 810633 },
999
+ { url = "https://files.pythonhosted.org/packages/0a/e2/1c6a8e94197612dbdfc51eab8dfb674168829885fac2c4f50ac8366c25ca/pyzbar-0.1.9-py2.py3-none-win_amd64.whl", hash = "sha256:13e3ee5a2f3a545204a285f41814d5c0db571967e8d4af8699a03afc55182a9c", size = 817363 },
1000
+ ]
1001
+
990
1002
  [[package]]
991
1003
  name = "requests"
992
1004
  version = "2.32.3"
@@ -1,7 +0,0 @@
1
- import cv2 as cv
2
- import numpy as np
3
-
4
-
5
- def scan_barcode(img: np.ndarray) -> tuple:
6
- detector = cv.barcode.BarcodeDetector()
7
- return detector.detectAndDecode(img)
File without changes