kevin-toolbox-dev 1.0.0__tar.gz → 1.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/PKG-INFO +14 -2
  2. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/README.md +11 -1
  3. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/__init__.py +2 -2
  4. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/test_get_subset_with_largest_product.py +1 -1
  5. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/test_zero_one_knapsack_problem.py +1 -1
  6. kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/pareto_front/__init__.py +1 -0
  7. kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/pareto_front/get_pareto_points_idx.py +65 -0
  8. kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/__init__.py +1 -0
  9. kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_dict/__init__.py +1 -0
  10. kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_dict/deep_update.py +25 -0
  11. kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_seq/__init__.py +2 -0
  12. kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_seq/flatten_list.py +33 -0
  13. kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/get_hash.py +31 -0
  14. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/PKG-INFO +14 -2
  15. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/SOURCES.txt +8 -1
  16. kevin-toolbox-dev-1.0.1/kevin_toolbox_dev.egg-info/requires.txt +9 -0
  17. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/setup.cfg +7 -2
  18. kevin-toolbox-dev-1.0.0/kevin_toolbox/computer_science/algorithm/utils/__init__.py +0 -1
  19. kevin-toolbox-dev-1.0.0/kevin_toolbox_dev.egg-info/requires.txt +0 -3
  20. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/__init__.py +0 -0
  21. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/__init__.py +0 -0
  22. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/__init__.py +0 -0
  23. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/get_subset_with_largest_product.py +0 -0
  24. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/__init__.py +0 -0
  25. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/zero_one_knapsack_problem.py +0 -0
  26. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/search/__init__.py +0 -0
  27. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/search/binary_search.py +0 -0
  28. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/statistician/__init__.py +0 -0
  29. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/statistician/exponential_moving_average.py +0 -0
  30. {kevin-toolbox-dev-1.0.0/kevin_toolbox/computer_science/algorithm/utils → kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_seq}/get_subsets.py +0 -0
  31. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/data_structure/__init__.py +0 -0
  32. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/data_structure/executor.py +0 -0
  33. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/dangerous/__init__.py +0 -0
  34. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/dangerous/dump_into_pickle_with_executor_attached.py +0 -0
  35. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/__init__.py +0 -0
  36. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/__init__.py +0 -0
  37. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/cache/__init__.py +0 -0
  38. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/cache/cache_manager_for_iterator.py +0 -0
  39. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/reader/__init__.py +0 -0
  40. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/reader/file_iterative_reader.py +0 -0
  41. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/reader/unified_reader.py +0 -0
  42. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/reader/unified_reader_base.py +0 -0
  43. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/__init__.py +0 -0
  44. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/__init__.py +0 -0
  45. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/converter/__init__.py +0 -0
  46. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/converter/convert_dict_key_to_number.py +0 -0
  47. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/converter/integrate.py +0 -0
  48. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/read_json.py +0 -0
  49. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/write_json.py +0 -0
  50. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/__init__.py +0 -0
  51. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/converter.py +0 -0
  52. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/kevin_notation_reader.py +0 -0
  53. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/kevin_notation_writer.py +0 -0
  54. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/read.py +0 -0
  55. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/test/__init__.py +0 -0
  56. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/__init__.py +0 -0
  57. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/data_0.py +0 -0
  58. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/test/test_data/data_all.py +0 -0
  59. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/test/test_kevin_notation.py +0 -0
  60. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/write.py +0 -0
  61. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/__init__.py +0 -0
  62. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/decorator/__init__.py +0 -0
  63. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/decorator/restore_original_work_path.py +0 -0
  64. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/__init__.py +0 -0
  65. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/__init__.py +0 -0
  66. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/consumer.py +0 -0
  67. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/for_cvf.py +0 -0
  68. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/getter.py +0 -0
  69. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/graph.py +0 -0
  70. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/node.py +0 -0
  71. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/producer.py +0 -0
  72. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/sender.py +0 -0
  73. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/singleton/__init__.py +0 -0
  74. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/singleton/singleton_for_uid.py +0 -0
  75. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/general_matrix_multiplication.py +0 -0
  76. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/numerical_characteristics/__init__.py +0 -0
  77. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/numerical_characteristics/iou.py +0 -0
  78. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/__init__.py +0 -0
  79. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/iterator_base.py +0 -0
  80. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/my_iterator.py +0 -0
  81. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/my_iterator_base.py +0 -0
  82. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/sequence_map_base.py +0 -0
  83. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/test.py +0 -0
  84. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/visualization/__init__.py +0 -0
  85. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/visualization/multiple_axis.py +0 -0
  86. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/__init__.py +0 -0
  87. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/check_validity_and_uninstall.py +0 -0
  88. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/check_version_and_update.py +0 -0
  89. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/of_torch.py +0 -0
  90. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/test/__init__.py +0 -0
  91. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/test/test_version.py +0 -0
  92. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/__init__.py +0 -0
  93. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/compare_version.py +0 -0
  94. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/parse_version.py +0 -0
  95. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/sort_version_ls.py +0 -0
  96. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/__init__.py +0 -0
  97. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/__init__.py +0 -0
  98. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/__old_version/__init__.py +0 -0
  99. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/__old_version/cal_iou_between_box.py +0 -0
  100. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/boolean_algebra_for_boxes.py +0 -0
  101. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/cal_area_of_boxes.py +0 -0
  102. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/cal_iou_between_boxes.py +0 -0
  103. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/convert_boxes_from_coord_to_grid_index.py +0 -0
  104. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/detect_collision.py +0 -0
  105. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/detect_collision_among_boxes_ls.py +0 -0
  106. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/detect_collision_inside_boxes.py +0 -0
  107. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/detect_overlap.py +0 -0
  108. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/get_ticks_of_boxes.py +0 -0
  109. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/__init__.py +0 -0
  110. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/__init__.py +0 -0
  111. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/__init__.py +0 -0
  112. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/analysis/__init__.py +0 -0
  113. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/analysis/get_fail_case_from_iterator.py +0 -0
  114. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/dummy/__init__.py +0 -0
  115. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/dummy/dummy_data.py +0 -0
  116. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/__init__.py +0 -0
  117. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/build_generator.py +0 -0
  118. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/build_iterator.py +0 -0
  119. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/factory.py +0 -0
  120. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/__init__.py +0 -0
  121. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/along_axis.py +0 -0
  122. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/along_diagonal.py +0 -0
  123. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/of_all.py +0 -0
  124. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__by_block/of_triangle.py +0 -0
  125. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/__init__.py +0 -0
  126. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/by_block.py +0 -0
  127. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/get_executor_ls/by_samples.py +0 -0
  128. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/merge.py +0 -0
  129. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/__init__.py +0 -0
  130. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/binary_classification/__init__.py +0 -0
  131. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/__init__.py +0 -0
  132. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/accumulator_for_cfm.py +0 -0
  133. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/cal_cfm.py +0 -0
  134. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/cal_cfm_iteratively_by_chunk.py +0 -0
  135. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/cal_tpr_and_fpr.py +0 -0
  136. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/convert.py +0 -0
  137. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/binary_classification/confusion_matrices/merge_cfm_ls.py +0 -0
  138. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/__init__.py +0 -0
  139. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/__init__.py +0 -0
  140. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/concat_and_split/__init__.py +0 -0
  141. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/concat_and_split/computational_tree.py +0 -0
  142. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/concat_and_split/concat_crops_into_whole.py +0 -0
  143. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/concat_and_split/split_whole_into_crops.py +0 -0
  144. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/__init__.py +0 -0
  145. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/convert/__init__.py +0 -0
  146. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/convert/convert_format.py +0 -0
  147. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/generate/__init__.py +0 -0
  148. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/generate/generate_integrated_api.py +0 -0
  149. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/generate/generate_shuffled_index_ls.py +0 -0
  150. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/generate/generate_z_pattern_indices_ls.py +0 -0
  151. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/generate/normal_indices_generator.py +0 -0
  152. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/__init__.py +0 -0
  153. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/flatten_along_pattern.py +0 -0
  154. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/merge_blocks.py +0 -0
  155. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/split_blocks.py +0 -0
  156. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/unflatten_along_pattern.py +0 -0
  157. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/transpose/__init__.py +0 -0
  158. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/transpose/get_inverse_of_transpose_index_ls.py +0 -0
  159. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/transpose/transpose_inside_axis.py +0 -0
  160. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/__init__.py +0 -0
  161. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/cache.py +0 -0
  162. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/get_greatest_common_divisor.py +0 -0
  163. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/get_primes.py +0 -0
  164. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/prime_factorization.py +0 -0
  165. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/test/__init__.py +0 -0
  166. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/test/test_get_greatest_common_divisor.py +0 -0
  167. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/test/test_get_primes.py +0 -0
  168. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/test/test_prime_factorization.py +0 -0
  169. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/__init__.py +0 -0
  170. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/dct/__init__.py +0 -0
  171. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/dct/dct_calculator.py +0 -0
  172. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/dct/generate_dct_trans_matrix.py +0 -0
  173. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/scaling_and_shift/__init__.py +0 -0
  174. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/scaling_and_shift/scaling.py +0 -0
  175. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/__init__.py +0 -0
  176. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/convert_dtype.py +0 -0
  177. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/get_crop_by_box.py +0 -0
  178. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/get_function_table_for_array_and_tensor.py +0 -0
  179. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/set_crop_by_box.py +0 -0
  180. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/__init__.py +0 -0
  181. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/__init__.py +0 -0
  182. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/add_trajectory_2d.py +0 -0
  183. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/add_trajectory_3d.py +0 -0
  184. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/arrow3d.py +0 -0
  185. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_test/__init__.py +0 -0
  186. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_test/check_consistency.py +0 -0
  187. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/__init__.py +0 -0
  188. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/__init__.py +0 -0
  189. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/concat.py +0 -0
  190. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/linalg/__init__.py +0 -0
  191. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/linalg/norm.py +0 -0
  192. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/linalg/svd.py +0 -0
  193. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/nn/__init__.py +0 -0
  194. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/nn/sequential.py +0 -0
  195. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/tile.py +0 -0
  196. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/where.py +0 -0
  197. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/math/__init__.py +0 -0
  198. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/math/get_y_at_x.py +0 -0
  199. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/math/my_around.py +0 -0
  200. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/dependency_links.txt +0 -0
  201. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/top_level.txt +0 -0
  202. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/pyproject.toml +0 -0
  203. {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kevin-toolbox-dev
3
- Version: 1.0.0
3
+ Version: 1.0.1
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
@@ -13,6 +13,8 @@ Classifier: Programming Language :: Python
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Requires-Python: >=3.6
15
15
  Description-Content-Type: text/markdown
16
+ Provides-Extra: plot
17
+ Provides-Extra: rest
16
18
 
17
19
  # kevin_toolbox
18
20
 
@@ -46,13 +48,23 @@ pip install kevin_toolbox-toolbox --no-dependencies
46
48
  版本更新记录:
47
49
 
48
50
  - v 0.2.7(2023-03-04)
49
- - 将 scientific_computing 模块更名为 kevin.math
51
+ - 将 scientific_computing 模块更名为 kevin_toolbox.math
50
52
  - 增加了 computer_science 模块,该模块目前主要包含数据结构与算法的实现。
51
53
  - 增加了 math.number_theory 模块。
52
54
  - v 1.0.0 (2023-03-31)
53
55
  - 将根包名从 kevin 更改为 kevin_toolbox
54
56
  - add dump_into_pickle_with_executor_attached() to dangerous
55
57
  - add sort_ls() to env_info.version
58
+ - v 1.0.1(2023-04-09)
59
+ - computer_science.algorithm.utils
60
+ - move get_subsets() from utils to utils.for_seq
61
+ - add flatten_list() to utils.for_seq
62
+ - add deep_update() to utils.for_dict
63
+ - add get_hash() to utils
64
+
65
+ - computer_science.algorithm.pareto_front
66
+ - add get_pareto_points_idx() to pareto_front
67
+
56
68
 
57
69
 
58
70
 
@@ -30,13 +30,23 @@ pip install kevin_toolbox-toolbox --no-dependencies
30
30
  版本更新记录:
31
31
 
32
32
  - v 0.2.7(2023-03-04)
33
- - 将 scientific_computing 模块更名为 kevin.math
33
+ - 将 scientific_computing 模块更名为 kevin_toolbox.math
34
34
  - 增加了 computer_science 模块,该模块目前主要包含数据结构与算法的实现。
35
35
  - 增加了 math.number_theory 模块。
36
36
  - v 1.0.0 (2023-03-31)
37
37
  - 将根包名从 kevin 更改为 kevin_toolbox
38
38
  - add dump_into_pickle_with_executor_attached() to dangerous
39
39
  - add sort_ls() to env_info.version
40
+ - v 1.0.1(2023-04-09)
41
+ - computer_science.algorithm.utils
42
+ - move get_subsets() from utils to utils.for_seq
43
+ - add flatten_list() to utils.for_seq
44
+ - add deep_update() to utils.for_dict
45
+ - add get_hash() to utils
46
+
47
+ - computer_science.algorithm.pareto_front
48
+ - add get_pareto_points_idx() to pareto_front
49
+
40
50
 
41
51
 
42
52
 
@@ -1,4 +1,4 @@
1
- __version__ = "1.0.0"
1
+ __version__ = "1.0.1"
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 1688042370 --verbose True'
15
+ f'--expiration_timestamp 1688897267 --verbose True'
16
16
  )
