kevin-toolbox-dev 1.3.6__tar.gz → 1.3.7__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.
Files changed (341) hide show
  1. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/PKG-INFO +9 -1
  2. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/README.md +8 -0
  3. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/__init__.py +2 -2
  4. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/write.py +1 -0
  5. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/__init__.py +1 -1
  6. kevin-toolbox-dev-1.3.7/kevin_toolbox/patches/for_matplotlib/clear_border_of_axes.py +34 -0
  7. kevin-toolbox-dev-1.3.7/kevin_toolbox/patches/for_matplotlib/color/__init__.py +4 -0
  8. kevin-toolbox-dev-1.3.7/kevin_toolbox/patches/for_matplotlib/color/color_format.py +7 -0
  9. kevin-toolbox-dev-1.3.7/kevin_toolbox/patches/for_matplotlib/color/convert_format.py +108 -0
  10. kevin-toolbox-dev-1.3.7/kevin_toolbox/patches/for_matplotlib/color/generate_color_list.py +50 -0
  11. kevin-toolbox-dev-1.3.7/kevin_toolbox/patches/for_matplotlib/color/get_format.py +12 -0
  12. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_lines.py +1 -1
  13. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_scatters.py +1 -1
  14. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_scatters_matrix.py +1 -1
  15. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/build_study.py +1 -1
  16. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox_dev.egg-info/PKG-INFO +9 -1
  17. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox_dev.egg-info/SOURCES.txt +6 -1
  18. kevin-toolbox-dev-1.3.6/kevin_toolbox/patches/for_matplotlib/generate_color_list.py +0 -33
  19. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/__init__.py +0 -0
  20. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/__init__.py +0 -0
  21. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/__init__.py +0 -0
  22. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/cache/__init__.py +0 -0
  23. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/cache/cache_base.py +0 -0
  24. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/cache/memo_cache.py +0 -0
  25. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/cache_manager.py +0 -0
  26. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/__init__.py +0 -0
  27. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/fifo_strategy.py +0 -0
  28. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/lfu_strategy.py +0 -0
  29. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/lru_strategy.py +0 -0
  30. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/lst_strategy.py +0 -0
  31. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/strategy_base.py +0 -0
  32. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/test/__init__.py +0 -0
  33. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/test/test_cache_builder.py +0 -0
  34. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/test/test_cache_manager.py +0 -0
  35. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/test/test_cache_strategy.py +0 -0
  36. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/cache_manager/variable.py +0 -0
  37. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/__init__.py +0 -0
  38. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/get_subset_with_largest_product.py +0 -0
  39. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/__init__.py +0 -0
  40. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/test_get_subset_with_largest_product.py +0 -0
  41. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/test_zero_one_knapsack_problem.py +0 -0
  42. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/zero_one_knapsack_problem.py +0 -0
  43. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/execution_graph/__init__.py +0 -0
  44. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/execution_graph/jump_node.py +0 -0
  45. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/execution_graph/random_node.py +0 -0
  46. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/execution_graph/simple_node.py +0 -0
  47. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/for_dict/__init__.py +0 -0
  48. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/for_dict/deep_update.py +0 -0
  49. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/for_seq/__init__.py +0 -0
  50. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/for_seq/chunk_generator.py +0 -0
  51. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/for_seq/flatten_list.py +0 -0
  52. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/for_seq/get_subsets.py +0 -0
  53. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/locks/__init__.py +0 -0
  54. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/locks/mutex_lock.py +0 -0
  55. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/__init__.py +0 -0
  56. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/async_executor.py +0 -0
  57. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/multi_thread_execute.py +0 -0
  58. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/pareto_front/__init__.py +0 -0
  59. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/pareto_front/get_pareto_points_idx.py +0 -0
  60. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/pareto_front/optimum_picker.py +0 -0
  61. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/registration/__init__.py +0 -0
  62. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/registration/registry.py +0 -0
  63. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/scheduler/__init__.py +0 -0
  64. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/scheduler/strategy_manager.py +0 -0
  65. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/scheduler/trigger.py +0 -0
  66. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/search/__init__.py +0 -0
  67. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/search/binary_search.py +0 -0
  68. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/statistician/__init__.py +0 -0
  69. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/statistician/accumulator_base.py +0 -0
  70. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/statistician/accumulator_for_ndl.py +0 -0
  71. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/statistician/average_accumulator.py +0 -0
  72. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/statistician/exponential_moving_average.py +0 -0
  73. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/statistician/init_var/__init__.py +0 -0
  74. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/statistician/init_var/init_by_data_format.py +0 -0
  75. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/statistician/init_var/init_by_like.py +0 -0
  76. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/algorithm/utils/__init__.py +0 -0
  77. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/data_structure/__init__.py +0 -0
  78. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/computer_science/data_structure/executor.py +0 -0
  79. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/dangerous/__init__.py +0 -0
  80. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/dangerous/dump_into_pickle_with_executor_attached.py +0 -0
  81. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/__init__.py +0 -0
  82. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/core/__init__.py +0 -0
  83. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/core/cache/__init__.py +0 -0
  84. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/core/cache/cache_manager_for_iterator.py +0 -0
  85. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/core/cache/test/__init__.py +0 -0
  86. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/core/cache/test/test_cache_manager_for_iterator.py +0 -0
  87. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/core/reader/__init__.py +0 -0
  88. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/core/reader/file_iterative_reader.py +0 -0
  89. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/core/reader/unified_reader.py +0 -0
  90. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/core/reader/unified_reader_base.py +0 -0
  91. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/__init__.py +0 -0
  92. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/__init__.py +0 -0
  93. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/converter/__init__.py +0 -0
  94. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/converter/convert_dict_key_to_number.py +0 -0
  95. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/converter/convert_ndarray_to_list.py +0 -0
  96. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/converter/escape_non_str_dict_key.py +0 -0
  97. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/converter/escape_tuple_and_set.py +0 -0
  98. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/converter/integrate.py +0 -0
  99. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/converter/unescape_non_str_dict_key.py +0 -0
  100. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/converter/unescape_tuple_and_set.py +0 -0
  101. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/read_json.py +0 -0
  102. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/json_/write_json.py +0 -0
  103. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/__init__.py +0 -0
  104. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/converter.py +0 -0
  105. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/kevin_notation_reader.py +0 -0
  106. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/kevin_notation_writer.py +0 -0
  107. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/read.py +0 -0
  108. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/test/__init__.py +0 -0
  109. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/__init__.py +0 -0
  110. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/data_0.py +0 -0
  111. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/data_1.py +0 -0
  112. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/data_all.py +0 -0
  113. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/test/test_kevin_notation.py +0 -0
  114. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/test/test_kevin_notation_debug.py +0 -0
  115. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/kevin_notation/write.py +0 -0
  116. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/markdown/__init__.py +0 -0
  117. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/markdown/find_tables.py +0 -0
  118. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/markdown/generate_link.py +0 -0
  119. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/markdown/generate_list.py +0 -0
  120. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/markdown/generate_table.py +0 -0
  121. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/markdown/parse_table.py +0 -0
  122. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/markdown/save_images_in_ndl.py +0 -0
  123. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/data_flow/file/markdown/variable.py +0 -0
  124. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/__init__.py +0 -0
  125. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/decorator/__init__.py +0 -0
  126. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/decorator/restore_original_work_path.py +0 -0
  127. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/__init__.py +0 -0
  128. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/producer_consumer/__init__.py +0 -0
  129. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/producer_consumer/consumer.py +0 -0
  130. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/producer_consumer/for_cvf.py +0 -0
  131. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/producer_consumer/getter.py +0 -0
  132. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/producer_consumer/graph.py +0 -0
  133. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/producer_consumer/node.py +0 -0
  134. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/producer_consumer/producer.py +0 -0
  135. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/producer_consumer/sender.py +0 -0
  136. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/singleton/__init__.py +0 -0
  137. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/design_pattern/singleton/singleton_for_uid.py +0 -0
  138. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/general_matrix_multiplication.py +0 -0
  139. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/numerical_characteristics/__init__.py +0 -0
  140. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/numerical_characteristics/iou.py +0 -0
  141. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/temperate/__init__.py +0 -0
  142. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/temperate/iterator_base.py +0 -0
  143. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/temperate/my_iterator.py +0 -0
  144. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/temperate/my_iterator_base.py +0 -0
  145. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/temperate/sequence_map_base.py +0 -0
  146. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/developing/test.py +0 -0
  147. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/env_info/__init__.py +0 -0
  148. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/env_info/check_validity_and_uninstall.py +0 -0
  149. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/env_info/check_version_and_update.py +0 -0
  150. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/env_info/test/__init__.py +0 -0
  151. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/env_info/test/test_version.py +0 -0
  152. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/env_info/version/__init__.py +0 -0
  153. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/env_info/version/compare_version.py +0 -0
  154. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/env_info/version/parse_version.py +0 -0
  155. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/env_info/version/sort_version_ls.py +0 -0
  156. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/__init__.py +0 -0
  157. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/__init__.py +0 -0
  158. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/__old_version/__init__.py +0 -0
  159. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/__old_version/cal_iou_between_box.py +0 -0
  160. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/boolean_algebra_for_boxes.py +0 -0
  161. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/cal_area_of_boxes.py +0 -0
  162. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/cal_iou_between_boxes.py +0 -0
  163. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/convert_boxes_from_coord_to_grid_index.py +0 -0
  164. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/detect_collision.py +0 -0
  165. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/detect_collision_among_boxes_ls.py +0 -0
  166. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/detect_collision_inside_boxes.py +0 -0
  167. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/detect_overlap.py +0 -0
  168. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/geometry/for_boxes/get_ticks_of_boxes.py +0 -0
  169. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/__init__.py +0 -0
  170. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/__init__.py +0 -0
  171. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/__init__.py +0 -0
  172. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/analysis/__init__.py +0 -0
  173. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/analysis/get_fail_case_from_iterator.py +0 -0
  174. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/dummy/__init__.py +0 -0
  175. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/dummy/dummy_data.py +0 -0
  176. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/__init__.py +0 -0
  177. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/build_generator.py +0 -0
  178. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/build_iterator.py +0 -0
  179. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/factory.py +0 -0
  180. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/__init__.py +0 -0
  181. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/along_axis.py +0 -0
  182. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/along_diagonal.py +0 -0
  183. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/of_all.py +0 -0
  184. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/of_triangle.py +0 -0
  185. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__init__.py +0 -0
  186. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/by_block.py +0 -0
  187. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/by_samples.py +0 -0
  188. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/dataset/face/verification/merge.py +0 -0
  189. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/statistician/__init__.py +0 -0
  190. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/statistician/binary_classification/__init__.py +0 -0
  191. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/__init__.py +0 -0
  192. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/accumulator_for_cfm.py +0 -0
  193. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/cal_cfm.py +0 -0
  194. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/cal_cfm_iteratively_by_chunk.py +0 -0
  195. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/cal_tpr_and_fpr.py +0 -0
  196. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/convert.py +0 -0
  197. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/merge_cfm_ls.py +0 -0
  198. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/__init__.py +0 -0
  199. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/__init__.py +0 -0
  200. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/concat_and_split/__init__.py +0 -0
  201. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/concat_and_split/computational_tree.py +0 -0
  202. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/concat_and_split/concat_crops_into_whole.py +0 -0
  203. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/concat_and_split/split_whole_into_crops.py +0 -0
  204. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/coordinates/__init__.py +0 -0
  205. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/coordinates/convert/__init__.py +0 -0
  206. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/coordinates/convert/convert_format.py +0 -0
  207. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/coordinates/generate/__init__.py +0 -0
  208. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/coordinates/generate/generate_integrated_api.py +0 -0
  209. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/coordinates/generate/generate_shuffled_index_ls.py +0 -0
  210. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/coordinates/generate/generate_z_pattern_indices_ls.py +0 -0
  211. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/coordinates/generate/normal_indices_generator.py +0 -0
  212. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/reshape/__init__.py +0 -0
  213. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/reshape/flatten_along_pattern.py +0 -0
  214. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/reshape/merge_blocks.py +0 -0
  215. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/reshape/split_blocks.py +0 -0
  216. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/reshape/unflatten_along_pattern.py +0 -0
  217. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/transpose/__init__.py +0 -0
  218. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/transpose/get_inverse_of_transpose_index_ls.py +0 -0
  219. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/dimension/transpose/transpose_inside_axis.py +0 -0
  220. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/number_theory/__init__.py +0 -0
  221. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/number_theory/cache.py +0 -0
  222. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/number_theory/get_greatest_common_divisor.py +0 -0
  223. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/number_theory/get_primes.py +0 -0
  224. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/number_theory/prime_factorization.py +0 -0
  225. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/number_theory/test/__init__.py +0 -0
  226. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/number_theory/test/test_get_greatest_common_divisor.py +0 -0
  227. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/number_theory/test/test_get_primes.py +0 -0
  228. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/number_theory/test/test_prime_factorization.py +0 -0
  229. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/transform/__init__.py +0 -0
  230. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/transform/dct/__init__.py +0 -0
  231. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/transform/dct/dct_calculator.py +0 -0
  232. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/transform/dct/generate_dct_trans_matrix.py +0 -0
  233. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/transform/scaling_and_shift/__init__.py +0 -0
  234. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/transform/scaling_and_shift/scaling.py +0 -0
  235. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/utils/__init__.py +0 -0
  236. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/utils/convert_dtype.py +0 -0
  237. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/utils/get_crop_by_box.py +0 -0
  238. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/utils/get_function_table_for_array_and_tensor.py +0 -0
  239. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/utils/set_crop_by_box.py +0 -0
  240. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/math/utils/split_integer_most_evenly.py +0 -0
  241. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/__init__.py +0 -0
  242. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/copy_.py +0 -0
  243. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/count_leaf_node_nums.py +0 -0
  244. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/get_hash.py +0 -0
  245. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/get_nodes.py +0 -0
  246. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/get_value.py +0 -0
  247. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/name_handler/__init__.py +0 -0
  248. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/name_handler/build_name.py +0 -0
  249. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/name_handler/escape_node.py +0 -0
  250. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/name_handler/parse_name.py +0 -0
  251. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/__init__.py +0 -0
  252. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/__init__.py +0 -0
  253. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/_json_.py +0 -0
  254. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/_ndl.py +0 -0
  255. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/_numpy_bin.py +0 -0
  256. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/_numpy_npy.py +0 -0
  257. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/_pickle_.py +0 -0
  258. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/_skip_all.py +0 -0
  259. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/_skip_simple.py +0 -0
  260. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/_torch_all.py +0 -0
  261. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/_torch_tensor.py +0 -0
  262. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/backends/backend_base.py +0 -0
  263. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/enum_variable.py +0 -0
  264. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/read.py +0 -0
  265. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/saved_node_name_builder.py +0 -0
  266. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/serializer/variable.py +0 -0
  267. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/set_default.py +0 -0
  268. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/set_value.py +0 -0
  269. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/traverse.py +0 -0
  270. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/value_parser/__init__.py +0 -0
  271. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/value_parser/cal_relation_between_references.py +0 -0
  272. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/value_parser/eval_references.py +0 -0
  273. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/value_parser/parse_and_eval_references.py +0 -0
  274. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/value_parser/parse_references.py +0 -0
  275. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/nested_dict_list/value_parser/replace_identical_with_reference.py +0 -0
  276. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/__init__.py +0 -0
  277. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_logging/__init__.py +0 -0
  278. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_logging/build_logger.py +0 -0
  279. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/add_trajectory_2d.py +0 -0
  280. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/add_trajectory_3d.py +0 -0
  281. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/arrow3d.py +0 -0
  282. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/common_charts/__init__.py +0 -0
  283. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_bars.py +0 -0
  284. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_confusion_matrix.py +0 -0
  285. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_distribution.py +0 -0
  286. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/__init__.py +0 -0
  287. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/linalg/__init__.py +0 -0
  288. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/linalg/cos_similar.py +0 -0
  289. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/linalg/entropy.py +0 -0
  290. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/linalg/normalize.py +0 -0
  291. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/linalg/softmax.py +0 -0
  292. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/random/__init__.py +0 -0
  293. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/random/get_rng.py +0 -0
  294. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/random/truncated_multivariate_normal.py +0 -0
  295. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/random/truncated_normal.py +0 -0
  296. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_numpy/random/variable.py +0 -0
  297. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/__init__.py +0 -0
  298. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/build_sampler.py +0 -0
  299. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/build_storage.py +0 -0
  300. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/copy_study.py +0 -0
  301. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/sample_from_feasible_domain.py +0 -0
  302. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/serialize/__init__.py +0 -0
  303. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/serialize/for_study/__init__.py +0 -0
  304. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/serialize/for_study/dump.py +0 -0
  305. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/serialize/for_study/load.py +0 -0
  306. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/serialize/for_trial/__init__.py +0 -0
  307. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/serialize/for_trial/dump.py +0 -0
  308. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_optuna/serialize/for_trial/load.py +0 -0
  309. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/__init__.py +0 -0
  310. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/copy.py +0 -0
  311. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/find_files_in_dir.py +0 -0
  312. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/pack.py +0 -0
  313. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/path/__init__.py +0 -0
  314. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/path/find_illegal_chars.py +0 -0
  315. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/path/replace_illegal_chars.py +0 -0
  316. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/remove.py +0 -0
  317. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/unpack.py +0 -0
  318. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_os/walk.py +0 -0
  319. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_test/__init__.py +0 -0
  320. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_test/check_consistency.py +0 -0
  321. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/__init__.py +0 -0
  322. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/compatible/__init__.py +0 -0
  323. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/compatible/concat.py +0 -0
  324. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/compatible/linalg/__init__.py +0 -0
  325. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/compatible/linalg/norm.py +0 -0
  326. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/compatible/linalg/svd.py +0 -0
  327. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/compatible/nn/__init__.py +0 -0
  328. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/compatible/nn/sequential.py +0 -0
  329. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/compatible/tile.py +0 -0
  330. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/compatible/where.py +0 -0
  331. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/math/__init__.py +0 -0
  332. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/math/get_y_at_x.py +0 -0
  333. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/math/my_around.py +0 -0
  334. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/nn/__init__.py +0 -0
  335. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox/patches/for_torch/nn/lambda_layer.py +0 -0
  336. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox_dev.egg-info/dependency_links.txt +0 -0
  337. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox_dev.egg-info/requires.txt +0 -0
  338. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/kevin_toolbox_dev.egg-info/top_level.txt +0 -0
  339. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/pyproject.toml +0 -0
  340. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/setup.cfg +0 -0
  341. {kevin-toolbox-dev-1.3.6 → kevin-toolbox-dev-1.3.7}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kevin-toolbox-dev
