kevin-toolbox-dev 1.4.9__tar.gz → 1.4.11__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 (394) hide show
  1. kevin-toolbox-dev-1.4.11/PKG-INFO +62 -0
  2. kevin-toolbox-dev-1.4.11/README.md +41 -0
  3. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/__init__.py +2 -2
  4. kevin-toolbox-dev-1.4.11/kevin_toolbox/computer_science/algorithm/cache_manager/__init__.py +2 -0
  5. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/cache/cache_base.py +10 -0
  6. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/cache/memo_cache.py +17 -0
  7. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/cache_manager.py +24 -74
  8. kevin-toolbox-dev-1.4.11/kevin_toolbox/computer_science/algorithm/cache_manager/cache_manager_wto_strategy.py +157 -0
  9. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/for_seq/__init__.py +1 -0
  10. kevin-toolbox-dev-1.4.11/kevin_toolbox/computer_science/algorithm/for_seq/sample_subset_most_evenly.py +52 -0
  11. kevin-toolbox-dev-1.4.11/kevin_toolbox/computer_science/algorithm/redirector/__init__.py +1 -0
  12. kevin-toolbox-dev-1.4.11/kevin_toolbox/computer_science/algorithm/redirector/redirectable_sequence_fetcher.py +258 -0
  13. kevin-toolbox-dev-1.4.11/kevin_toolbox/computer_science/algorithm/sampler/__init__.py +1 -0
  14. kevin-toolbox-dev-1.4.11/kevin_toolbox/computer_science/algorithm/sampler/reservoir_sampler.py +116 -0
  15. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/statistician/accumulator_base.py +1 -1
  16. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/kevin_notation_reader.py +18 -7
  17. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/kevin_notation_writer.py +8 -1
  18. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/data_0.py +2 -1
  19. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/test/test_kevin_notation.py +1 -4
  20. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/test/test_kevin_notation_debug.py +16 -4
  21. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/get_format.py +3 -0
  22. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/get_nodes.py +9 -0
  23. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/value_parser/replace_identical_with_reference.py +2 -4
  24. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_logging/build_logger.py +3 -1
  25. kevin-toolbox-dev-1.4.11/kevin_toolbox_dev.egg-info/PKG-INFO +62 -0
  26. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox_dev.egg-info/SOURCES.txt +6 -0
  27. kevin-toolbox-dev-1.4.9/PKG-INFO +0 -70
  28. kevin-toolbox-dev-1.4.9/README.md +0 -49
  29. kevin-toolbox-dev-1.4.9/kevin_toolbox/computer_science/algorithm/cache_manager/__init__.py +0 -1
  30. kevin-toolbox-dev-1.4.9/kevin_toolbox_dev.egg-info/PKG-INFO +0 -70
  31. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/__init__.py +0 -0
  32. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/__init__.py +0 -0
  33. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/cache/__init__.py +0 -0
  34. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/__init__.py +0 -0
  35. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/fifo_strategy.py +0 -0
  36. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/lfu_strategy.py +0 -0
  37. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/lru_strategy.py +0 -0
  38. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/lst_strategy.py +0 -0
  39. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/strategy/strategy_base.py +0 -0
  40. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/test/__init__.py +0 -0
  41. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/test/test_cache_builder.py +0 -0
  42. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/test/test_cache_manager.py +0 -0
  43. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/test/test_cache_strategy.py +0 -0
  44. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/cache_manager/variable.py +0 -0
  45. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/__init__.py +0 -0
  46. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/get_subset_with_largest_product.py +0 -0
  47. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/__init__.py +0 -0
  48. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/test_get_subset_with_largest_product.py +0 -0
  49. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/test_zero_one_knapsack_problem.py +0 -0
  50. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/zero_one_knapsack_problem.py +0 -0
  51. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/decorator/__init__.py +0 -0
  52. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/decorator/restore_original_work_path.py +0 -0
  53. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/decorator/retry.py +0 -0
  54. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/execution_graph/__init__.py +0 -0
  55. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/execution_graph/jump_node.py +0 -0
  56. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/execution_graph/random_node.py +0 -0
  57. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/execution_graph/simple_node.py +0 -0
  58. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/for_dict/__init__.py +0 -0
  59. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/for_dict/deep_update.py +0 -0
  60. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/for_seq/chunk_generator.py +0 -0
  61. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/for_seq/flatten_list.py +0 -0
  62. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/for_seq/get_subsets.py +0 -0
  63. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/locks/__init__.py +0 -0
  64. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/locks/mutex_lock.py +0 -0
  65. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/__init__.py +0 -0
  66. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/async_executor.py +0 -0
  67. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/multi_process_execute.py +0 -0
  68. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/multi_thread_execute.py +0 -0
  69. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/utils/__init__.py +0 -0
  70. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/utils/wrapper_with_timeout_1.py +0 -0
  71. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/parallel_and_concurrent/utils/wrapper_with_timeout_2.py +0 -0
  72. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/pareto_front/__init__.py +0 -0
  73. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/pareto_front/get_pareto_points_idx.py +0 -0
  74. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/pareto_front/optimum_picker.py +0 -0
  75. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/registration/__init__.py +0 -0
  76. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/registration/registry.py +0 -0
  77. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/registration/serializer_for_registry_execution.py +0 -0
  78. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/scheduler/__init__.py +0 -0
  79. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/scheduler/strategy_manager.py +0 -0
  80. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/scheduler/trigger.py +0 -0
  81. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/search/__init__.py +0 -0
  82. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/search/binary_search.py +0 -0
  83. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/statistician/__init__.py +0 -0
  84. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/statistician/accumulator_for_ndl.py +0 -0
  85. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/statistician/average_accumulator.py +0 -0
  86. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/statistician/exponential_moving_average.py +0 -0
  87. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/statistician/init_var/__init__.py +0 -0
  88. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/statistician/init_var/init_by_data_format.py +0 -0
  89. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/statistician/init_var/init_by_like.py +0 -0
  90. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/algorithm/utils/__init__.py +0 -0
  91. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/data_structure/__init__.py +0 -0
  92. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/computer_science/data_structure/executor.py +0 -0
  93. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/dangerous/__init__.py +0 -0
  94. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/dangerous/dump_into_pickle_with_executor_attached.py +0 -0
  95. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/__init__.py +0 -0
  96. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/core/__init__.py +0 -0
  97. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/core/cache/__init__.py +0 -0
  98. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/core/cache/cache_manager_for_iterator.py +0 -0
  99. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/core/cache/test/__init__.py +0 -0
  100. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/core/cache/test/test_cache_manager_for_iterator.py +0 -0
  101. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/core/reader/__init__.py +0 -0
  102. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/core/reader/file_iterative_reader.py +0 -0
  103. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/core/reader/unified_reader.py +0 -0
  104. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/core/reader/unified_reader_base.py +0 -0
  105. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/__init__.py +0 -0
  106. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/excel/__init__.py +0 -0
  107. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/excel/write_excel_with_matrix.py +0 -0
  108. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/__init__.py +0 -0
  109. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/converter/__init__.py +0 -0
  110. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/converter/convert_dict_key_to_number.py +0 -0
  111. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/converter/convert_ndarray_to_list.py +0 -0
  112. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/converter/escape_non_str_dict_key.py +0 -0
  113. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/converter/escape_tuple_and_set.py +0 -0
  114. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/converter/integrate.py +0 -0
  115. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/converter/unescape_non_str_dict_key.py +0 -0
  116. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/converter/unescape_tuple_and_set.py +0 -0
  117. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/read_json.py +0 -0
  118. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/json_/write_json.py +0 -0
  119. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/__init__.py +0 -0
  120. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/converter.py +0 -0
  121. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/read.py +0 -0
  122. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/test/__init__.py +0 -0
  123. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/__init__.py +0 -0
  124. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/data_1.py +0 -0
  125. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/data_all.py +0 -0
  126. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/kevin_notation/write.py +0 -0
  127. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/__init__.py +0 -0
  128. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/generate_list.py +0 -0
  129. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/link/__init__.py +0 -0
  130. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/link/find_links.py +0 -0
  131. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/link/generate_link.py +0 -0
  132. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/__init__.py +0 -0
  133. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/convert/__init__.py +0 -0
  134. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/convert/complete_to_matrix.py +0 -0
  135. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/convert/matrix_to_complete.py +0 -0
  136. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/convert_format.py +0 -0
  137. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/find_tables.py +0 -0
  138. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/generate_table.py +0 -0
  139. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/padding_misaligned_values.py +0 -0
  140. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/table/variable.py +0 -0
  141. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/utils/__init__.py +0 -0
  142. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/data_flow/file/markdown/utils/save_images_in_ndl.py +0 -0
  143. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/__init__.py +0 -0
  144. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/__init__.py +0 -0
  145. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/producer_consumer/__init__.py +0 -0
  146. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/producer_consumer/consumer.py +0 -0
  147. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/producer_consumer/for_cvf.py +0 -0
  148. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/producer_consumer/getter.py +0 -0
  149. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/producer_consumer/graph.py +0 -0
  150. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/producer_consumer/node.py +0 -0
  151. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/producer_consumer/producer.py +0 -0
  152. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/producer_consumer/sender.py +0 -0
  153. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/singleton/__init__.py +0 -0
  154. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/design_pattern/singleton/singleton_for_uid.py +0 -0
  155. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/general_matrix_multiplication.py +0 -0
  156. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/numerical_characteristics/__init__.py +0 -0
  157. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/numerical_characteristics/iou.py +0 -0
  158. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/temperate/__init__.py +0 -0
  159. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/temperate/iterator_base.py +0 -0
  160. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/temperate/my_iterator.py +0 -0
  161. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/temperate/my_iterator_base.py +0 -0
  162. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/temperate/sequence_map_base.py +0 -0
  163. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/developing/test.py +0 -0
  164. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/__init__.py +0 -0
  165. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/check_validity_and_uninstall.py +0 -0
  166. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/check_version_and_update.py +0 -0
  167. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/test/__init__.py +0 -0
  168. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/test/test_check_.py +0 -0
  169. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/test/test_variable_.py +0 -0
  170. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/test/test_version.py +0 -0
  171. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/variable_/__init__.py +0 -0
  172. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/variable_/env_vars_parser.py +0 -0
  173. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/version/__init__.py +0 -0
  174. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/version/compare_version.py +0 -0
  175. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/version/parse_version.py +0 -0
  176. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/env_info/version/sort_version_ls.py +0 -0
  177. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/__init__.py +0 -0
  178. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/__init__.py +0 -0
  179. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/__old_version/__init__.py +0 -0
  180. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/__old_version/cal_iou_between_box.py +0 -0
  181. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/boolean_algebra_for_boxes.py +0 -0
  182. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/cal_area_of_boxes.py +0 -0
  183. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/cal_iou_between_boxes.py +0 -0
  184. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/convert_boxes_from_coord_to_grid_index.py +0 -0
  185. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/detect_collision.py +0 -0
  186. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/detect_collision_among_boxes_ls.py +0 -0
  187. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/detect_collision_inside_boxes.py +0 -0
  188. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/detect_overlap.py +0 -0
  189. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/geometry/for_boxes/get_ticks_of_boxes.py +0 -0
  190. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/__init__.py +0 -0
  191. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/__init__.py +0 -0
  192. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/__init__.py +0 -0
  193. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/analysis/__init__.py +0 -0
  194. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/analysis/get_fail_case_from_iterator.py +0 -0
  195. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/dummy/__init__.py +0 -0
  196. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/dummy/dummy_data.py +0 -0
  197. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/__init__.py +0 -0
  198. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/build_generator.py +0 -0
  199. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/build_iterator.py +0 -0
  200. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/factory.py +0 -0
  201. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/__init__.py +0 -0
  202. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/along_axis.py +0 -0
  203. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/along_diagonal.py +0 -0
  204. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/of_all.py +0 -0
  205. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/of_triangle.py +0 -0
  206. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__init__.py +0 -0
  207. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/by_block.py +0 -0
  208. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/by_samples.py +0 -0
  209. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/dataset/face/verification/merge.py +0 -0
  210. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/statistician/__init__.py +0 -0
  211. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/statistician/binary_classification/__init__.py +0 -0
  212. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/__init__.py +0 -0
  213. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/accumulator_for_cfm.py +0 -0
  214. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/cal_cfm.py +0 -0
  215. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/cal_cfm_iteratively_by_chunk.py +0 -0
  216. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/cal_tpr_and_fpr.py +0 -0
  217. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/convert.py +0 -0
  218. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/merge_cfm_ls.py +0 -0
  219. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/__init__.py +0 -0
  220. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/__init__.py +0 -0
  221. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/concat_and_split/__init__.py +0 -0
  222. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/concat_and_split/computational_tree.py +0 -0
  223. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/concat_and_split/concat_crops_into_whole.py +0 -0
  224. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/concat_and_split/split_whole_into_crops.py +0 -0
  225. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/coordinates/__init__.py +0 -0
  226. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/coordinates/convert/__init__.py +0 -0
  227. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/coordinates/convert/convert_format.py +0 -0
  228. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/coordinates/generate/__init__.py +0 -0
  229. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/coordinates/generate/generate_integrated_api.py +0 -0
  230. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/coordinates/generate/generate_shuffled_index_ls.py +0 -0
  231. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/coordinates/generate/generate_z_pattern_indices_ls.py +0 -0
  232. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/coordinates/generate/normal_indices_generator.py +0 -0
  233. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/reshape/__init__.py +0 -0
  234. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/reshape/flatten_along_pattern.py +0 -0
  235. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/reshape/merge_blocks.py +0 -0
  236. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/reshape/split_blocks.py +0 -0
  237. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/reshape/unflatten_along_pattern.py +0 -0
  238. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/transpose/__init__.py +0 -0
  239. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/transpose/get_inverse_of_transpose_index_ls.py +0 -0
  240. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/dimension/transpose/transpose_inside_axis.py +0 -0
  241. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/number_theory/__init__.py +0 -0
  242. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/number_theory/cache.py +0 -0
  243. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/number_theory/get_greatest_common_divisor.py +0 -0
  244. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/number_theory/get_primes.py +0 -0
  245. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/number_theory/prime_factorization.py +0 -0
  246. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/number_theory/test/__init__.py +0 -0
  247. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/number_theory/test/test_get_greatest_common_divisor.py +0 -0
  248. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/number_theory/test/test_get_primes.py +0 -0
  249. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/number_theory/test/test_prime_factorization.py +0 -0
  250. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/transform/__init__.py +0 -0
  251. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/transform/dct/__init__.py +0 -0
  252. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/transform/dct/dct_calculator.py +0 -0
  253. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/transform/dct/generate_dct_trans_matrix.py +0 -0
  254. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/transform/scaling_and_shift/__init__.py +0 -0
  255. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/transform/scaling_and_shift/scaling.py +0 -0
  256. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/utils/__init__.py +0 -0
  257. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/utils/convert_dtype.py +0 -0
  258. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/utils/get_crop_by_box.py +0 -0
  259. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/utils/get_function_table_for_array_and_tensor.py +0 -0
  260. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/utils/set_crop_by_box.py +0 -0
  261. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/math/utils/split_integer_most_evenly.py +0 -0
  262. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/__init__.py +0 -0
  263. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/copy_.py +0 -0
  264. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/count_leaf_node_nums.py +0 -0
  265. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/get_hash.py +0 -0
  266. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/get_value.py +0 -0
  267. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/name_handler/__init__.py +0 -0
  268. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/name_handler/build_name.py +0 -0
  269. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/name_handler/escape_node.py +0 -0
  270. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/name_handler/parse_name.py +0 -0
  271. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/__init__.py +0 -0
  272. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/__init__.py +0 -0
  273. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/_json_.py +0 -0
  274. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/_ndl.py +0 -0
  275. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/_numpy_bin.py +0 -0
  276. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/_numpy_npy.py +0 -0
  277. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/_pickle_.py +0 -0
  278. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/_skip_all.py +0 -0
  279. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/_skip_simple.py +0 -0
  280. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/_torch_all.py +0 -0
  281. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/_torch_tensor.py +0 -0
  282. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/backends/backend_base.py +0 -0
  283. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/enum_variable.py +0 -0
  284. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/read.py +0 -0
  285. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/saved_node_name_builder.py +0 -0
  286. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/variable.py +0 -0
  287. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/serializer/write.py +0 -0
  288. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/set_default.py +0 -0
  289. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/set_value.py +0 -0
  290. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/traverse.py +0 -0
  291. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/value_parser/__init__.py +0 -0
  292. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/value_parser/cal_relation_between_references.py +0 -0
  293. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/value_parser/eval_references.py +0 -0
  294. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/value_parser/parse_and_eval_references.py +0 -0
  295. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/nested_dict_list/value_parser/parse_references.py +0 -0
  296. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/network/__init__.py +0 -0
  297. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/network/download_file.py +0 -0
  298. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/network/fetch_content.py +0 -0
  299. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/network/fetch_metadata.py +0 -0
  300. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/network/get_response.py +0 -0
  301. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/network/variable.py +0 -0
  302. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/__init__.py +0 -0
  303. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_logging/__init__.py +0 -0
  304. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/__init__.py +0 -0
  305. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/add_trajectory_2d.py +0 -0
  306. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/add_trajectory_3d.py +0 -0
  307. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/arrow3d.py +0 -0
  308. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/clear_border_of_axes.py +0 -0
  309. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/color/__init__.py +0 -0
  310. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/color/color_format.py +0 -0
  311. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/color/convert_format.py +0 -0
  312. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/color/generate_color_list.py +0 -0
  313. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/color/get_format.py +0 -0
  314. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/__init__.py +0 -0
  315. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_bars.py +0 -0
  316. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_confusion_matrix.py +0 -0
  317. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_distribution.py +0 -0
  318. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_from_record.py +0 -0
  319. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_lines.py +0 -0
  320. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_scatters.py +0 -0
  321. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/plot_scatters_matrix.py +0 -0
  322. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/utils/__init__.py +0 -0
  323. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/utils/get_output_path.py +0 -0
  324. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/utils/save_plot.py +0 -0
  325. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/common_charts/utils/save_record.py +0 -0
  326. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_matplotlib/variable.py +0 -0
  327. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/__init__.py +0 -0
  328. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/linalg/__init__.py +0 -0
  329. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/linalg/cos_similar.py +0 -0
  330. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/linalg/entropy.py +0 -0
  331. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/linalg/normalize.py +0 -0
  332. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/linalg/softmax.py +0 -0
  333. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/random/__init__.py +0 -0
  334. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/random/get_rng.py +0 -0
  335. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/random/get_rng_state.py +0 -0
  336. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/random/set_rng_state.py +0 -0
  337. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/random/truncated_multivariate_normal.py +0 -0
  338. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/random/truncated_normal.py +0 -0
  339. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_numpy/random/variable.py +0 -0
  340. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/__init__.py +0 -0
  341. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/build_sampler.py +0 -0
  342. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/build_storage.py +0 -0
  343. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/build_study.py +0 -0
  344. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/copy_study.py +0 -0
  345. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/sample_from_feasible_domain.py +0 -0
  346. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/serialize/__init__.py +0 -0
  347. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/serialize/for_study/__init__.py +0 -0
  348. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/serialize/for_study/dump.py +0 -0
  349. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/serialize/for_study/load.py +0 -0
  350. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/serialize/for_trial/__init__.py +0 -0
  351. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/serialize/for_trial/dump.py +0 -0
  352. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_optuna/serialize/for_trial/load.py +0 -0
  353. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/__init__.py +0 -0
  354. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/copy.py +0 -0
  355. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/find_files_in_dir.py +0 -0
  356. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/organize/__init__.py +0 -0
  357. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/organize/group_files_by_timestamp.py +0 -0
  358. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/pack.py +0 -0
  359. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/path/__init__.py +0 -0
  360. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/path/find_illegal_chars.py +0 -0
  361. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/path/replace_illegal_chars.py +0 -0
  362. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/remove.py +0 -0
  363. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/unpack.py +0 -0
  364. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_os/walk.py +0 -0
  365. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_streamlit/__init__.py +0 -0
  366. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_streamlit/markdown/__init__.py +0 -0
  367. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_streamlit/markdown/show.py +0 -0
  368. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_streamlit/markdown/show_image.py +0 -0
  369. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_streamlit/markdown/show_table.py +0 -0
  370. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_test/__init__.py +0 -0
  371. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_test/check_consistency.py +0 -0
  372. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/__init__.py +0 -0
  373. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/compatible/__init__.py +0 -0
  374. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/compatible/concat.py +0 -0
  375. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/compatible/linalg/__init__.py +0 -0
  376. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/compatible/linalg/norm.py +0 -0
  377. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/compatible/linalg/svd.py +0 -0
  378. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/compatible/nn/__init__.py +0 -0
  379. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/compatible/nn/sequential.py +0 -0
  380. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/compatible/tile.py +0 -0
  381. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/compatible/where.py +0 -0
  382. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/math/__init__.py +0 -0
  383. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/math/get_y_at_x.py +0 -0
  384. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/math/my_around.py +0 -0
  385. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/nn/__init__.py +0 -0
  386. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/patches/for_torch/nn/lambda_layer.py +0 -0
  387. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/utils/__init__.py +0 -0
  388. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox/utils/variable.py +0 -0
  389. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox_dev.egg-info/dependency_links.txt +0 -0
  390. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox_dev.egg-info/requires.txt +0 -0
  391. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/kevin_toolbox_dev.egg-info/top_level.txt +0 -0
  392. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/pyproject.toml +0 -0
  393. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/setup.cfg +0 -0
  394. {kevin-toolbox-dev-1.4.9 → kevin-toolbox-dev-1.4.11}/setup.py +0 -0