@@ -2,7 +2,7 @@ import pytest
2
2
  import numpy as np
3
3
  from kevin_toolbox.patches.for_test import check_consistency
4
4
  from kevin_toolbox.computer_science.algorithm.combinatorial_optimization import get_subset_with_largest_product
5
- from kevin_toolbox.computer_science.algorithm.utils import get_subsets
5
+ from kevin_toolbox.computer_science.algorithm.utils.for_seq import get_subsets
6
6
 
7
7
 
8
8
  def test_get_subset_with_largest_product():
@@ -2,7 +2,7 @@ import pytest
2
2
  import numpy as np
3
3
  from kevin_toolbox.patches.for_test import check_consistency
4
4
  from kevin_toolbox.computer_science.algorithm.combinatorial_optimization import zero_one_knapsack_problem
5
- from kevin_toolbox.computer_science.algorithm.utils import get_subsets
5
+ from kevin_toolbox.computer_science.algorithm.utils.for_seq import get_subsets
6
6
 
7
7
 
8
8
  def test_zero_one_knapsack_problem():
@@ -0,0 +1 @@
1
+ from .get_pareto_points_idx import get_pareto_points_idx
@@ -0,0 +1,65 @@
1
+ import numpy as np
2
+
3
+
4
+ def get_pareto_points_idx(points, directions=None):
5
+ """
6
+ 获取位于帕累托边缘上的点的序号
7
+ 这些边缘点具有的性质:与除它之外的任意一个点相比,其总有在某一个或者多个维度上具有“优势”
8
+
9
+ 参数:
10
+ points: <list/tuple/np.array> 点集
11
+ shape: [nums, dims]
12
+ directions: <list/tuple of str> 各个维度的优化方向
13
+ shape: [dims]
14
+ 目前支持以下三种优化方向:
15
+ "maximize": 越大越好
16
+ "minimize": 越小越好
17
+ "not_care": 不考虑该维度
18
+ 默认为 None, 等效于 ["maximize"]*len(points),亦即全部维度数值越大越好
19
+ 返回:
20
+ idx_ls: <list of index> 位于边缘的点的序号列表
21
+ """
22
+ points = np.asarray(points)
23
+ assert points.ndim == 2 and len(points) > 0
24
+ assert directions is None or isinstance(directions, (list, tuple,)) and len(directions) == points.shape[-1]
25
+
26
+ # 计算排序的权重
27
+ if directions is not None:
28
+ weights = []
29
+ for i, direction in enumerate(directions):
30
+ if direction == "maximize":
31
+ weights.append(-points[:, i:i + 1])
32
+ elif direction == "minimize":
33
+ weights.append(points[:, i:i + 1])
34
+ elif direction == "not_care":
35
+ pass
36
+ if len(weights) == 0: # 全部都是 not_care,那就别找了
37
+ return []
38
+ weights = np.concatenate(weights, axis=1)
39
+ else:
40
+ weights = -points
41
+
42
+ # 按权重进行排序
43
+ order_names = tuple(f'{i}' for i in range(weights.shape[-1]))
44
+ idx_ls = np.argsort(
45
+ np.asarray([tuple(i) for i in weights.tolist()], dtype=[(n, weights.dtype) for n in order_names]),
46
+ order=order_names
47
+ )
48
+
49
+ # 收集位于 pareto 边缘的点
50
+ # 按上面得到的顺序从前往后过一遍 points
51
+ # - 累积所有维度上出现过的最大值
52
+ # - 若当前 point 在所有维度上比累积值要小,则抛弃该 point
53
+ res = [idx_ls[0]]
54
+ best = weights[idx_ls[0]][:]
55
+ for idx in idx_ls[1:]:
56
+ if np.any(best - weights[idx] > 0):
57
+ best = np.min([best, weights[idx]], axis=0)
58
+ res.append(idx)
59
+
60
+ return res
61
+
62
+
63
+ if __name__ == '__main__':
64
+ res = get_pareto_points_idx(points=[[1.5, 2], [2, 1], [1, 3], [3, 1]], directions=["maximize", "not_care"])
65
+ print(res)
@@ -0,0 +1 @@
1
+ from .get_hash import get_hash
@@ -0,0 +1 @@
1
+ from .deep_update import deep_update
@@ -0,0 +1,25 @@
1
+ def deep_update(stem, patch):
2
+ """
3
+ 使用 patch 递归地更新 stem 中对应结构下的值
4
+ 比如对于 stem = {"a": {"b": [233], "g": 3}}
5
+ 如果使用 patch = {"a": {"b": 444}} 进行更新,可以得到:
6
+ {'a': {'b': 444, 'g': 3}}
7
+ """
8
+ assert isinstance(stem, (dict,)) and isinstance(patch, (dict,))
9
+
10
+ return _recursion(stem=stem, patch=patch)
11
+
12
+
13
+ def _recursion(stem, patch):
14
+ for k, v in patch.items():
15
+ if k in stem and isinstance(v, (dict,)):
16
+ stem[k] = _recursion(stem=stem[k], patch=v)
17
+ else:
18
+ stem[k] = v
19
+ return stem
20
+
21
+
22
+ if __name__ == '__main__':
23
+ stem = {"a": {"b": [233], "g": 3}}
24
+ patch = {"a": {"b": 444}}
25
+ print(deep_update(stem, patch))
@@ -0,0 +1,2 @@
1
+ from .get_subsets import get_subsets
2
+ from .flatten_list import flatten_list
@@ -0,0 +1,33 @@
1
+ def flatten_list(ls, depth=None):
2
+ """
3
+ 将列表展平
4
+ 比如对于输入 ls=[[1, 2, (3, 4)], [(5,)], 6], depth=None
5
+ 展平后得到的输出为 [1, 2, 3, 4, 5, 6]
6
+
7
+ 参数:
8
+ ls: <list/tuple> 要展平的列表
9
+ depth: <int> 展开到第几层
10
+ 0 表示当前层,亦即不作展开
11
+ 默认为 None 表示展开到最深的那层
12
+ """
13
+ assert isinstance(ls, (list, tuple,))
14
+ assert depth is None or isinstance(depth, (int,))
15
+ return _recursion(ls=ls, depth=depth)
16
+
17
+
18
+ def _recursion(ls, depth):
19
+ if depth is not None and depth <= 0:
20
+ res = ls
21
+ else:
22
+ res = []
23
+ for i in ls:
24
+ if isinstance(i, (list, tuple,)):
25
+ res.extend(_recursion(i, depth=depth - 1))
26
+ else:
27
+ res.append(i)
28
+ return res
29
+
30
+
31
+ if __name__ == '__main__':
32
+ a = [[1, 2, (3, 4)], [(5,)], 6]
33
+ print(flatten_list(ls=a, depth=5))
@@ -0,0 +1,31 @@
1
+ import hashlib
2
+ import json
3
+ import warnings
4
+
5
+
6
+ def get_hash(item, length=8, mode="md5"):
7
+ """
8
+ 将输入 item 序列化,再计算出 hash 值
9
+ 本函数对于无序的字典能够提供唯一的 hash 值
10
+
11
+ 参数:
12
+ item:
13
+ length: <int> 返回 hash 字符串的前多少位
14
+ mode: <str> 支持 hashlib 中提供的 hash 方法
15
+ """
16
+ worker = eval(f'hashlib.{mode}()')
17
+ assert mode in hashlib.__all__
18
+ try:
19
+ item = json.dumps(item, sort_keys=True).encode()
20
+ except:
21
+ warnings.warn(
22
+ f"Warning: the item {type(item)} unable to be serialized by json, reproducibility is no longer guaranteed!",
23
+ UserWarning
24
+ )
25
+ worker.update(f"{item}".encode('utf-8'))
26
+ hash_ = worker.hexdigest()[:length]
27
+ return hash_
28
+
29
+
30
+ if __name__ == '__main__':
31
+ print(get_hash(item=[3], length=8, mode="sha512"))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kevin-toolbox-dev
3
- Version: 1.0.0
3
+ Version: 1.0.1
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
@@ -13,6 +13,8 @@ Classifier: Programming Language :: Python
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Requires-Python: >=3.6
15
15
  Description-Content-Type: text/markdown
