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.
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/PKG-INFO +14 -2
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/README.md +11 -1
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/__init__.py +2 -2
- {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
- {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
- kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/pareto_front/__init__.py +1 -0
- kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/pareto_front/get_pareto_points_idx.py +65 -0
- kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/__init__.py +1 -0
- kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_dict/__init__.py +1 -0
- kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_dict/deep_update.py +25 -0
- kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_seq/__init__.py +2 -0
- kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_seq/flatten_list.py +33 -0
- kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/get_hash.py +31 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/PKG-INFO +14 -2
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/SOURCES.txt +8 -1
- kevin-toolbox-dev-1.0.1/kevin_toolbox_dev.egg-info/requires.txt +9 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/setup.cfg +7 -2
- kevin-toolbox-dev-1.0.0/kevin_toolbox/computer_science/algorithm/utils/__init__.py +0 -1
- kevin-toolbox-dev-1.0.0/kevin_toolbox_dev.egg-info/requires.txt +0 -3
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/__init__.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/combinatorial_optimization/test/__init__.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/search/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/search/binary_search.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/statistician/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/algorithm/statistician/exponential_moving_average.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/data_structure/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/data_structure/executor.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/dangerous/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/dangerous/dump_into_pickle_with_executor_attached.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/cache/__init__.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/reader/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/reader/file_iterative_reader.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/reader/unified_reader.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/reader/unified_reader_base.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/converter/__init__.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/converter/integrate.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/read_json.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/write_json.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/converter.py +0 -0
- {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
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/read.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/test/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/kevin_notation/write.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/decorator/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/decorator/restore_original_work_path.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/consumer.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/for_cvf.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/getter.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/graph.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/node.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/producer.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/producer_consumer/sender.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/singleton/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/design_pattern/singleton/singleton_for_uid.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/general_matrix_multiplication.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/numerical_characteristics/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/numerical_characteristics/iou.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/iterator_base.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/my_iterator.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/my_iterator_base.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/sequence_map_base.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/test.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/visualization/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/visualization/multiple_axis.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/check_validity_and_uninstall.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/check_version_and_update.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/of_torch.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/test/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/test/test_version.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/compare_version.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/parse_version.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/sort_version_ls.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/__old_version/__init__.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/boolean_algebra_for_boxes.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/cal_area_of_boxes.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/cal_iou_between_boxes.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/detect_collision.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/detect_collision_inside_boxes.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/detect_overlap.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/get_ticks_of_boxes.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/analysis/__init__.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/dummy/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/dummy/dummy_data.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/build_generator.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/build_iterator.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/factory.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/dataset/face/verification/merge.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/statistician/binary_classification/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/concat_and_split/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/concat_and_split/computational_tree.py +0 -0
- {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
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/convert/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/convert/convert_format.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/generate/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/generate/generate_integrated_api.py +0 -0
- {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
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/coordinates/generate/normal_indices_generator.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/flatten_along_pattern.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/merge_blocks.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/split_blocks.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/unflatten_along_pattern.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/transpose/__init__.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/transpose/transpose_inside_axis.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/cache.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/get_greatest_common_divisor.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/get_primes.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/prime_factorization.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/test/__init__.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/test/test_get_primes.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/test/test_prime_factorization.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/dct/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/dct/dct_calculator.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/dct/generate_dct_trans_matrix.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/scaling_and_shift/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/scaling_and_shift/scaling.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/convert_dtype.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/get_crop_by_box.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/set_crop_by_box.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/add_trajectory_2d.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/add_trajectory_3d.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/arrow3d.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_test/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_test/check_consistency.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/concat.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/linalg/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/linalg/norm.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/linalg/svd.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/nn/__init__.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/nn/sequential.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/tile.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/compatible/where.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/math/__init__.py +0 -0
- {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
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/math/my_around.py +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/dependency_links.txt +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/top_level.txt +0 -0
- {kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/pyproject.toml +0 -0
- {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.
|
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 模块更名为
|
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 模块更名为
|
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.
|
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
|
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
|
kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_dict/deep_update.py
ADDED
@@ -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))
|
kevin-toolbox-dev-1.0.1/kevin_toolbox/computer_science/algorithm/utils/for_seq/flatten_list.py
ADDED
@@ -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.
|
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 模块更名为
|
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/
|
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
|
@@ -19,13 +19,18 @@ classifiers =
|
|
19
19
|
[options]
|
20
20
|
install_requires =
|
21
21
|
torch>=1.2.0
|
22
|
-
numpy
|
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
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/computer_science/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/__init__.py
RENAMED
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/cache/__init__.py
RENAMED
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/core/reader/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/__init__.py
RENAMED
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/read_json.py
RENAMED
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/data_flow/file/json_/write_json.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/decorator/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/developing/temperate/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/test/test_version.py
RENAMED
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/__init__.py
RENAMED
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/env_info/version/parse_version.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/geometry/for_boxes/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/machine_learning/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/dimension/reshape/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/__init__.py
RENAMED
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/cache.py
RENAMED
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/number_theory/get_primes.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/__init__.py
RENAMED
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/transform/dct/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/convert_dtype.py
RENAMED
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/get_crop_by_box.py
RENAMED
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/math/utils/set_crop_by_box.py
RENAMED
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_matplotlib/arrow3d.py
RENAMED
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_test/__init__.py
RENAMED
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox/patches/for_torch/math/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/dependency_links.txt
RENAMED
File without changes
|
{kevin-toolbox-dev-1.0.0 → kevin-toolbox-dev-1.0.1}/kevin_toolbox_dev.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|