bluer-objects 6.294.1__tar.gz → 6.301.1__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 bluer-objects might be problematic. Click here for more details.

Files changed (198) hide show
  1. {bluer_objects-6.294.1/bluer_objects.egg-info → bluer_objects-6.301.1}/PKG-INFO +2 -2
  2. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/README.md +1 -1
  3. bluer_objects-6.301.1/bluer_objects/.abcli/host.sh +45 -0
  4. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/README/items.py +33 -0
  5. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/__init__.py +1 -1
  6. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/host.py +6 -4
  7. bluer_objects-6.301.1/bluer_objects/tests/test_README_items.py +120 -0
  8. {bluer_objects-6.294.1 → bluer_objects-6.301.1/bluer_objects.egg-info}/PKG-INFO +2 -2
  9. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects.egg-info/SOURCES.txt +1 -0
  10. bluer_objects-6.294.1/bluer_objects/.abcli/host.sh +0 -29
  11. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/LICENSE +0 -0
  12. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/MANIFEST.in +0 -0
  13. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/abcli.sh +0 -0
  14. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/actions.sh +0 -0
  15. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/aka.sh +0 -0
  16. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/alias.sh +0 -0
  17. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/assets/cd.sh +0 -0
  18. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/assets/mv.sh +0 -0
  19. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/assets/publish.sh +0 -0
  20. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/assets.sh +0 -0
  21. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/bluer_objects.sh +0 -0
  22. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/clone.sh +0 -0
  23. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/create_test_asset.sh +0 -0
  24. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/download.sh +0 -0
  25. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/file.sh +0 -0
  26. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/gif.sh +0 -0
  27. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/ls.sh +0 -0
  28. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/metadata/get.sh +0 -0
  29. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/metadata/post.sh +0 -0
  30. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/metadata.sh +0 -0
  31. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/browse.sh +0 -0
  32. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/cache.sh +0 -0
  33. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/deploy.sh +0 -0
  34. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/list_registered_models.sh +0 -0
  35. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/lock/lock.sh +0 -0
  36. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/lock/unlock.sh +0 -0
  37. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/lock.sh +0 -0
  38. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/log_artifacts.sh +0 -0
  39. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/log_run.sh +0 -0
  40. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/run.sh +0 -0
  41. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/tags/clone.sh +0 -0
  42. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/tags/get.sh +0 -0
  43. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/tags/search.sh +0 -0
  44. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/tags/set.sh +0 -0
  45. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/tags.sh +0 -0
  46. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/test.sh +0 -0
  47. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow/transition.sh +0 -0
  48. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/mlflow.sh +0 -0
  49. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/object.sh +0 -0
  50. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/select.sh +0 -0
  51. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/storage/clear.sh +0 -0
  52. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/storage/status.sh +0 -0
  53. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/storage.sh +0 -0
  54. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/README.sh +0 -0
  55. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/clone.sh +0 -0
  56. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/create_test_asset.sh +0 -0
  57. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/gif.sh +0 -0
  58. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/help.sh +0 -0
  59. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/host.sh +0 -0
  60. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/ls.sh +0 -0
  61. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/metadata.sh +0 -0
  62. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/mlflow_cache.sh +0 -0
  63. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/mlflow_lock.sh +0 -0
  64. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/mlflow_logging.sh +0 -0
  65. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/mlflow_tags.sh +0 -0
  66. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/mlflow_test.sh +0 -0
  67. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/open.sh +0 -0
  68. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/open_gif_open.sh +0 -0
  69. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/storage_public_upload.sh +0 -0
  70. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/storage_upload_download.sh +0 -0
  71. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/version.sh +0 -0
  72. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/web_is_accessible.sh +0 -0
  73. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/tests/web_where_am_ai.sh +0 -0
  74. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/upload.sh +0 -0
  75. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/url.sh +0 -0
  76. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/web/is_accessible.sh +0 -0
  77. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/.abcli/web/where_am_i.sh +0 -0
  78. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/README/__init__.py +0 -0
  79. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/README/consts.py +0 -0
  80. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/README/functions.py +0 -0
  81. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/README/utils.py +0 -0
  82. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/__main__.py +0 -0
  83. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/assets/__init__.py +0 -0
  84. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/assets/__main__.py +0 -0
  85. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/assets/functions.py +0 -0
  86. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/config.env +0 -0
  87. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/env.py +0 -0
  88. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/file/__init__.py +0 -0
  89. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/file/__main__.py +0 -0
  90. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/file/classes.py +0 -0
  91. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/file/functions.py +0 -0
  92. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/file/load.py +0 -0
  93. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/file/save.py +0 -0
  94. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/graphics/__init__.py +0 -0
  95. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/graphics/__main__.py +0 -0
  96. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/graphics/frame.py +0 -0
  97. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/graphics/gif.py +0 -0
  98. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/graphics/screen.py +0 -0
  99. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/graphics/signature.py +0 -0
  100. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/graphics/text.py +0 -0
  101. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/__init__.py +0 -0
  102. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/__main__.py +0 -0
  103. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/assets.py +0 -0
  104. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/clone.py +0 -0
  105. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/create_test_asset.py +0 -0
  106. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/download.py +0 -0
  107. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/functions.py +0 -0
  108. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/gif.py +0 -0
  109. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/ls.py +0 -0
  110. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/metadata.py +0 -0
  111. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/mlflow/__init__.py +0 -0
  112. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/mlflow/cache.py +0 -0
  113. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/mlflow/lock.py +0 -0
  114. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/mlflow/tags.py +0 -0
  115. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/upload.py +0 -0
  116. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/help/web.py +0 -0
  117. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/host/__init__.py +0 -0
  118. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/host/__main__.py +0 -0
  119. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/host/functions.py +0 -0
  120. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/logger/__init__.py +0 -0
  121. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/logger/image.py +0 -0
  122. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/logger/matrix.py +0 -0
  123. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/markdown.py +0 -0
  124. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/metadata/__init__.py +0 -0
  125. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/metadata/__main__.py +0 -0
  126. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/metadata/enums.py +0 -0
  127. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/metadata/flatten.py +0 -0
  128. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/metadata/get.py +0 -0
  129. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/metadata/post.py +0 -0
  130. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/__init__.py +0 -0
  131. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/__main__.py +0 -0
  132. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/cache.py +0 -0
  133. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/lock/__init__.py +0 -0
  134. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/lock/__main__.py +0 -0
  135. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/lock/functions.py +0 -0
  136. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/logging.py +0 -0
  137. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/models.py +0 -0
  138. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/objects.py +0 -0
  139. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/runs.py +0 -0
  140. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/tags.py +0 -0
  141. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/mlflow/testing.py +0 -0
  142. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/objects.py +0 -0
  143. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/path.py +0 -0
  144. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/sample.env +0 -0
  145. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/storage/WebDAV.py +0 -0
  146. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/storage/WebDAVrequest.py +0 -0
  147. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/storage/WebDAVzip.py +0 -0
  148. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/storage/__init__.py +0 -0
  149. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/storage/__main__.py +0 -0
  150. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/storage/base.py +0 -0
  151. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/storage/policies.py +0 -0
  152. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/storage/s3.py +0 -0
  153. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/testing/__init__.py +0 -0
  154. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/testing/__main__.py +0 -0
  155. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/testing/functions.py +0 -0
  156. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/__init__.py +0 -0
  157. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_README.py +0 -0
  158. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_README_consts.py +0 -0
  159. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_env.py +0 -0
  160. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_file_download.py +0 -0
  161. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_file_load_save.py +0 -0
  162. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_file_load_save_text.py +0 -0
  163. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_fullname.py +0 -0
  164. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_graphics.py +0 -0
  165. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_graphics_frame.py +0 -0
  166. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_graphics_gif.py +0 -0
  167. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_graphics_screen.py +0 -0
  168. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_graphics_signature.py +0 -0
  169. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_graphics_text.py +0 -0
  170. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_log_image_grid.py +0 -0
  171. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_logger.py +0 -0
  172. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_logger_matrix.py +0 -0
  173. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_markdown.py +0 -0
  174. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_metadata.py +0 -0
  175. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_metadata_flatten.py +0 -0
  176. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_mlflow.py +0 -0
  177. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_mlflow_lock.py +0 -0
  178. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_objects.py +0 -0
  179. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_path.py +0 -0
  180. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_storage.py +0 -0
  181. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_storage_base.py +0 -0
  182. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_storage_s3.py +0 -0
  183. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_storage_webdav_request.py +0 -0
  184. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_storage_webdav_zip.py +0 -0
  185. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_testing.py +0 -0
  186. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_version.py +0 -0
  187. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/tests/test_web_is_accessible.py +0 -0
  188. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/urls.py +0 -0
  189. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/web/__init__.py +0 -0
  190. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/web/__main__.py +0 -0
  191. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects/web/functions.py +0 -0
  192. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects.egg-info/dependency_links.txt +0 -0
  193. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects.egg-info/requires.txt +0 -0
  194. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/bluer_objects.egg-info/top_level.txt +0 -0
  195. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/pyproject.toml +0 -0
  196. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/requirements.txt +0 -0
  197. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/setup.cfg +0 -0
  198. {bluer_objects-6.294.1 → bluer_objects-6.301.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_objects
3
- Version: 6.294.1
3
+ Version: 6.301.1
4
4
  Summary: 🌀 Object management in Bash.
5
5
  Home-page: https://github.com/kamangir/bluer-objects
6
6
  Author: Arash Abadpour (Kamangir)
@@ -65,6 +65,6 @@ pip install bluer-objects
65
65
 
66
66
  [![pylint](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-objects.svg)](https://pypi.org/project/bluer-objects/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-objects)](https://pypistats.org/packages/bluer-objects)
67
67
 
68
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.294.1`](https://github.com/kamangir/bluer-objects).
68
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.301.1`](https://github.com/kamangir/bluer-objects).
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -31,4 +31,4 @@ pip install bluer-objects
31
31
 
32
32
  [![pylint](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-objects.svg)](https://pypi.org/project/bluer-objects/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-objects)](https://pypistats.org/packages/bluer-objects)
33
33
 
34
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.294.1`](https://github.com/kamangir/bluer-objects).
34
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.301.1`](https://github.com/kamangir/bluer-objects).
@@ -0,0 +1,45 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_objects_host() {
4
+ local task=$1
5
+ local options=$2
6
+
7
+ if [ $task == "get" ]; then
8
+ python3 -m bluer_options.host \
9
+ get \
10
+ --keyword "$2" \
11
+ "${@:3}"
12
+ return
13
+ fi
14
+
15
+ if [[ "|reboot|shutdown|" == *"|$task|"* ]]; then
16
+ local command_line
17
+ [[ $task == "reboot" ]] &&
18
+ command_line="sudo reboot"
19
+ [[ $task == "shutdown" ]] &&
20
+ command_line="sudo shutdown -h now"
21
+
22
+ local rpi=$(bluer_ai_option_int "$options" rpi 0)
23
+ if [[ "$rpi" == 1 ]]; then
24
+ local machine_name=$3
25
+ if [[ -z "$machine_name" ]]; then
26
+ bluer_ai_log_error "machine_name not found."
27
+ return 1
28
+ fi
29
+
30
+ ssh \
31
+ pi@$machine_name.local \
32
+ $command_line
33
+
34
+ return
35
+ fi
36
+
37
+ bluer_ai_eval ,$options \
38
+ $command_line
39
+
40
+ return
41
+ fi
42
+
43
+ bluer_ai_log_error "@host: $task: command not found."
44
+ return 1
45
+ }
@@ -59,3 +59,36 @@ def Items(
59
59
  output = sorted(output)
60
60
 
61
61
  return output
62
+
63
+
64
+ # dict of {name, url, marquee, description}
65
+ def Items_of_dict(
66
+ dict_of_things: Dict[str, Dict],
67
+ ) -> List[str]:
68
+ return Items(
69
+ sorted(
70
+ [
71
+ {
72
+ "name": thing_name,
73
+ "marquee": info.get("marquee", ""),
74
+ "url": f"./{thing_name}.md",
75
+ }
76
+ for thing_name, info in dict_of_things.items()
77
+ if thing_name != "template"
78
+ ],
79
+ key=lambda x: x["name"],
80
+ )
81
+ )
82
+
83
+
84
+ # dict of {name, url, marquee, description}
85
+ def list_of_dict(
86
+ dict_of_things: Dict[str, Dict],
87
+ ) -> List[str]:
88
+ return sorted(
89
+ [
90
+ f"- [{thing_name}](./{thing_name}.md)"
91
+ for thing_name in dict_of_things
92
+ if thing_name != "template"
93
+ ]
94
+ )
@@ -4,7 +4,7 @@ ICON = "🌀"
4
4
 
5
5
  DESCRIPTION = f"{ICON} Object management in Bash."
6
6
 
7
- VERSION = "6.294.1"
7
+ VERSION = "6.301.1"
8
8
 
9
9
  REPO_NAME = "bluer-objects"
10
10
 
@@ -24,15 +24,16 @@ def help_reboot(
24
24
  tokens: List[str],
25
25
  mono: bool,
26
26
  ) -> str:
27
- options = xtra("dryrun", mono=mono)
27
+ options = xtra("dryrun,rpi", mono=mono)
28
28
 
29
29
  return show_usage(
30
30
  [
31
31
  "@host",
32
32
  "reboot",
33
33
  f"[{options}]",
34
+ "[<machine-name>]",
34
35
  ],
35
- "reboot host.",
36
+ "reboot.",
36
37
  mono=mono,
37
38
  )
38
39
 
@@ -41,15 +42,16 @@ def help_shutdown(
41
42
  tokens: List[str],
42
43
  mono: bool,
43
44
  ) -> str:
44
- options = xtra("dryrun", mono=mono)
45
+ options = xtra("dryrun,rpi", mono=mono)
45
46
 
46
47
  return show_usage(
47
48
  [
48
49
  "@host",
49
50
  "shutdown",
50
51
  f"[{options}]",
52
+ "[<machine-name>]",
51
53
  ],
52
- "shutdown host.",
54
+ "shutdown.",
53
55
  mono=mono,
54
56
  )
55
57
 
@@ -0,0 +1,120 @@
1
+ from bluer_objects.README.items import ImageItems, Items, Items_of_dict, list_of_dict
2
+ from bluer_objects.README.consts import assets, assets2
3
+ from bluer_objects import markdown
4
+ from bluer_objects import env
5
+
6
+ dict_of_validations = dict_of_validations = {
7
+ "village-1": {
8
+ "ugv_name": "arzhang",
9
+ "items": ImageItems(
10
+ {
11
+ f"{assets2}/arzhang/20250905_120526.jpg": "",
12
+ f"{assets2}/arzhang/20250905_120808.jpg": "",
13
+ f"{assets2}/arzhang/20250905_121030.jpg": "",
14
+ f"{assets2}/arzhang/20250905_121032.jpg": "",
15
+ f"{assets2}/arzhang/20250905_121702.jpg": "",
16
+ f"{assets2}/arzhang/20250905_121711.jpg": "",
17
+ }
18
+ ),
19
+ "marquee": f"{assets}/2025-09-05-11-48-27-d56azo/VID-20250905-WA0014_1.gif",
20
+ },
21
+ "village-2": {
22
+ "ugv_name": "arzhang",
23
+ "items": ImageItems(
24
+ {
25
+ f"{assets2}/arzhang/20250922_094548.jpg": "",
26
+ f"{assets2}/arzhang/20250922_101156.jpg": "",
27
+ f"{assets2}/arzhang/20250922_101409.jpg": "",
28
+ f"{assets2}/arzhang/20250922_101557.jpg": "",
29
+ f"{assets2}/arzhang/20250922_101653.jpg": "",
30
+ f"{assets2}/arzhang/20250922_102822.jpg": "",
31
+ }
32
+ ),
33
+ "macros": {
34
+ "debug_objects": markdown.generate_table(
35
+ Items(
36
+ [
37
+ {
38
+ "name": object_name,
39
+ "url": "https://{}.{}/{}".format(
40
+ env.S3_PUBLIC_STORAGE_BUCKET,
41
+ env.S3_STORAGE_ENDPOINT_URL.split("https://", 1)[1],
42
+ f"{object_name}.tar.gz",
43
+ ),
44
+ "marquee": f"{assets}/{object_name}/{object_name}.gif",
45
+ }
46
+ for object_name in [
47
+ "swallow-debug-2025-09-22-09-47-32-85hag3",
48
+ "swallow-debug-2025-09-22-09-59-29-emj29v",
49
+ "swallow-debug-2025-09-22-10-01-01-uzray6",
50
+ "swallow-debug-2025-09-22-10-06-19-hcyl1v",
51
+ "swallow-debug-2025-09-22-10-09-44-z6q9kn",
52
+ "swallow-debug-2025-09-22-10-19-35-mobajm",
53
+ ]
54
+ ]
55
+ ),
56
+ cols=3,
57
+ log=False,
58
+ ),
59
+ },
60
+ "marquee": f"{assets}/arzhang/20250922_101202_1.gif",
61
+ },
62
+ }
63
+
64
+
65
+ def test_ImageItems():
66
+ items = ImageItems(
67
+ {
68
+ f"{assets2}/swallow/20250701_2206342_1.gif": "",
69
+ f"{assets2}/swallow/20250913_203635~2_1.gif": "",
70
+ }
71
+ )
72
+
73
+ assert isinstance(items, list)
74
+ for item in items:
75
+ assert isinstance(item, str)
76
+
77
+
78
+ def test_Items():
79
+ items = Items(
80
+ [
81
+ {
82
+ "name": "yolo",
83
+ "description": "a yolo interface.",
84
+ "marquee": "https://github.com/kamangir/assets/raw/main/swallow-debug-2025-09-16-19-53-19-4yzsp8/swallow-debug-2025-09-16-19-53-19-4yzsp8-2.gif?raw=true",
85
+ "url": "./bluer_algo/docs/yolo",
86
+ },
87
+ {
88
+ "name": "tracker",
89
+ "marquee": "https://github.com/kamangir/assets/raw/main/tracker-camshift-2025-07-16-11-07-52-4u3nu4/tracker.gif?raw=true",
90
+ "description": "a visual tracker.",
91
+ "url": "./bluer_algo/docs/tracker",
92
+ },
93
+ {
94
+ "name": "image classifier",
95
+ "marquee": "https://github.com/kamangir/assets/raw/main/swallow-model-2025-07-11-15-04-03-2glcch/evaluation.png?raw=true",
96
+ "description": "an image classifier.",
97
+ "url": "./bluer_algo/docs/image_classifier",
98
+ },
99
+ ]
100
+ )
101
+
102
+ assert isinstance(items, list)
103
+ for item in items:
104
+ assert isinstance(item, str)
105
+
106
+
107
+ def test_Items_of_dict():
108
+ items = Items_of_dict(dict_of_validations)
109
+
110
+ assert isinstance(items, list)
111
+ for item in items:
112
+ assert isinstance(item, str)
113
+
114
+
115
+ def test_list_of_dict():
116
+ items = list_of_dict(dict_of_validations)
117
+
118
+ assert isinstance(items, list)
119
+ for item in items:
120
+ assert isinstance(item, str)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_objects
3
- Version: 6.294.1
3
+ Version: 6.301.1
4
4
  Summary: 🌀 Object management in Bash.
5
5
  Home-page: https://github.com/kamangir/bluer-objects
6
6
  Author: Arash Abadpour (Kamangir)
@@ -65,6 +65,6 @@ pip install bluer-objects
65
65
 
66
66
  [![pylint](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-objects.svg)](https://pypi.org/project/bluer-objects/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-objects)](https://pypistats.org/packages/bluer-objects)
67
67
 
68
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.294.1`](https://github.com/kamangir/bluer-objects).
68
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.301.1`](https://github.com/kamangir/bluer-objects).
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -160,6 +160,7 @@ bluer_objects/testing/functions.py
160
160
  bluer_objects/tests/__init__.py
161
161
  bluer_objects/tests/test_README.py
162
162
  bluer_objects/tests/test_README_consts.py
163
+ bluer_objects/tests/test_README_items.py
163
164
  bluer_objects/tests/test_env.py
164
165
  bluer_objects/tests/test_file_download.py
165
166
  bluer_objects/tests/test_file_load_save.py
@@ -1,29 +0,0 @@
1
- #! /usr/bin/env bash
2
-
3
- function bluer_objects_host() {
4
- local task=$1
5
- local options=$2
6
-
7
- if [ $task == "get" ]; then
8
- python3 -m bluer_options.host \
9
- get \
10
- --keyword "$2" \
11
- "${@:3}"
12
- return
13
- fi
14
-
15
- if [ $task == "reboot" ]; then
16
- bluer_ai_eval ,$options \
17
- sudo reboot
18
- return
19
- fi
20
-
21
- if [ $task == "shutdown" ]; then
22
- bluer_ai_eval ,$options \
23
- sudo shutdown -h now
24
- return
25
- fi
26
-
27
- bluer_ai_log_error "@host: $task: command not found."
28
- return 1
29
- }
File without changes