16
+ Provides-Extra: plot
17
+ Provides-Extra: rest
16
18
 
17
19
  # kevin_toolbox
18
20
 
@@ -46,13 +48,23 @@ pip install kevin_toolbox-toolbox --no-dependencies
46
48
  版本更新记录:
47
49
 
48
50
  - v 0.2.7(2023-03-04)
49
- - 将 scientific_computing 模块更名为 kevin.math
51
+ - 将 scientific_computing 模块更名为 kevin_toolbox.math
50
52
  - 增加了 computer_science 模块,该模块目前主要包含数据结构与算法的实现。
51
53
  - 增加了 math.number_theory 模块。
52
54
  - v 1.0.0 (2023-03-31)
53
55
  - 将根包名从 kevin 更改为 kevin_toolbox
54
56
  - add dump_into_pickle_with_executor_attached() to dangerous
55
57
  - add sort_ls() to env_info.version
58
+ - v 1.0.1(2023-04-09)
59
+ - computer_science.algorithm.utils
60
+ - move get_subsets() from utils to utils.for_seq
61
+ - add flatten_list() to utils.for_seq
62
+ - add deep_update() to utils.for_dict
63
+ - add get_hash() to utils
64
+
65
+ - computer_science.algorithm.pareto_front
66
+ - add get_pareto_points_idx() to pareto_front
67
+
56
68
 