3
- Version: 1.3.6
3
+ Version: 1.3.7
4
4
  Summary: 一个常用的工具代码包集合
5
5
  Home-page: https://github.com/cantbeblank96/kevin_toolbox
6
6
  Download-URL: https://github.com/username/your-package/archive/refs/tags/v1.0.0.tar.gz
@@ -86,5 +86,13 @@ pip install kevin-toolbox --no-dependencies
86
86
  - 【new feature】modify Average_Accumulator,在 add() 中新增了 weight 参数用于计算带权重的平均值
87
87
  - modify Exponential_Moving_Average,add_sequence() 不再支持 weight_ls 参数,让该接口与其他类更加一致。
88
88
  - 添加了测试用例。
89
+ - v 1.3.7 (2024-08-01)【new feature】
90
+ - patches.for_matplotlib
91
+ - 【new feature】add clear_border_of_axes(),用于清除 ax 中的坐标轴和 ticks。
92
+ - 【new feature】add module color,添加用于处理颜色相关的模块,包含以下函数和属性
93
+ - Color_Format 颜色格式,共有 HEX_STR、RGBA_ARRAY、NATURAL_NAME 三种
94
+ - get_format(),推断所属颜色格式
95
+ - convert_format(),在各种颜色格式之间进行转换
96
+ - generate_color_list(),改进自原来的 for_matplotlib.generate_color_list(),新增了output_format参数用于对颜色格式的控制
89
97
 
