bluer-objects 6.5.1__tar.gz → 6.7.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 (157) hide show
  1. {bluer_objects-6.5.1/bluer_objects.egg-info → bluer_objects-6.7.1}/PKG-INFO +2 -2
  2. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/README.md +1 -1
  3. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/__init__.py +1 -1
  4. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/objects.py +2 -6
  5. {bluer_objects-6.5.1 → bluer_objects-6.7.1/bluer_objects.egg-info}/PKG-INFO +2 -2
  6. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects.egg-info/SOURCES.txt +0 -18
  7. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/setup.py +0 -5
  8. bluer_objects-6.5.1/bluer_objects/mysql/cache/__init__.py +0 -8
  9. bluer_objects-6.5.1/bluer_objects/mysql/cache/__main__.py +0 -91
  10. bluer_objects-6.5.1/bluer_objects/mysql/cache/functions.py +0 -181
  11. bluer_objects-6.5.1/bluer_objects/mysql/relations/__init__.py +0 -9
  12. bluer_objects-6.5.1/bluer_objects/mysql/relations/__main__.py +0 -138
  13. bluer_objects-6.5.1/bluer_objects/mysql/relations/functions.py +0 -180
  14. bluer_objects-6.5.1/bluer_objects/mysql/table.py +0 -144
  15. bluer_objects-6.5.1/bluer_objects/mysql/tags/__init__.py +0 -1
  16. bluer_objects-6.5.1/bluer_objects/mysql/tags/__main__.py +0 -130
  17. bluer_objects-6.5.1/bluer_objects/mysql/tags/functions.py +0 -203
  18. bluer_objects-6.5.1/bluer_objects/storage/__init__.py +0 -3
  19. bluer_objects-6.5.1/bluer_objects/storage/__main__.py +0 -114
  20. bluer_objects-6.5.1/bluer_objects/storage/classes.py +0 -237
  21. bluer_objects-6.5.1/bluer_objects/tests/test_mysql_cache.py +0 -14
  22. bluer_objects-6.5.1/bluer_objects/tests/test_mysql_relations.py +0 -16
  23. bluer_objects-6.5.1/bluer_objects/tests/test_mysql_table.py +0 -9
  24. bluer_objects-6.5.1/bluer_objects/tests/test_mysql_tags.py +0 -13
  25. bluer_objects-6.5.1/bluer_objects/tests/test_storage.py +0 -7
  26. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/LICENSE +0 -0
  27. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/MANIFEST.in +0 -0
  28. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/abcli.sh +0 -0
  29. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/actions.sh +0 -0
  30. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/aka.sh +0 -0
  31. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/alias.sh +0 -0
  32. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/blue_objects.sh +0 -0
  33. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/cache.sh +0 -0
  34. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/clone.sh +0 -0
  35. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/download.sh +0 -0
  36. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/file.sh +0 -0
  37. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/gif.sh +0 -0
  38. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/host.sh +0 -0
  39. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/ls.sh +0 -0
  40. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/metadata/get.sh +0 -0
  41. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/metadata/post.sh +0 -0
  42. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/metadata.sh +0 -0
  43. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/browse.sh +0 -0
  44. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/cache.sh +0 -0
  45. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/list_registered_models.sh +0 -0
  46. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/log_artifacts.sh +0 -0
  47. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/log_run.sh +0 -0
  48. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/run.sh +0 -0
  49. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/tags/clone.sh +0 -0
  50. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/tags/get.sh +0 -0
  51. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/tags/search.sh +0 -0
  52. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/tags/set.sh +0 -0
  53. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/tags.sh +0 -0
  54. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/test.sh +0 -0
  55. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow/transition.sh +0 -0
  56. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mlflow.sh +0 -0
  57. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mysql/cache.sh +0 -0
  58. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mysql/relations.sh +0 -0
  59. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mysql/tags.sh +0 -0
  60. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/mysql.sh +0 -0
  61. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/object.sh +0 -0
  62. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/publish.sh +0 -0
  63. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/select.sh +0 -0
  64. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/storage/clear.sh +0 -0
  65. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/storage/download_file.sh +0 -0
  66. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/storage/exists.sh +0 -0
  67. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/storage/list.sh +0 -0
  68. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/storage/rm.sh +0 -0
  69. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/storage/status.sh +0 -0
  70. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/storage.sh +0 -0
  71. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tags.sh +0 -0
  72. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/README.sh +0 -0
  73. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/clone.sh +0 -0
  74. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/help.sh +0 -0
  75. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/host.sh +0 -0
  76. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/ls.sh +0 -0
  77. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/metadata.sh +0 -0
  78. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/mlflow_cache.sh +0 -0
  79. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/mlflow_logging.sh +0 -0
  80. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/mlflow_tags.sh +0 -0
  81. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/mlflow_test.sh +0 -0
  82. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/mysql_cache.sh +0 -0
  83. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/mysql_relations.sh +0 -0
  84. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/mysql_tags.sh +0 -0
  85. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/test_gif.sh +0 -0
  86. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/tests/version.sh +0 -0
  87. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/.abcli/upload.sh +0 -0
  88. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/README/__init__.py +0 -0
  89. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/README/functions.py +0 -0
  90. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/README/items.py +0 -0
  91. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/__main__.py +0 -0
  92. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/config.env +0 -0
  93. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/env.py +0 -0
  94. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/file/__init__.py +0 -0
  95. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/file/__main__.py +0 -0
  96. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/file/classes.py +0 -0
  97. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/file/functions.py +0 -0
  98. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/file/load.py +0 -0
  99. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/file/save.py +0 -0
  100. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/graphics/__init__.py +0 -0
  101. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/graphics/__main__.py +0 -0
  102. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/graphics/frame.py +0 -0
  103. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/graphics/gif.py +0 -0
  104. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/graphics/screen.py +0 -0
  105. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/graphics/signature.py +0 -0
  106. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/graphics/text.py +0 -0
  107. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/help/__init__.py +0 -0
  108. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/help/__main__.py +0 -0
  109. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/help/functions.py +0 -0
  110. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/host/__init__.py +0 -0
  111. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/host/__main__.py +0 -0
  112. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/host/functions.py +0 -0
  113. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/logger/__init__.py +0 -0
  114. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/logger/matrix.py +0 -0
  115. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/markdown.py +0 -0
  116. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/metadata/__init__.py +0 -0
  117. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/metadata/__main__.py +0 -0
  118. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/metadata/enums.py +0 -0
  119. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/metadata/get.py +0 -0
  120. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/metadata/post.py +0 -0
  121. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/mlflow/__init__.py +0 -0
  122. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/mlflow/__main__.py +0 -0
  123. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/mlflow/cache.py +0 -0
  124. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/mlflow/logging.py +0 -0
  125. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/mlflow/models.py +0 -0
  126. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/mlflow/objects.py +0 -0
  127. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/mlflow/runs.py +0 -0
  128. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/mlflow/tags.py +0 -0
  129. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/mlflow/testing.py +0 -0
  130. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/path.py +0 -0
  131. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/sample.env +0 -0
  132. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/__init__.py +0 -0
  133. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_README.py +0 -0
  134. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_env.py +0 -0
  135. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_file_load_save.py +0 -0
  136. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_fullname.py +0 -0
  137. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_graphics.py +0 -0
  138. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_graphics_frame.py +0 -0
  139. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_graphics_gif.py +0 -0
  140. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_graphics_screen.py +0 -0
  141. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_graphics_signature.py +0 -0
  142. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_graphics_text.py +0 -0
  143. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_logger.py +0 -0
  144. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_logger_matrix.py +0 -0
  145. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_markdown.py +0 -0
  146. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_metadata.py +0 -0
  147. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_mlflow.py +0 -0
  148. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_objects.py +0 -0
  149. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_path.py +0 -0
  150. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/tests/test_version.py +0 -0
  151. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects/urls.py +0 -0
  152. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects.egg-info/dependency_links.txt +0 -0
  153. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects.egg-info/requires.txt +0 -0
  154. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/bluer_objects.egg-info/top_level.txt +0 -0
  155. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/pyproject.toml +0 -0
  156. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/requirements.txt +0 -0
  157. {bluer_objects-6.5.1 → bluer_objects-6.7.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_objects
3
- Version: 6.5.1
3
+ Version: 6.7.1
4
4
  Summary: 🌀 data objects for Bash.
5
5
  Home-page: https://github.com/kamangir/bluer-objects
6
6
  Author: Arash Abadpour (Kamangir)
@@ -52,6 +52,6 @@ Also home to [blue README](https://github.com/kamangir/bluer-objects/blob/main/b
52
52
 
53
53
  [![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)
54
54
 
55
- built by 🌀 [`blue_options-4.240.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.5.1`](https://github.com/kamangir/bluer-objects).
55
+ built by 🌀 [`blue_options-4.240.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.7.1`](https://github.com/kamangir/bluer-objects).
56
56
 
57
57
  built by 🌀 [`blueness-3.96.1`](https://github.com/kamangir/blueness).
@@ -19,4 +19,4 @@ Also home to [blue README](./bluer_objects/README/).
19
19
 
20
20
  [![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)
21
21
 
22
- built by 🌀 [`blue_options-4.240.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.5.1`](https://github.com/kamangir/bluer-objects).
22
+ built by 🌀 [`blue_options-4.240.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.7.1`](https://github.com/kamangir/bluer-objects).
@@ -4,7 +4,7 @@ ICON = "🌀"
4
4
 
5
5
  DESCRIPTION = f"{ICON} data objects for Bash."
6
6
 
7
- VERSION = "6.5.1"
7
+ VERSION = "6.7.1"
8
8
 
9
9
  REPO_NAME = "bluer-objects"
10
10
 
@@ -63,12 +63,8 @@ def list_of_files(
63
63
  **kwargs,
64
64
  ):
65
65
  if cloud:
66
- from bluer_objects.storage import instance as storage
67
-
68
- return storage.list_of_objects(
69
- object_name,
70
- **kwargs,
71
- )
66
+ # TODO
67
+ return []
72
68
 
73
69
  return file.list_of(
74
70
  os.path.join(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_objects
3
- Version: 6.5.1
3
+ Version: 6.7.1
4
4
  Summary: 🌀 data objects for Bash.
5
5
  Home-page: https://github.com/kamangir/bluer-objects
6
6
  Author: Arash Abadpour (Kamangir)
@@ -52,6 +52,6 @@ Also home to [blue README](https://github.com/kamangir/bluer-objects/blob/main/b
52
52
 
53
53
  [![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)
54
54
 
55
- built by 🌀 [`blue_options-4.240.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.5.1`](https://github.com/kamangir/bluer-objects).
55
+ built by 🌀 [`blue_options-4.240.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.7.1`](https://github.com/kamangir/bluer-objects).
56
56
 
57
57
  built by 🌀 [`blueness-3.96.1`](https://github.com/kamangir/blueness).
@@ -116,19 +116,6 @@ bluer_objects/mlflow/objects.py
116
116
  bluer_objects/mlflow/runs.py
117
117
  bluer_objects/mlflow/tags.py
118
118
  bluer_objects/mlflow/testing.py
119
- bluer_objects/mysql/table.py
120
- bluer_objects/mysql/cache/__init__.py
121
- bluer_objects/mysql/cache/__main__.py
122
- bluer_objects/mysql/cache/functions.py
123
- bluer_objects/mysql/relations/__init__.py
124
- bluer_objects/mysql/relations/__main__.py
125
- bluer_objects/mysql/relations/functions.py
126
- bluer_objects/mysql/tags/__init__.py
127
- bluer_objects/mysql/tags/__main__.py
128
- bluer_objects/mysql/tags/functions.py
129
- bluer_objects/storage/__init__.py
130
- bluer_objects/storage/__main__.py
131
- bluer_objects/storage/classes.py
132
119
  bluer_objects/tests/__init__.py
133
120
  bluer_objects/tests/test_README.py
134
121
  bluer_objects/tests/test_env.py
@@ -145,11 +132,6 @@ bluer_objects/tests/test_logger_matrix.py
145
132
  bluer_objects/tests/test_markdown.py
146
133
  bluer_objects/tests/test_metadata.py
147
134
  bluer_objects/tests/test_mlflow.py
148
- bluer_objects/tests/test_mysql_cache.py
149
- bluer_objects/tests/test_mysql_relations.py
150
- bluer_objects/tests/test_mysql_table.py
151
- bluer_objects/tests/test_mysql_tags.py
152
135
  bluer_objects/tests/test_objects.py
153
136
  bluer_objects/tests/test_path.py
154
- bluer_objects/tests/test_storage.py
155
137
  bluer_objects/tests/test_version.py
@@ -16,12 +16,7 @@ setup(
16
16
  f"{NAME}.logger",
17
17
  f"{NAME}.metadata",
18
18
  f"{NAME}.mlflow",
19
- f"{NAME}.mysql",
20
- f"{NAME}.mysql.cache",
21
- f"{NAME}.mysql.relations",
22
- f"{NAME}.mysql.tags",
23
19
  f"{NAME}.README",
24
- f"{NAME}.storage",
25
20
  f"{NAME}.tests",
26
21
  ],
27
22
  include_package_data=True,
@@ -1,8 +0,0 @@
1
- from bluer_objects.mysql.cache.functions import (
2
- create,
3
- clone,
4
- read,
5
- write,
6
- search,
7
- search_value,
8
- )
@@ -1,91 +0,0 @@
1
- import argparse
2
-
3
- from blueness import module
4
- from blueness.argparse.generic import sys_exit
5
-
6
- from bluer_objects import NAME
7
- from bluer_objects.mysql.cache.functions import create, clone, read, write, search
8
- from bluer_objects.logger import logger
9
-
10
- NAME = module.name(__file__, NAME)
11
-
12
-
13
- parser = argparse.ArgumentParser(NAME)
14
- parser.add_argument(
15
- "task",
16
- type=str,
17
- default="read",
18
- help="clone,create,read,search,write",
19
- )
20
- parser.add_argument(
21
- "--all",
22
- default=0,
23
- type=int,
24
- )
25
- parser.add_argument(
26
- "--dataframe",
27
- default=0,
28
- type=int,
29
- )
30
- parser.add_argument(
31
- "--destination",
32
- type=str,
33
- default="",
34
- )
35
- parser.add_argument(
36
- "--keyword",
37
- type=str,
38
- )
39
- parser.add_argument(
40
- "--like",
41
- default=0,
42
- type=int,
43
- )
44
- parser.add_argument(
45
- "--source",
46
- type=str,
47
- default="",
48
- )
49
- parser.add_argument(
50
- "--unique",
51
- default=1,
52
- type=int,
53
- help="cache.read('unique')",
54
- )
55
- parser.add_argument(
56
- "--value",
57
- type=str,
58
- default="unknown",
59
- )
60
- args = parser.parse_args()
61
-
62
- success = False
63
- if args.task == "clone":
64
- success = clone(args.source, args.destination)
65
- elif args.task == "create":
66
- success = create()
67
- elif args.task == "read":
68
- output = read(
69
- args.keyword,
70
- all=args.all,
71
- like=args.like,
72
- dataframe=args.dataframe,
73
- unique=args.unique,
74
- )
75
-
76
- print(
77
- ("None" if output.empty else output.drop(columns=["log_id"]))
78
- if args.dataframe
79
- else output
80
- )
81
- success = True
82
- elif args.task == "search":
83
- for keyword, value in search(args.keyword).items():
84
- print(f"{keyword}: {value}")
85
- success = True
86
- elif args.task == "write":
87
- success = write(args.keyword, args.value)
88
- else:
89
- success = None
90
-
91
- sys_exit(logger, NAME, args.task, success)
@@ -1,181 +0,0 @@
1
- from typing import Any, Dict, List
2
- from functools import reduce
3
- import json
4
-
5
- from blue_options import string
6
-
7
- from bluer_objects.mysql.table import Table
8
- from bluer_objects.logger import logger
9
-
10
-
11
- columns = "keyword,value,timestamp".split(",")
12
-
13
-
14
- def create() -> bool:
15
- return Table.Create(
16
- "cache",
17
- [
18
- "keyword VARCHAR(1024) NOT NULL",
19
- "value VARCHAR(4096) NOT NULL",
20
- ],
21
- )
22
-
23
-
24
- def clone(
25
- source: str,
26
- destination: str,
27
- ) -> bool:
28
- lut = search(f"{source}.%")
29
-
30
- lut = {
31
- "{}.{}".format(
32
- destination,
33
- string.after(
34
- keyword,
35
- f"{source}.",
36
- ),
37
- ): value
38
- for keyword, value in lut.items()
39
- }
40
-
41
- return reduce(
42
- lambda x, y: x and y,
43
- [write(keyword, value) for keyword, value in lut.items()],
44
- True,
45
- )
46
-
47
-
48
- def read(
49
- keyword: str,
50
- all: bool = False,
51
- dataframe: bool = False,
52
- like: bool = False,
53
- unique: bool = False,
54
- ) -> Any:
55
- if dataframe:
56
- all = True
57
-
58
- table = Table(name="cache")
59
-
60
- if isinstance(keyword, list):
61
- keyword = ".".join(keyword)
62
-
63
- if not table.connect():
64
- return None
65
-
66
- success, output = table.execute(
67
- (
68
- "SELECT {} FROM ".format(
69
- ",".join(["c.{}".format(column) for column in columns])
70
- )
71
- + "abcli.cache c "
72
- )
73
- + (
74
- (
75
- "INNER JOIN ( "
76
- "SELECT keyword, MAX(timestamp) AS max_timestamp "
77
- "From abcli.cache "
78
- "GROUP BY keyword "
79
- ") cm ON c.keyword = cm.keyword AND c.timestamp = cm.max_timestamp "
80
- )
81
- if unique
82
- else ""
83
- )
84
- + (
85
- "WHERE c.keyword {} '{}' ".format("like" if like else "=", keyword)
86
- + "ORDER BY c.timestamp DESC "
87
- + "{};".format(
88
- "" if all else "LIMIT 1",
89
- )
90
- )
91
- )
92
- if not success:
93
- return None
94
-
95
- if not table.disconnect():
96
- return None
97
-
98
- output = [
99
- {keyword: item for keyword, item in zip(columns, thing)} for thing in output
100
- ]
101
-
102
- if not dataframe:
103
- output = [item["value"] for item in output]
104
-
105
- if not all:
106
- output = "" if not output else output[0]
107
-
108
- if dataframe:
109
- import pandas as pd
110
-
111
- output = pd.DataFrame.from_dict(output)
112
-
113
- return output
114
-
115
-
116
- def search(keyword: str) -> Dict[str, str]:
117
- table = Table(name="cache")
118
-
119
- if isinstance(keyword, list):
120
- keyword = ".".join(keyword)
121
-
122
- if not table.connect():
123
- return {}
124
-
125
- success, output = table.execute(
126
- "SELECT keyword,value FROM abcli.cache "
127
- f"WHERE keyword like '{keyword}' "
128
- "ORDER BY timestamp ASC;"
129
- )
130
-
131
- if success:
132
- success = table.disconnect()
133
-
134
- return {thing[0]: thing[1] for thing in output} if success else {}
135
-
136
-
137
- def search_value(value: str) -> List[str]:
138
- table = Table(name="cache")
139
-
140
- if not table.connect():
141
- return []
142
-
143
- success, output = table.execute(
144
- "SELECT keyword,value FROM abcli.cache "
145
- f"WHERE value = '{value}' "
146
- "ORDER BY timestamp DESC;"
147
- )
148
-
149
- if success:
150
- success = table.disconnect()
151
-
152
- return [thing[0] for thing in output] if success else []
153
-
154
-
155
- def write(
156
- keyword: str,
157
- value: str,
158
- ) -> bool:
159
- table = Table(name="cache")
160
-
161
- if isinstance(keyword, list):
162
- keyword = ".".join(keyword)
163
-
164
- if isinstance(value, dict):
165
- value = json.dumps(value)
166
-
167
- if not table.connect():
168
- return False
169
-
170
- success = table.insert(
171
- ["keyword", "value"],
172
- [keyword, value],
173
- )
174
-
175
- if success:
176
- success = table.disconnect()
177
-
178
- if success:
179
- logger.info("cache[{}] <- {}".format(keyword, value))
180
-
181
- return success
@@ -1,9 +0,0 @@
1
- from bluer_objects.mysql.relations.functions import (
2
- clone,
3
- create,
4
- get,
5
- search,
6
- set_,
7
- inverse_of,
8
- list_of,
9
- )
@@ -1,138 +0,0 @@
1
- import argparse
2
-
3
- from blueness import module
4
- from blueness.argparse.generic import sys_exit
5
-
6
- from bluer_objects import file, NAME
7
- from bluer_objects.mysql.relations.functions import (
8
- clone,
9
- create,
10
- get,
11
- search,
12
- set_,
13
- inverse_of,
14
- list_of,
15
- )
16
- from bluer_objects.logger import logger
17
-
18
- NAME = module.name(__file__, NAME)
19
-
20
-
21
- parser = argparse.ArgumentParser(NAME)
22
- parser.add_argument(
23
- "task",
24
- type=str,
25
- default="get",
26
- help="clone|create|get|list|search|set",
27
- )
28
- parser.add_argument(
29
- "--count",
30
- type=int,
31
- default=-1,
32
- )
33
- parser.add_argument(
34
- "--delim",
35
- type=str,
36
- default=", ",
37
- )
38
- parser.add_argument(
39
- "--filename",
40
- type=str,
41
- )
42
- parser.add_argument(
43
- "--item_name",
44
- default="object",
45
- type=str,
46
- )
47
- parser.add_argument(
48
- "--log",
49
- default=1,
50
- type=int,
51
- help="0|1",
52
- )
53
- parser.add_argument(
54
- "--object_1",
55
- type=str,
56
- )
57
- parser.add_argument(
58
- "--object_2",
59
- type=str,
60
- )
61
- parser.add_argument(
62
- "--relation",
63
- default="",
64
- type=str,
65
- )
66
- parser.add_argument(
67
- "--return_list",
68
- type=int,
69
- default=0,
70
- )
71
- args = parser.parse_args()
72
-
73
- delim = " " if args.delim == "space" else args.delim
74
-
75
- success = False
76
- if args.task == "clone":
77
- success = clone(args.object_1, args.object_2)
78
- elif args.task == "create":
79
- success = create()
80
- elif args.task == "get":
81
- relation = get(args.object_1, args.object_2)
82
- if args.log:
83
- logger.info(
84
- f"{args.object_1} -{f'{relation}->' if relation else 'X-'} {args.object_2}"
85
- )
86
- else:
87
- print(relation)
88
- success = True
89
- elif args.task == "list":
90
- if args.return_list:
91
- output = [relation for relation in list_of if relation]
92
-
93
- if args.count != -1:
94
- output = output[: args.count]
95
-
96
- if args.log:
97
- logger.info(f"{len(output):,} relations(s): {delim.join(output)}")
98
- else:
99
- print(delim.join(output))
100
- else:
101
- if args.log:
102
- for thing in sorted(
103
- [
104
- "{} : {}".format(this, that)
105
- for this, that in inverse_of.items()
106
- if this
107
- ]
108
- ):
109
- logger.info(thing)
110
- else:
111
- print(
112
- delim.join(
113
- [
114
- "{}:{}".format(this, that)
115
- for this, that in inverse_of.items()
116
- if this
117
- ]
118
- )
119
- )
120
- success = True
121
- elif args.task == "search":
122
- output = search(args.object_1, args.relation, args.count)
123
-
124
- if args.relation:
125
- if args.log:
126
- logger.info(f"{len(output):,} {args.item_name}(s): {delim.join(output)}")
127
- else:
128
- print(delim.join(output))
129
- else:
130
- print(output)
131
-
132
- success = file.save_json(args.filename, output) if args.filename else True
133
- elif args.task == "set":
134
- success = set_(args.object_1, args.object_2, args.relation)
135
- else:
136
- success = None
137
-
138
- sys_exit(logger, NAME, args.task, success, log=args.log)