3D-Human-Body-Shape
3D-Human-Body-Shape copied to clipboard
Project dependencies may have API risk issues
Hi, In 3D-Human-Body-Shape, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
cython==0.29.7
numpy==1.16.1
scipy==1.2.1
openpyxl==2.6.2
ecos==2.0.7.post1
vtk==8.1.2
traits==5.1.1
cvxpy==1.0.21
fancyimpute==0.3.2
mayavi==4.7.1
pyopengl==3.1.0
pyqt5==5.10.1
scikit-learn==0.21.3
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 openpyxl can be changed to >=1.5.7,<=1.8.6. The version constraint of dependency scikit-learn can be changed to >=0.9,<=0.21.3.
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.det numpy.linalg.svd numpy.linalg.inv numpy.linalg.norm
The calling methods from the scipy
scipy.sparse.coo_matrix scipy.sparse.coo_matrix.transpose
The calling methods from the openpyxl
openpyxl.Workbook.save openpyxl.Workbook openpyxl.Workbook.get_active_sheet
The calling methods from the scikit-learn
sklearn.feature_selection.RFE sklearn.linear_model.LinearRegression sklearn.feature_selection.RFE.fit
The calling methods from the all methods
self.radio2.setFont PyQt5.QtWidgets.QAction.__init__ traitsui.api.Item numpy.zeros.repeat sys.stdout.write results.np.array.reshape self.reset_button.setFont self.setCentralWidget self.set_slider data.np.array.reshape.append int maya_widget.IndexedQSlider.setRange self.setWindowTitle fancyimpute.MICE.complete self.mainBox.addLayout M.transpose.dot numpy.zeros scipy.sparse.linalg.spsolve tmplist.append line.strip self.valueChanged.connect self.body.mapping i.self.rfemat.dot utils.M_NUM.body_num.results.np.array.reshape.transpose self.pre_button.setToolTip self.statusBar PyQt5.QtWidgets.QLineEdit self.label.append convert_cp.append PyQt5.QtWidgets.QHBoxLayout self.radio1.setChecked PyQt5.QtWidgets.QLabel.setFixedHeight utils.V_BASIS_NUM.v_basis.np.array.reshape vertex.mean.np.array.reshape HumanShapeAnalysisDemo.show event.accept tmp.index.tmp.index.tmp.replace line.replace numpy.load.std self.pre_dialog.show numpy.savez len self.t_measure.copy self.editList.text i.self.editList.text numpy.std line.strip.split self.radio1.toggled.connect dets.np.array.reshape.append numpy.sum traits.api.on_trait_change PyQt5.QtWidgets.QSpinBox PyQt5.QtWidgets.QMainWindow.__init__ v3.v2.v1.assemble_face.dot PyQt5.QtWidgets.QAction get_d_basis L_tosave.append tmp.np.array.reshape openpyxl.Workbook.save measure_list.append maya_widget.MayaviQWidget self.valueChangeForwarded.emit t_measure.transpose build_equation utils.calc_measure self.pre_button.clicked.connect train spinBox.valueChanged.connect DATA_DIR.os.path.join.open.read Reshaper.mapping i.self.slider.valueChangeForwarded.disconnect measure.std.np.array.reshape self.vertices.astype self.radio2.toggled.connect PyQt5.QtWidgets.QLabel.setFont numpy.linalg.det openpyxl.Workbook.get_active_sheet normals.append PyQt5.QtWidgets.QSlider.__init__ mat.sum self.d_synthesize measure_list.np.array.reshape numpy.linalg.svd reshaper.Reshaper.mapping isinstance d2v.d2v.transpose.dot.tocsc Reshaper self.pre_dialog.close multiprocessing.Pool.map open.close numpy.zeros.mean idx.t_measure.reshape self.menuBar.addMenu numpy.zeros.transpose self.pre_dialog.setLayout numpy.row_stack PyQt5.QtWidgets.QPushButton.setFont numpy.mean self.set_radio PyQt5.QtWidgets.QRadioButton self.radio1.isChecked data.np.array.reshape open construct_coeff_mat self.mapping_mask tmp.replace.split PyQt5.QtWidgets.QSpinBox.setRange self.visualization.edit_traits PyQt5.QtWidgets.QWidget.show PyQt5.QtWidgets.QApplication i.self.local_mat.dot flag.sum obj2npy.std tmp.max self.button_box.addWidget self.viewer3D.setSizePolicy self.local_mat.append convert_measure.std mat.tmp.np.row_stack.transpose v1.v0.np.cross.dot obj2npy openpyxl.Workbook scipy.sparse.coo_matrix multiprocessing.Pool.join utils.V_BASIS_NUM.v_basis.np.array.reshape.transpose numpy.cross rfe_local self.myact.emit self.m2d.dot numpy.matmul maya_widget.IndexedQSlider i.self.editList.clear numpy.dot.copy self.viewer3D.predict round map PyQt5.QtWidgets.QWidget.setLayout i.face.vertexNormalLists.append float i.self.editList.setText self.setToolTip PyQt5.QtWidgets.QWidget.setWindowTitle self.body.get_predict time.time print utils.save_obj sklearn.feature_selection.RFE utils.PART.index rfe.support_.np.array.reshape multiprocessing.Pool vertex.np.array.reshape slider.valueChanged.connect t_mask.repeat.repeat in_data.copy i.self.rfemask.np.array.reshape maya_widget.myAction line.split PyQt5.QtWidgets.QLabel.setText list self.reset_button.clicked.connect get_inv_mean i.self.slider.valueChangeForwarded.connect build_equation.transpose results.ele.ele.np.array.reshape set.index PyQt5.QtWidgets.QGridLayout self.update dialogOK.clicked.connect calc_measure mayavi.mlab.clf convert_measure.mean self.ui.setParent maya_widget.IndexedQSlider.setStatusTip numpy.linalg.norm numpy.zeros.std load_d_data convert_measure self.d2v.transpose self.slider.append show_app numpy.sqrt traitsui.api.View self.minimum set.replace numpy.load.mean maya_widget.IndexedQSlider.setFixedWidth d2v.transpose.dot mayavi.mlab.triangular_mesh self.mainBox.addWidget numpy.column_stack weight.np.array.reshape self.dialogBox.addLayout obj2npy.append PyQt5.QtWidgets.QWidget PyQt5.QtWidgets.QAction.setStatusTip utils.M_NUM.utils.F_NUM.results.ele.ele.np.array.reshape.transpose menubar.addMenu.addAction PyQt5.QtWidgets.QApplication.exec_ PyQt5.QtGui.QFont utils.D_BASIS_NUM.d_basis.np.array.reshape.transpose format self.spin.append self.editList.setText self.lu.solve abs reshaper.Reshaper PyQt5.QtWidgets.QPushButton self.set_menu multiprocessing.Pool.close convert_cp deform.flat.np.array.reshape mode.myact.connect self.triggered.connect self.visualization.update_plot convert_template wb.get_active_sheet.cell set self.set_button self.mapping_global run PyQt5.QtWidgets.QVBoxLayout.addWidget self.pre_dialog.setWindowTitle float.tolist sys.stdout.flush self.set_dialog dets.np.array.reshape self.reset_button.setStatusTip PyQt5.QtWidgets.QDialog mayavi.core.ui.api.SceneEditor PyQt5.QtWidgets.QVBoxLayout.setContentsMargins os.path.join color_list.append self.maximum output.tmp.np.column_stack.transpose self.menuBar numpy.float64 measure.mean.np.array.reshape save.triggered.connect self.d2v.self.d2v.transpose.dot.tocsc obj2npy.transpose PyQt5.QtCore.pyqtSignal traits.api.Instance numpy.array numpy.linalg.inv PyQt5.QtWidgets.QHBoxLayout.addWidget self.viewer3D.select_mode scipy.sparse.linalg.splu utils.D_BASIS_NUM.d_basis.np.array.reshape PyQt5.QtWidgets.QLabel.setFixedWidth os.listdir obj2npy.mean enumerate self.d2v.transpose.dot self.pre_button.setFont numpy.load slider.valueChangeForwarded.connect numpy.save PyQt5.QtWidgets.QWidget.__init__ PyQt5.QtWidgets.QVBoxLayout Visualization i.self.mask.np.array.reshape PyQt5.QtWidgets.QAction.setShortcut HumanShapeAnalysisDemo range multiprocessing.Pool.starmap PyQt5.QtWidgets.QLabel random.sample self.resize tmp.min open.write sys.exit self.editList.append PyQt5.QtWidgets.QVBoxLayout.setSpacing self.box.addLayout vertex.std.np.array.reshape i.self.slider.setValue PyQt5.QtWidgets.QGridLayout.addWidget sklearn.feature_selection.RFE.fit numpy.dot clearButton.clicked.connect fancyimpute.MICE dets.np.array.reshape.ravel self.radio1.setFont set.add self.imputate exit.triggered.connect d.np.array.reshape assemble_face scipy.sparse.coo_matrix.transpose self.statusBar.showMessage sklearn.linear_model.LinearRegression self.mapping_rfemat
@developer Could please help me check this issue? May I pull a request to fix it? Thank you very much.