90
98
 
@@ -67,3 +67,11 @@ pip install kevin-toolbox --no-dependencies
67
67
  - 【new feature】modify Average_Accumulator,在 add() 中新增了 weight 参数用于计算带权重的平均值
68
68
  - modify Exponential_Moving_Average,add_sequence() 不再支持 weight_ls 参数,让该接口与其他类更加一致。
69
69
  - 添加了测试用例。
70
+ - v 1.3.7 (2024-08-01)【new feature】
71
+ - patches.for_matplotlib
72
+ - 【new feature】add clear_border_of_axes(),用于清除 ax 中的坐标轴和 ticks。
73
+ - 【new feature】add module color,添加用于处理颜色相关的模块,包含以下函数和属性
74
+ - Color_Format 颜色格式,共有 HEX_STR、RGBA_ARRAY、NATURAL_NAME 三种
75
+ - get_format(),推断所属颜色格式
76
+ - convert_format(),在各种颜色格式之间进行转换
77
+ - generate_color_list(),改进自原来的 for_matplotlib.generate_color_list(),新增了output_format参数用于对颜色格式的控制
@@ -1,4 +1,4 @@
1
- __version__ = "1.3.6"
1
+ __version__ = "1.3.7"
2
2
 
3
3
 
4
4
  import os