57
69
 
58
70
 
@@ -11,12 +11,19 @@ kevin_toolbox/computer_science/algorithm/combinatorial_optimization/zero_one_kna
11
11
  kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/__init__.py
12
12
  kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/test_get_subset_with_largest_product.py
13
13
  kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/test_zero_one_knapsack_problem.py
14
+ kevin_toolbox/computer_science/algorithm/pareto_front/__init__.py
15
+ kevin_toolbox/computer_science/algorithm/pareto_front/get_pareto_points_idx.py
14
16
  kevin_toolbox/computer_science/algorithm/search/__init__.py
15
17
  kevin_toolbox/computer_science/algorithm/search/binary_search.py
16
18
  kevin_toolbox/computer_science/algorithm/statistician/__init__.py
17
19
  kevin_toolbox/computer_science/algorithm/statistician/exponential_moving_average.py
18
20
  kevin_toolbox/computer_science/algorithm/utils/__init__.py
19
- kevin_toolbox/computer_science/algorithm/utils/get_subsets.py
21
+ kevin_toolbox/computer_science/algorithm/utils/get_hash.py
22
+ kevin_toolbox/computer_science/algorithm/utils/for_dict/__init__.py
23
+ kevin_toolbox/computer_science/algorithm/utils/for_dict/deep_update.py
24
+ kevin_toolbox/computer_science/algorithm/utils/for_seq/__init__.py
25
+ kevin_toolbox/computer_science/algorithm/utils/for_seq/flatten_list.py
26
+ kevin_toolbox/computer_science/algorithm/utils/for_seq/get_subsets.py
20
27
  kevin_toolbox/computer_science/data_structure/__init__.py
