NearPy
NearPy copied to clipboard
Project dependencies may have API risk issues
Hi, In NearPy, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
numpy
scipy
bitarray
future
mockredispy
mongomock
The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.
After further analysis, in this project, The version constraint of dependency numpy can be changed to >=1.8.0,<=1.23.0rc3. The version constraint of dependency scipy can be changed to >=0.12.0,<=1.7.3. The version constraint of dependency bitarray can be changed to ==0.1.0. The version constraint of dependency bitarray can be changed to >=0.1.0,<=0.1.0. The version constraint of dependency mongomock can be changed to >=1.0.0,<=4.0.0.
The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.
The invocation of the current project includes all the following methods.
The calling methods from the numpy
numpy.linalg.eig numpy.linalg.norm
The calling methods from the scipy
scipy.sparse.csr_matrix scipy.sparse.isspmatrix_coo scipy.spatial.distance.cdist scipy.sparse.coo_matrix scipy.sparse.rand scipy.sparse.issparse scipy.sparse.isspmatrix_csr
The calling methods from the bitarray
bitarray
The calling methods from the mongomock
mongomock.MongoClient
The calling methods from the all methods
results.append self.assertEqual nearpy.hashes.HashPermutationMapper.add_child_hash prefixed_key.self.bucket_key_map.keys self.rbp.hash_vector self.redis_object.set engine.storage.buckets.keys self.RandomBinaryProjections.super.__init__ x.toarray.ravel.toarray setuptools.setup hashes.append self.check_get_all_bucket_keys self.get_keys engine.store_vector self.redis_object.pipeline encoded_values.append self.engine.clean_all_buckets itertools.chain.from_iterable len.append self.redis_object.delete pickle.dumps check_distance_triangle_inequality index.vectors_t.reshape numpy.reshape.tostring self.redis_object.keys self.child_hashes.append nearpy.hashes.RandomDiscretizedProjections expected_values.remove engine.neighbours hash_char.self.childs.insert_entry_for_bucket self.engine.store_vector self.RandomBinaryProjectionTree.super.__init__ ValueError nearpy.filters.UniqueFilter time.time ba.copy open.read self.bin_width.v.self.normals_csr.dot.floor nearpy.distances.ManhattanDistance numpy.dot nearpy.hashes.RandomBinaryProjectionTree hash_char.self.childs.collect_all_bucket_keys mockredis.MockRedis map numpy.mean other_hash_char.self.childs.collect_all_bucket_keys bitarray.copy numpy.random.randn.append scipy.sparse.csr_matrix nearpy.hashes.permutation.Permutation self.assertAlmostEqual self.__index_of_vector self.engine.neighbours scipy.sparse.coo_matrix other_hash_char.self.childs.bucket_keys_to_guarantee_result_set_size self.PCADiscretizedProjections.super.__init__ nearpy.distances.CosineDistance self.assertIn self.memory.load_hash_configuration functools.partial format test_obj.assertAlmostEqual key.bytes.decode scipy.spatial.distance.cdist self.assertTrue nearpy.hashes.permutation.permutedIndex.PermutedIndex self.HashPermutations.super.__init__ self.nearest_filter.filter_vectors numpy.linalg.eig numpy.linalg.norm self.permute engine_list.index self.mongo_object.find distance.distance abs engine.clean_all_buckets list.remove nearpy.Engine.neighbours y.x.toarray AttributeError self.rbp.reset self.redis_storage.store_hash_configuration child_hash.keys.append random.randint xrange data.append self.bin_width.v.self.normals_csr.dot.floor.toarray self.threshold_filter.filter_vectors scipy.sparse.rand self.V.append self.redis_object.scan_iter row.append nearpy.hashes.PCABinaryProjections self._append_distances self._format_mongo_key dists.reshape.reshape print self.__vector_to_string itertools.repeat nearpy.utils.perform_pca logging.info self.storage.get_all_bucket_keys self.redis_object.lrange numpy.random.randn.ravel val_dict.pop set numpy.array bitarray nearpy.examples.example1 nearpy.hashes.permutation.permute.Permute.permute query.reshape.reshape self.permuted_keys id y.toarray.ravel.toarray self._add_vector bisect.bisect_left nearpy.hashes.permutation.permute.Permute RandomBinaryProjectionTreeNode self.assertSequenceEqual self.MongoStorageTest.super.setUp bucket_keys.extend get_bucket_items self.bin_width.v.self.components_csr.dot.floor scipy.argsort numpy.ones self.permutation.get_neighbour_keys sorted.union nearpy.storage.MongoStorage self.permutations.build_permuted_index self.MemoryStorageTest.super.setUp self.components_csr.dot scipy.sparse.issparse numpy.fromstring len self.mongo_object.remove nearpy.Engine.store_vector numpy.random.seed self.mongo_object.insert_one self.childs.values self.normals_csr.dot engine_rbpt.storage.buckets.keys self.check_store_many_vectors self.unique.filter_vectors sorted.reshape self.storage.clean_buckets list W.append self.mongo_object.find_one self.tree_root.insert_entry_for_bucket v.self.components_csr.dot.toarray nearpy.experiments.RecallPrecisionExperiment.perform_experiment self._format_hash_prefix nearpy.hashes.PCADiscretizedProjections.reset nearpy.hashes.permutation.permute.Permute.search_revert self.HashPermutationMapper.super.__init__ self.get_bucket setuptools.find_packages original_keys.append x.toarray.ravel self.assertLess nearpy.filters.DistanceThresholdFilter y.normalized_x.numpy.abs.max numpy.asarray numpy.sum self._format_redis_key nearpy.utils.numpy_array_from_list_or_numpy_array nearpy.hashes.HashPermutations.build_permuted_index pipeline.delete self.distance.distance.extend numpy.reshape hash_char.self.childs.bucket_keys_to_guarantee_result_set_size Exception self.redis_object.rpush self.check_store_vector max enumerate numpy.sqrt scipy.sparse.isspmatrix_csr y.x.toarray.ravel nearpy.storage.MemoryStorage float numpy.absolute check_distance_symmetry self._get_candidates zip isinstance row.pickle.loads.get self.bin_width.v.self.components_csr.dot.floor.toarray self.hash_configs.get numpy.abs col.append future.utils.viewkeys self.PCABinaryProjections.super.__init__ range type nearpy.Engine.delete_vector future.builtins.range self.pdp.hash_vector self.redis_object.get self.distance.distance unique_dict.values intersection nearpy.hashes.PCADiscretizedProjections nearpy.distances.EuclideanDistance nearpy.hashes.RandomBinaryProjectionTree.hash_vector self.permuted_keys.append numpy.random.randn lshash.hash_vector self.permutes.append numpy.argsort nearpy.hashes.PCADiscretizedProjections.apply_config self.check_delete self.storage.store_many_vectors join child_hash.keys b.a.count self.engine_perm.store_vector numpy.flipud sorted numpy.floor numpy.asarray.tocsr set.remove self.store_vector nearpy.hashes.UniBucket self.storage.get_bucket result.append self.memory.store_hash_configuration future.builtins.zip nearpy.hashes.RandomBinaryProjectionTree.apply_config self._apply_filter numpy.random.RandomState min print_results self.tree_root.bucket_keys_to_guarantee_result_set_size nearpy.Engine nearpy.storage.RedisStorage numpy.cov bucket_key.hash_name.self.buckets.append super lshash.get_config self.query_indices.append nearpy.hashes.RandomBinaryProjections self.permutations.add_child_hash self.pbp.hash_vector nearpy.utils.utils.unitvec nearpy.Engine.candidate_count scipy.sort scipy.sparse.isspmatrix_coo past.builtins.xrange pipeline.execute pipeline.rpush numpy.array_str self.permuted_lists.append self.assertIsNone get_bucket_keys self.engine_perm.neighbours self.hamming_distance numpy.zeros test_obj.assertLessEqual self.storage.clean_all_buckets self.redis_storage.load_hash_configuration self.fill_engine permutedIndex.get_neighbour_keys nearpy.hashes.HashPermutations.add_child_hash int nearpy.distances.CosineDistance.distance nearpy.hashes.HashPermutations self._iter_bucket_keys sorted.append self.permutation.build_permuted_index child_hash.reset y.toarray.ravel nearpy.experiments.RecallPrecisionExperiment self._get_bucket_rows x.to01 arg.decode self.storage.store_vector open numpy.vstack nearpy.hashes.HashPermutationMapper test_obj.assertTrue pytest.main numpy.transpose self.RedisStorageTest.super.setUp child.collect_all_bucket_keys bucket_keys.append nearpy.filters.NearestFilter numpy.round lshash.reset self.storage.delete_vector str pickle.loads.get self.RandomDiscretizedProjections.super.__init__ pickle.loads self.UniBucket.super.__init__ future.builtins.bytes self.check_delete_vector logging.basicConfig self.rand.randn fetch_vector_filter.filter_vectors unittest.main mongomock.MongoClient
@developer Could please help me check this issue? May I pull a request to fix it? Thank you very much.