@@ -12,5 +12,5 @@ os.system(
12
12
  os.system(
13
13
  f'python {os.path.split(__file__)[0]}/env_info/check_validity_and_uninstall.py '
14
14
  f'--package_name kevin-toolbox-dev '
15
- f'--expiration_timestamp 1735563213 --verbose 0'
15
+ f'--expiration_timestamp 1738073103 --verbose 0'
16
16
  )
@@ -211,6 +211,7 @@ def write(var, output_dir, settings=None, traversal_mode=Traversal_Mode.BFS, b_p
211
211
  file_path=os.path.join(temp_output_dir, "record.json"), b_use_suggested_converter=True)
212
212
 
213
213
  # 打包成 .tar 文件
214
+ for_os.remove(path=tgt_path, ignore_errors=True)
214
215
  if b_pack_into_tar:
215
216
  for_os.pack(source=temp_output_dir)
216
217
  os.rename(temp_output_dir + ".tar", output_dir + ".tar")
@@ -1,4 +1,4 @@
1
1
  from .arrow3d import Arrow3D
2
2
  from .add_trajectory_2d import add_trajectory_2d
3
3
  from .add_trajectory_3d import add_trajectory_3d
4
- from .generate_color_list import generate_color_list
4
+ from .clear_border_of_axes import clear_border_of_axes
@@ -0,0 +1,34 @@
1
+ def clear_border_of_axes(ax):
2
+ """
3
+ 用于清除 ax 中的坐标轴和 ticks
4
+ """
5
+ ax.set_xticks([])
6
+ ax.set_yticks([])
7
+ ax.spines['left'].set_color('none')
8
+ ax.spines['right'].set_color('none')
9
+ ax.spines['bottom'].set_color('none')
10
+ ax.spines['top'].set_color('none')
11
+ return ax
12
+
13
+
14
+ if __name__ == '__main__':
15
+ import matplotlib.pyplot as plt
16
+
17
+ #
18
+ fig, ax = plt.subplots()
19
+
20
+ x = [1, 4]
21
+ y = [1, 10]
22
+ ax.plot(x, y)
23
+
24
+ # 设置坐标轴的范围,以便更好地展示直线
25
+ ax.set_xlim([0, 5])
26
+ ax.set_ylim([0, 15])
27
+
28
+ # 添加标题和坐标轴标签
29
+ ax.set_xlabel('X')
30
+ ax.set_ylabel('Y')
31
+ clear_border_of_axes(ax)
32
+
33
+ # 显示图形
34
+ plt.show()
@@ -0,0 +1,4 @@
1
+ from .color_format import Color_Format
2
+ from .get_format import get_format
3
+ from .convert_format import convert_format
4
+ from .generate_color_list import generate_color_list
@@ -0,0 +1,7 @@
1
+ from enum import Enum
2
+
3
+
4
+ class Color_Format(Enum):
5
+ HEX_STR = "hex_str" # 例如 '#FF573380'
6
+ RGBA_ARRAY = "rgba_array" # 例如 (255, 87, 51, 0.5)
7
+ NATURAL_NAME = "natural_name" # 例如 'red'
@@ -0,0 +1,108 @@
1
+ from kevin_toolbox.patches.for_matplotlib.color import Color_Format, get_format
2
+
3
+
4
+ def hex_to_rgba(hex_color):
5
+ hex_color = hex_color.lstrip('#')
6
+ assert len(hex_color) in (6, 8), \
7
+ f'hex_color should be 6 or 8 characters long (not including #). but got {len(hex_color)}'
8
+ res = list(int(hex_color[i * 2:i * 2 + 2], 16) for i in range(len(hex_color) // 2))
9
+ if len(res) not in (3, 4):
10
+ breakpoint()
11
+ if len(res) == 4:
12
+ res[3] /= 255
13
+ return tuple(res)
14
+
15
+
16
+ def rgba_to_hex(rgba):
17
+ assert len(rgba) in (3, 4), \
18
+ f'rgba should be 3 or 4 elements long. but got {len(rgba)}'
19
+ if len(rgba) == 4:
20
+ rgba = list(rgba)
21
+ rgba[3] = max(0, min(255, int(255 * rgba[3])))
22
+ res = "#"
23
+ for i in rgba:
24
+ res += f'{i:02X}'
25
+ return res
26
+
27
+
28
+ NAME_TO_HEX = {
29
+ 'blue': '#0000FF',
30
+ 'red': '#FF0000',
31
+ 'green': '#008000',
32
+ 'orange': '#FFA500',
33
+ 'purple': '#800080',
34
+ 'yellow': '#FFFF00',
35
+ 'brown': '#A52A2A',
36
+ 'pink': '#FFC0CB',
37
+ 'gray': '#808080',
38
+ 'olive': '#808000',
39
+ 'cyan': '#00FFFF'
40
+ }
41
+ HEX_TO_NAME = {v: k for k, v in NAME_TO_HEX.items()}
42
+
43
+
44
+ def natural_name_to_hex(name):
45
+ global NAME_TO_HEX
46
+ name = name.lower()
47
+ assert name in NAME_TO_HEX, \
48
+ f'{name} is not a valid color name.'
49
+ return NAME_TO_HEX[name]
50
+
51
+
52
+ def hex_to_natural_name(hex_color):
53
+ global HEX_TO_NAME
54
+ hex_color = hex_color.upper()[:7]
55
+ assert hex_color in HEX_TO_NAME, \
56
+ f'{hex_color} does not has corresponding color name.'
57
+ return HEX_TO_NAME[hex_color]
58
+
59
+
60
+ CONVERT_PROCESS_S = {
61
+ (Color_Format.HEX_STR, Color_Format.NATURAL_NAME): hex_to_natural_name, # (from, to): process
62
+ (Color_Format.HEX_STR, Color_Format.RGBA_ARRAY): hex_to_rgba,
63
+ (Color_Format.NATURAL_NAME, Color_Format.HEX_STR): natural_name_to_hex,
64
+ (Color_Format.NATURAL_NAME, Color_Format.RGBA_ARRAY): lambda x: hex_to_rgba(natural_name_to_hex(x)),
65
+ (Color_Format.RGBA_ARRAY, Color_Format.HEX_STR): rgba_to_hex,
66
+ (Color_Format.RGBA_ARRAY, Color_Format.NATURAL_NAME): lambda x: hex_to_natural_name(rgba_to_hex(x))
67
+ }
68
+
69
+
70
+ def convert_format(var, output_format, input_format=None):
71
+ """
72
+ 在各种颜色格式之间进行转换
73
+
74
+ 参数:
75
+ var:
76
+ input_format: <str> 描述输入的格式。
77
+ 支持 HEX_STR、NATURAL_NAME、RGBA_ARRAY 等格式,
78
+ 默认为 None,此时将根据输入推断格式
79
+ output_format: <str/list of str> 输出的目标格式。
80
+ 当输入是一个 tuple/list 时,将输出其中任一格式,具体规则为:
81
+ - 当 input_format 不在可选的输出格式中时,优先按照第一个输出格式进行转换。
82
+ 若转换失败,则按照第二个输出格式进行转换。依次类推。
83
+ - 当 input_format 在可选的输出格式中时,不进行转换。
84
+ """
85
+ global CONVERT_PROCESS_S
86
+ if input_format is None:
87
+ input_format = get_format(var=var)
88
+ input_format = Color_Format(input_format)
89
+ if not isinstance(output_format, (list, tuple,)):
90
+ output_format = [output_format]
91
+ output_format = [Color_Format(i) for i in output_format]
92
+
93
+ if input_format in output_format:
94
+ return var
95
+ else:
96
+ for output_format_i in output_format:
97
+ try:
98
+ return CONVERT_PROCESS_S[(input_format, output_format_i)](var)
99
+ except Exception as e:
100
+ raise Exception(f'fail to convert {var} from {input_format} to {output_format}, beacause: {e}')
101
+
102
+
103
+ if __name__ == '__main__':
104
+ print(hex_to_rgba('#FF57337F'))
105
+ print(rgba_to_hex((255, 87, 51, 0.5)))
106
+ print(natural_name_to_hex('pink'))
107
+ print(convert_format(var='#FF57337F', input_format='hex_str', output_format='rgba_array'))
108
+ print(convert_format(var="#0000FF", output_format="rgba_array"))
@@ -0,0 +1,50 @@
1
+ from kevin_toolbox.patches.for_matplotlib.color import Color_Format, convert_format
2
+ from kevin_toolbox.patches.for_numpy import random
3
+
4
+ PREDEFINED = ['blue', 'red', 'green', 'orange', 'purple', 'yellow', "brown", "pink", "gray", "olive", "cyan"]
5
+ PREDEFINED = [convert_format(var=i, output_format=Color_Format.HEX_STR) for i in PREDEFINED]
6
+
7
+ population = tuple('0123456789ABCDEF')
8
+
9
+
10
+ def generate_color_list(nums, seed=None, rng=None, exclude_ls=None, output_format=Color_Format.HEX_STR):
11
+ """
12
+ 生成颜色列表
13
+
14
+ 参数:
15
+ nums: <int> 生成颜色的数量
16
+ seed,rng: 随机种子或随机生成器,二选一
17
+ exclude: <list of str> 需要排除的颜色
18
+ output_format: <Color_Format/str> 输出格式
19
+ 支持 HEX_STR、RGBA_ARRAY 两种格式
20
+ 返回:
21
+ 不包含 alpha 透明度值的颜色列表
22
+ """
23
+ global PREDEFINED, population
24
+ assert output_format in [Color_Format.HEX_STR, Color_Format.RGBA_ARRAY]
25
+ output_format = Color_Format(output_format)
26
+ if exclude_ls is None:
27
+ exclude_ls = []
28
+ assert isinstance(exclude_ls, (list, tuple))
29
+ exclude_ls = set(convert_format(var=i, output_format=Color_Format.HEX_STR) for i in exclude_ls)
30
+ rng = random.get_rng(seed=seed, rng=rng)
31
+
32
+ colors = [i for i in PREDEFINED if i not in exclude_ls][:nums] # 优先输出预定义的颜色
33
+
34
+ # 随机生成剩余数量的颜色
35
+ while len(colors) < nums:
36
+ c = "#" + ''.join(
37
+ rng.choice(population, size=6, replace=True))
38
+ if c not in colors and c not in exclude_ls:
39
+ colors.append(c)
40
+ colors = [convert_format(c, output_format=output_format) for c in colors]
41
+
42
+ return colors
43
+
44
+
45
+ if __name__ == '__main__':
46
+ color_list = generate_color_list(1, exclude_ls=['blue'])
47
+ print(color_list)
48
+
49
+ color_list = generate_color_list(nums=1, seed=114, exclude_ls=['#0000FF'])
50
+ print(color_list)
@@ -0,0 +1,12 @@
1
+ from kevin_toolbox.patches.for_matplotlib.color import Color_Format
2
+
3
+
4
+ def get_format(var):
5
+ if isinstance(var, str):
6
+ if var.startswith("#"):
7
+ res = Color_Format.HEX_STR
8
+ else:
9
+ res = Color_Format.NATURAL_NAME
10
+ else:
11
+ res = Color_Format.RGBA_ARRAY
12
+ return res
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  import matplotlib.pyplot as plt
3
3
  from kevin_toolbox.patches.for_os.path import replace_illegal_chars
4
- from kevin_toolbox.patches.for_matplotlib import generate_color_list
4
+ from kevin_toolbox.patches.for_matplotlib.color import generate_color_list
5
5
 
6
6
 
7
7
  def plot_lines(data_s, title, x_name, output_dir=None, **kwargs):
@@ -1,6 +1,6 @@
1
1
  import os
2
2
  import matplotlib.pyplot as plt
3
- from kevin_toolbox.patches.for_matplotlib import generate_color_list
3
+ from kevin_toolbox.patches.for_matplotlib.color import generate_color_list
4
4
  from kevin_toolbox.patches.for_os.path import replace_illegal_chars
5
5
 
6
6
 
@@ -2,7 +2,7 @@ import os
2
2
  import pandas as pd
3
3
  import seaborn as sns
4
4
  import matplotlib.pyplot as plt
5
- from kevin_toolbox.patches.for_matplotlib import generate_color_list
5
+ from kevin_toolbox.patches.for_matplotlib.color import generate_color_list
6
6
  from kevin_toolbox.patches.for_os.path import replace_illegal_chars
7
7
 
8
8
 
@@ -24,7 +24,7 @@ def build_study(output_dir=None, feasible_domain_path=None, **kwargs):
24
24
  if "storage" in kwargs:
25
25
  if isinstance(kwargs["storage"], (str,)) and kwargs["storage"].startswith("mysql:"):
26
26
  temp_ls = list(kwargs["storage"].split(":", 1))
27
- temp[0] = "mysql+pymysql"
27
+ temp_ls[0] = "mysql+pymysql"
28
28
  kwargs["storage"] = ":".join(temp_ls)
29
29
  elif isinstance(kwargs["storage"], (dict,)):
30
30
  kwargs["storage"] = build_storage(output_dir=output_dir, **kwargs["storage"]).url
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kevin-toolbox-dev
3
- Version: 1.3.6
3
+ Version: 1.3.7
4
4
  Summary: 一个常用的工具代码包集合
5
5
  Home-page: https://github.com/cantbeblank96/kevin_toolbox
6
6
  Download-URL: https://github.com/username/your-package/archive/refs/tags/v1.0.0.tar.gz
@@ -86,5 +86,13 @@ pip install kevin-toolbox --no-dependencies
86
86
  - 【new feature】modify Average_Accumulator,在 add() 中新增了 weight 参数用于计算带权重的平均值
87
87
  - modify Exponential_Moving_Average,add_sequence() 不再支持 weight_ls 参数,让该接口与其他类更加一致。
88
88
  - 添加了测试用例。
89
+ - v 1.3.7 (2024-08-01)【new feature】
90
+ - patches.for_matplotlib
91
+ - 【new feature】add clear_border_of_axes(),用于清除 ax 中的坐标轴和 ticks。
92
+ - 【new feature】add module color,添加用于处理颜色相关的模块,包含以下函数和属性
93
+ - Color_Format 颜色格式,共有 HEX_STR、RGBA_ARRAY、NATURAL_NAME 三种
94
+ - get_format(),推断所属颜色格式
95
+ - convert_format(),在各种颜色格式之间进行转换
96
+ - generate_color_list(),改进自原来的 for_matplotlib.generate_color_list(),新增了output_format参数用于对颜色格式的控制
89
97
 
90
98
 
@@ -268,7 +268,12 @@ kevin_toolbox/patches/for_matplotlib/__init__.py
268
268
  kevin_toolbox/patches/for_matplotlib/add_trajectory_2d.py
269
269
  kevin_toolbox/patches/for_matplotlib/add_trajectory_3d.py
270
270
  kevin_toolbox/patches/for_matplotlib/arrow3d.py
271
- kevin_toolbox/patches/for_matplotlib/generate_color_list.py
271
+ kevin_toolbox/patches/for_matplotlib/clear_border_of_axes.py
272
+ kevin_toolbox/patches/for_matplotlib/color/__init__.py
273
+ kevin_toolbox/patches/for_matplotlib/color/color_format.py
274
+ kevin_toolbox/patches/for_matplotlib/color/convert_format.py
275
+ kevin_toolbox/patches/for_matplotlib/color/generate_color_list.py
276
+ kevin_toolbox/patches/for_matplotlib/color/get_format.py
272
277
  kevin_toolbox/patches/for_matplotlib/common_charts/__init__.py
273
278
  kevin_toolbox/patches/for_matplotlib/common_charts/plot_bars.py
274
279
  kevin_toolbox/patches/for_matplotlib/common_charts/plot_confusion_matrix.py
@@ -1,33 +0,0 @@
1
- import random
2
-
3
- PREDEFINED = ['blue', 'red', 'green', 'orange', 'purple', 'yellow', "brown", "pink", "gray", "olive", "cyan"]
4
-
5
-
6
- def generate_color_list(nums, seed=None, exclude_ls=None):
7
- """
8
- 参数:
9
- nums: <int> 生成颜色的数量
10
- seed: 随机种子
11
- exclude: <list of str> 需要排除的颜色
12
- """
13
- global PREDEFINED
14
- if exclude_ls is None:
15
- exclude_ls = []
16
- assert isinstance(exclude_ls, (list, tuple))
17
-
18
- colors = [i for i in PREDEFINED if i not in exclude_ls][:nums] # 优先输出预定义的颜色
19
-
20
- # 随机生成剩余数量的颜色
21
- if seed is not None:
22
- random.seed(seed)
23
- while len(colors) < nums:
24
- c = "#" + ''.join(random.choices('0123456789ABCDEF', k=6))
25
- if c not in colors and c not in exclude_ls:
26
- colors.append(c)
27
-
28
- return colors
29
-
30
-
31
- if __name__ == '__main__':
32
- color_list = generate_color_list(20)
33
- print(color_list)