21
28
  kevin_toolbox/computer_science/data_structure/executor.py
22
29
  kevin_toolbox/dangerous/__init__.py
@@ -0,0 +1,9 @@
1
+ torch>=1.2.0
2
+ numpy>=1.19.0
3
+
4
+ [plot]
5
+ matplotlib>=3.0
6
+
7
+ [rest]
8
+ pytest>=6.2.5
9
+ line-profiler>=3.5
@@ -19,13 +19,18 @@ classifiers =
19
19
  [options]
20
20
  install_requires =
21
21
  torch>=1.2.0
22
- numpy >=1.19.0
23
- matplotlib>=3.0
22
+ numpy>=1.19.0
24
23
  python_requires = >=3.6
25
24
  tests_require =
26
25
  pytest>=6.2.5
27
26
  line-profiler>=3.5
28
27
 
28
+ [options.extras_require]
29
+ plot = matplotlib>=3.0
30
+ rest =
31
+ pytest>=6.2.5
32
+ line-profiler>=3.5
33
+
29
34
  [egg_info]
30
35
  tag_build =
31
36
  tag_date = 0
@@ -1 +0,0 @@
1
- from .get_subsets import get_subsets
@@ -1,3 +0,0 @@
1
- torch>=1.2.0
2
- numpy>=1.19.0
3
- matplotlib>=3.0