@@ -0,0 +1,62 @@
1
+ Metadata-Version: 2.1
2
+ Name: kevin-toolbox-dev
3
+ Version: 1.4.11
4
+ Summary: 一个常用的工具代码包集合
5
+ Home-page: https://github.com/cantbeblank96/kevin_toolbox
6
+ Download-URL: https://github.com/username/your-package/archive/refs/tags/v1.0.0.tar.gz
7
+ Author: kevin hsu
8
+ Author-email: xukaiming1996@163.com
9
+ License: MIT
10
+ Keywords: mathematics,pytorch,numpy,machine-learning,algorithm
11
+ Platform: UNKNOWN
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python
14
+ Classifier: Programming Language :: Python :: 3
15
+ Requires-Python: >=3.6
16
+ Description-Content-Type: text/markdown
17
+ Provides-Extra: plot
18
+ Provides-Extra: rest
19
+
20
+ # kevin_toolbox
21
+
22
+ 一个通用的工具代码包集合
23
+
24
+
25
+
26
+ 环境要求
27
+
28
+ ```shell
29
+ numpy>=1.19
30
+ pytorch>=1.2
31
+ ```
32
+
33
+ 安装方法:
34
+
35
+ ```shell
36
+ pip install kevin-toolbox --no-dependencies
37
+ ```
38
+
39
+
40
+
41
+ [项目地址 Repo](https://github.com/cantbeblank96/kevin_toolbox)
42
+
43
+ [使用指南 User_Guide](./notes/User_Guide.md)
44
+
45
+ [免责声明 Disclaimer](./notes/Disclaimer.md)
46
+
47
+ [版本更新记录](./notes/Release_Record.md):
48
+
49
+ - v 1.4.11 (2025-04-16)【bug fix】
50
+
51
+ - nested_dict_list
52
+ - 【bug fix】fix bug in value_parser.replace_identical_with_reference()
53
+ - bug 描述:该函数的 _forward 中是通过 get_nodes 来获取各层节点,并记录节点的 id 和 level,这就导致某些节点由于其下具有不同长度的到叶节点的路径,因此节点会同时属于多个 level,最终导致其在 id_to_height_s 中被记录为有多个高度,这进一步导致其无法通过后面“具有相同 id 的节点所处的高度应该相同”的检验条件。
54
+ - 解决:
55
+ - 修复了 replace_identical_with_reference() 中的 _forward 部分,仅记录每个节点的最大高度。
56
+ - 去除了“具有相同 id 的节点所处的高度应该相同”的检验条件。
57
+ - computer_science.algorithm.redirector
58
+ - 【bug fix】fix bug in Redirectable_Sequence_Fetcher,将 _randomly_idx_redirector 中的 rng.choices 改为 rng.choice
59
+ - 添加了对应的测试用例。
60
+
61
+
62
+
@@ -0,0 +1,41 @@
1
+ # kevin_toolbox
2
+
3
+ 一个通用的工具代码包集合
4
+
5
+
6
+
7
+ 环境要求
8
+
9
+ ```shell
10
+ numpy>=1.19
11
+ pytorch>=1.2
12
+ ```
13
+
14
+ 安装方法:
15
+
16
+ ```shell
17
+ pip install kevin-toolbox --no-dependencies
18
+ ```
19
+
20
+
21
+
22
+ [项目地址 Repo](https://github.com/cantbeblank96/kevin_toolbox)
23
+
24
+ [使用指南 User_Guide](./notes/User_Guide.md)
25
+
26
+ [免责声明 Disclaimer](./notes/Disclaimer.md)
27
+
28
+ [版本更新记录](./notes/Release_Record.md):
29
+
30
+ - v 1.4.11 (2025-04-16)【bug fix】
31
+
32
+ - nested_dict_list
33
+ - 【bug fix】fix bug in value_parser.replace_identical_with_reference()
34
+ - bug 描述:该函数的 _forward 中是通过 get_nodes 来获取各层节点,并记录节点的 id 和 level,这就导致某些节点由于其下具有不同长度的到叶节点的路径,因此节点会同时属于多个 level,最终导致其在 id_to_height_s 中被记录为有多个高度,这进一步导致其无法通过后面“具有相同 id 的节点所处的高度应该相同”的检验条件。
35
+ - 解决:
36
+ - 修复了 replace_identical_with_reference() 中的 _forward 部分,仅记录每个节点的最大高度。
37
+ - 去除了“具有相同 id 的节点所处的高度应该相同”的检验条件。
38
+ - computer_science.algorithm.redirector
39
+ - 【bug fix】fix bug in Redirectable_Sequence_Fetcher,将 _randomly_idx_redirector 中的 rng.choices 改为 rng.choice
40
+ - 添加了对应的测试用例。
41
+
@@ -1,4 +1,4 @@
1
- __version__ = "1.4.9"
1
+ __version__ = "1.4.11"
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 1758638079 --verbose 0'
15
+ f'--expiration_timestamp 1760340881 --verbose 0'
16
16
  )
@@ -0,0 +1,2 @@
1
+ from .cache_manager_wto_strategy import Cache_Manager_wto_Strategy
2
+ from .cache_manager import Cache_Manager
@@ -12,6 +12,7 @@ class Cache_Base(ABC):
12
12
  - 判断是否命中 has()
13
13
  - 获取缓存已占空间 len()
14
14
  - 清空所有内容 clear()
15
+ - 加载和保存状态 load_state_dict(), state_dict()
15
16
  等方法。
16
17
 
17
18
  对外提供:
@@ -21,6 +22,7 @@ class Cache_Base(ABC):
21
22
  - 判断是否命中 has()
22
23
  - 获取缓存已占空间 len()
23
24
  - 清空所有内容 clear()
25
+ - 加载和保存状态 load_state_dict(), state_dict()
24
26
  等接口。
25
27
  """
26
28
 
@@ -69,6 +71,14 @@ class Cache_Base(ABC):
69
71
  def clear(self):
70
72
  pass
71
73
 
74
+ @abstractmethod
75
+ def load_state_dict(self, state_dict):
76
+ pass
77
+
78
+ @abstractmethod
79
+ def state_dict(self, b_deepcopy=True):
80
+ pass
81
+
72
82
  def __getitem__(self, key):
73
83
  # self[key]
74
84
  return self.read(key=key)
@@ -30,6 +30,23 @@ class Memo_Cache(Cache_Base):
30
30
  def clear(self):
31
31
  self.cache_s.clear()
32
32
 
33
+ def load_state_dict(self, state_dict):
34
+ """
35
+ 加载状态
36
+ """
37
+ self.clear()
38
+ self.cache_s.update(state_dict["cache_s"])
39
+
40
+ def state_dict(self, b_deepcopy=True):
41
+ """
42
+ 获取状态
43
+ """
44
+ temp = {"cache_s": self.cache_s}
45
+ if b_deepcopy:
46
+ import kevin_toolbox.nested_dict_list as ndl
47
+ temp = ndl.copy_(var=temp, b_deepcopy=True, b_keep_internal_references=True)
48
+ return temp
49
+
33
50
 
34
51
  # 添加其他别名
35
52
  for name in [":in_memory:Memo", ":in_memory:MC", ":in_memory:memory"]:
@@ -2,9 +2,10 @@ import time
2
2
  from .strategy import Strategy_Base
3
3
  from .cache import Cache_Base
4
4
  from .variable import CACHE_STRATEGY_REGISTRY, CACHE_BUILDER_REGISTRY
5
+ from .cache_manager_wto_strategy import Cache_Manager_wto_Strategy
5
6
 
6
7
 
7
- class Cache_Manager:
8
+ class Cache_Manager(Cache_Manager_wto_Strategy):
8
9
  """
9
10
  缓存管理器
10
11
 
@@ -14,6 +15,7 @@ class Cache_Manager:
14
15
  - 删除并返回条目 pop(key)
15
16
  - 判断是否有该条目 has()
16
17
  - 清空所有内容 clear()
18
+ - 加载和保存状态 load_state_dict(), state_dict()
17
19
 
18
20
  并支持以下用法:
19
21
  通过 len(.) 获取缓存大小,通过 in 操作符判断是否有某个条目
@@ -95,29 +97,7 @@ class Cache_Manager:
95
97
  self.cache = cache # type:Cache_Base
96
98
  self.metadata_s = dict() # 保存条目的相关信息
97
99
 
98
- def add(self, key, value, b_allow_overwrite=True):
99
- """
100
- 以 key 为查询键,将 value 添加到缓存中
101
-
102
- 参数:
103
- key:
104
- value:
105
- b_allow_overwrite: <boolean> 是否允许覆写缓存中已有的条目
106
- 默认为 True
107
- """
108
- # 判断是否需要进行覆写
109
- if self.cache.has(key=key):
110
- if id(value) != id(self.cache.read(key=key)):
111
- if b_allow_overwrite:
112
- self.__remove_of_cache(key=key)
113
- else:
114
- raise KeyError(f'key: {key} already exists, modification of existing entries is prohibited')
115
- else:
116
- return
117
- # 记录到缓存
118
- self.__write_of_cache(key=key, value=value)
119
-
120
- def __write_of_cache(self, key, value):
100
+ def _write_of_cache(self, key, value):
121
101
  """
122
102
  向缓存中新增不存在的条目
123
103
  """
@@ -143,9 +123,9 @@ class Cache_Manager:
143
123
  assert len(suggest_keys) == len(self.cache) - self.paras["refactor_size"], \
144
124
  f'expect {len(self.cache) - self.paras["refactor_size"]} deletion suggestions, but got {len(suggest_keys)}'
145
125
  for key in suggest_keys:
146
- self.__remove_of_cache(key=key)
126
+ self._remove_of_cache(key=key)
147
127
 
148
- def __remove_of_cache(self, key):
128
+ def _remove_of_cache(self, key):
149
129
  """
150
130
  从缓存中删除存在的条目
151
131
  """
@@ -154,43 +134,7 @@ class Cache_Manager:
154
134
  # 通知策略管理器
155
135
  self.strategy.notified_by_remove_of_cache(key=key, metadata=metadata)
156
136
 
157
- def get(self, key, b_add_if_not_found=False, default_factory=None, **kwargs):
158
- """
159
- 获取 key 对应的值
160
-
161
- 参数:
162
- key: <hashable>
163
- default: 默认值
164
- 当 key 在缓存中不存在时返回
165
- default_factory: <callable> 用于产生默认值的函数
166
- 当 key 在缓存中不存在时返回该函数的结果
167
- 使用该参数相对于 default 能延迟默认值的产生(如果不需要用到默认值就不生成),提高效率
168
- 注意!!上面两个参数同时指定时,将以前者为准。
169
- b_add_if_not_found: <boolean> 当 key 在缓存中不存在时,是否添加到缓存中
170
- 默认为 False
171
- """
172
- if self.cache.has(key=key):
173
- value = self.__read_of_cache(key=key)
174
- elif "default" in kwargs or callable(default_factory):
175
- value = kwargs["default"] if "default" in kwargs else default_factory()
176
- if b_add_if_not_found:
177
- self.__write_of_cache(key=key, value=value)
178
- else:
179
- raise KeyError(key)
180
- return value
181
-
182
- def pop(self, key):
183
- """
184
- 从缓存中删除 key 对应的条目,并返回该条目的值
185
- """
186
- if self.cache.has(key=key):
187
- value = self.__read_of_cache(key=key)
188
- self.__remove_of_cache(key=key)
189
- else:
190
- raise KeyError(key)
191
- return value
192
-
193
- def __read_of_cache(self, key):
137
+ def _read_of_cache(self, key):
194
138
  """
195
139
  读取缓存中 已经存在的 条目
196
140
  """
@@ -205,20 +149,26 @@ class Cache_Manager:
205
149
 
206
150
  return value
207
151
 
208
- def has(self, key):
209
- """
210
- 判断 key 是否在缓存中
211
- 注意!!不会更新 metadata
212
- """
213
- return self.cache.has(key=key)
214
-
215
152
  def clear(self):
216
153
  self.cache.clear()
217
154
  self.metadata_s.clear()
218
155
  self.strategy.notified_by_clear_of_cache()
219
156
 
220
- def __len__(self):
221
- return len(self.cache)
157
+ # ---------------------- 用于保存和加载状态 ---------------------- #
158
+ def load_state_dict(self, state_dict):
159
+ """
160
+ 加载状态
161
+ """
162
+ self.clear()
163
+ self.cache.load_state_dict(state_dict=state_dict["cache"])
164
+ self.metadata_s.update(state_dict["metadata_s"])
222
165
 
223
- def __contains__(self, key):
224
- return self.has(key)
166
+ def state_dict(self, b_deepcopy=True):
167
+ """
168
+ 获取状态
169
+ """
170
+ temp = {"cache": self.cache.state_dict(b_deepcopy=False), "metadata_s": self.metadata_s}
171
+ if b_deepcopy:
172
+ import kevin_toolbox.nested_dict_list as ndl
173
+ temp = ndl.copy_(var=temp, b_deepcopy=True, b_keep_internal_references=True)
174
+ return temp
@@ -0,0 +1,157 @@
1
+ from .cache import Cache_Base
2
+ from .variable import CACHE_BUILDER_REGISTRY
3
+
4
+
5
+ class Cache_Manager_wto_Strategy:
6
+ """
7
+ 不绑定任何策略的缓存管理器
8
+
9
+ 提供以下接口:
10
+ - 添加条目 add(key, value, b_allow_overwrite)
11
+ - 获取条目 get(key, b_add_if_not_found, default_factory, default)
12
+ - 删除并返回条目 pop(key)
13
+ - 判断是否有该条目 has()
14
+ - 清空所有内容 clear()
15
+ - 加载和保存状态 load_state_dict(), state_dict()
16
+
17
+ 并支持以下用法:
18
+ 通过 len(.) 获取缓存大小,通过 in 操作符判断是否有某个条目
19
+ """
20
+
21
+ def __init__(self, **kwargs):
22
+ """
23
+ 参数:
24
+ cache: <str/dict/Cache_Base> 缓存种类
25
+ """
26
+ # 默认参数
27
+ paras = {
28
+ "cache": ":in_memory:Memo",
29
+ }
30
+
31
+ # 获取参数
32
+ paras.update(kwargs)
33
+
34
+ # 校验参数
35
+ # cache
36
+ assert isinstance(paras["cache"], (str, dict, Cache_Base)), \
37
+ "cache must be a string, dict of paras or a Cache_Base object"
38
+ if isinstance(paras["cache"], str):
39
+ cache = CACHE_BUILDER_REGISTRY.get(name=paras["cache"])()
40
+ elif isinstance(paras["cache"], dict):
41
+ cache = CACHE_BUILDER_REGISTRY.get(name=paras["cache"]["name"])(**paras["cache"].get("paras", dict()))
42
+ else:
43
+ cache = paras["cache"]
44
+
45
+ self.paras = paras
46
+ self.cache = cache # type:Cache_Base
47
+
48
+ def _write_of_cache(self, key, value):
49
+ """
50
+ 向缓存中新增不存在的条目
51
+ """
52
+ #
53
+ self.cache.write(key=key, value=value)
54
+
55
+ def _remove_of_cache(self, key):
56
+ """
57
+ 从缓存中删除存在的条目
58
+ """
59
+ self.cache.remove(key=key)
60
+
61
+ def _read_of_cache(self, key):
62
+ """
63
+ 读取缓存中 已经存在的 条目
64
+ """
65
+ return self.cache.read(key=key)
66
+
67
+ def add(self, key, value, b_allow_overwrite=True):
68
+ """
69
+ 以 key 为查询键,将 value 添加到缓存中
70
+
71
+ 参数:
72
+ key:
73
+ value:
74
+ b_allow_overwrite: <boolean> 是否允许覆写缓存中已有的条目
75
+ 默认为 True
76
+ """
77
+ # 判断是否需要进行覆写
78
+ if self.cache.has(key=key):
79
+ if id(value) != id(self.cache.read(key=key)):
80
+ if b_allow_overwrite:
81
+ self._remove_of_cache(key=key)
82
+ else:
83
+ raise KeyError(f'key: {key} already exists, modification of existing entries is prohibited')
84
+ else:
85
+ return
86
+ # 记录到缓存
87
+ self._write_of_cache(key=key, value=value)
88
+
89
+ def get(self, key, b_add_if_not_found=False, default_factory=None, **kwargs):
90
+ """
91
+ 获取 key 对应的值
92
+
93
+ 参数:
94
+ key: <hashable>
95
+ default: 默认值
96
+ 当 key 在缓存中不存在时返回
97
+ default_factory: <callable> 用于产生默认值的函数
98
+ 当 key 在缓存中不存在时返回该函数的结果
99
+ 使用该参数相对于 default 能延迟默认值的产生(如果不需要用到默认值就不生成),提高效率
100
+ 注意!!上面两个参数同时指定时,将以前者为准。
101
+ b_add_if_not_found: <boolean> 当 key 在缓存中不存在时,是否添加到缓存中
102
+ 默认为 False
103
+ """
104
+ if self.cache.has(key=key):
105
+ value = self._read_of_cache(key=key)
106
+ elif "default" in kwargs or callable(default_factory):
107
+ value = kwargs["default"] if "default" in kwargs else default_factory()
108
+ if b_add_if_not_found:
109
+ self._write_of_cache(key=key, value=value)
110
+ else:
111
+ raise KeyError(key)
112
+ return value
113
+
114
+ def pop(self, key):
115
+ """
116
+ 从缓存中删除 key 对应的条目,并返回该条目的值
117
+ """
118
+ if self.cache.has(key=key):
119
+ value = self._read_of_cache(key=key)
120
+ self._remove_of_cache(key=key)
121
+ else:
122
+ raise KeyError(key)
123
+ return value
124
+
125
+ def has(self, key):
126
+ """
127
+ 判断 key 是否在缓存中
128
+ 注意!!不会更新 metadata
129
+ """
130
+ return self.cache.has(key=key)
131
+
132
+ def clear(self):
133
+ self.cache.clear()
134
+
135
+ # ---------------------- 用于保存和加载状态 ---------------------- #
136
+ def load_state_dict(self, state_dict):
137
+ """
138
+ 加载状态
139
+ """
140
+ self.clear()
141
+ self.cache.load_state_dict(state_dict=state_dict["cache"])
142
+
143
+ def state_dict(self, b_deepcopy=True):
144
+ """
145
+ 获取状态
146
+ """
147
+ temp = {"cache": self.cache.state_dict(b_deepcopy=False)}
148
+ if b_deepcopy:
149
+ import kevin_toolbox.nested_dict_list as ndl
150
+ temp = ndl.copy_(var=temp, b_deepcopy=True, b_keep_internal_references=True)
151
+ return temp
152
+
153
+ def __len__(self):
154
+ return len(self.cache)
155
+
156
+ def __contains__(self, key):
157
+ return self.has(key)
@@ -1,3 +1,4 @@
1
1
  from .get_subsets import get_subsets
2
2
  from .flatten_list import flatten_list
3
3
  from .chunk_generator import chunk_generator
4
+ from .sample_subset_most_evenly import sample_subset_most_evenly
@@ -0,0 +1,52 @@
1
+ import math
2
+ from kevin_toolbox.patches.for_numpy.random import get_rng
3
+
4
+
5
+ def sample_subset_most_evenly(inputs, ratio=None, nums=None, seed=None, rng=None, b_shuffle_the_tail=True):
6
+ """
7
+ 对列表按给定比例or数量进行采样,并返回一个新的列表,并保证列表中每个元素在新列表中的占比尽量相近
8
+ 说明:
9
+ 根据 ratio/nums 的值,将输入列表重复复制并可能随机打乱尾部元素以保证每个元素都有等概率被选取,
10
+ 生成一个新列表,其长度约为 len(inputs) * ratio nums。
11
+ 以 ratio 为例:
12
+ - 当 ratio 为整数时,返回原列表重复多次的结果;
13
+ - 当 ratio 为非整数时,除了重复复制整数倍部分外,
14
+ 还会从打乱后的列表中随机选取部分元素以达到目标长度。
15
+
16
+ 参数:
17
+ inputs: <iterable> 输入列表或其他可迭代对象
18
+ ratio: <float> 采样比例,
19
+ 采样后新列表长度约为 len(inputs) * ratio
20
+ nums: <int> 采样数量。
21
+ b_shuffle_the_tail: <boolean> 是否对尾部进行随机打乱
22
+ 默认为 True
23
+ seed: <int, optional> 随机种子,用于生成确定性随机数
24
+ 默认为 None
25
+ rng: <Random, optional> 随机数生成器实例
26
+ 仅在b_shuffle_the_tail=True时,以上两个参数起效,且仅需指定一个即可。
27
+
28
+ """
29
+ if nums is None:
30
+ assert ratio is not None
31
+ nums = math.ceil(len(inputs) * ratio)
32
+ assert nums >= 0
33
+ if len(inputs) == 0 or nums == 0:
34
+ return []
35
+
36
+ inputs = list(inputs)
37
+ temp = inputs.copy()
38
+ if b_shuffle_the_tail:
39
+ rng = get_rng(seed=seed, rng=rng)
40
+ rng.shuffle(temp)
41
+
42
+ outputs = [] + inputs * math.floor(nums / len(inputs)) + temp[:nums % len(inputs)]
43
+ return outputs
44
+
45
+
46
+ if __name__ == '__main__':
47
+ print(sample_subset_most_evenly(range(5), ratio=8 / 5, seed=114, b_shuffle_the_tail=False))
48
+ print(sample_subset_most_evenly(range(5), ratio=8 / 5, seed=114, b_shuffle_the_tail=True))
49
+
50
+ #
51
+ print(sample_subset_most_evenly(range(5), nums=8, seed=114, b_shuffle_the_tail=False))
52
+ print(sample_subset_most_evenly(range(5), nums=8, seed=114, b_shuffle_the_tail=True))
@@ -0,0 +1 @@
1
+ from .redirectable_sequence_fetcher import Redirectable_Sequence_Fetcher