MartinThoma / flake8-simplify

❄ A flake8 plugin that helps you to simplify code
MIT License
185 stars 19 forks source link

[New Rule] Use keyword-arguments instead of positional arguments for boolean values #43

Closed MartinThoma closed 2 years ago

MartinThoma commented 3 years ago

Explanation

Positional boolean arguments are typically hard to understand, because they can represent so many things. Having a keyword-argument gives the reader the keyword name as context.

Example

import zipfile

# Bad
fp = zipfile.ZipFile("filename", "w", zipfile.ZIP_DEFLATED, False)

# Good
fp = zipfile.ZipFile("filename", "w", zipfile.ZIP_DEFLATED, allowZip64=False)
MartinThoma commented 3 years ago
$ astpretty --no-show-offsets /dev/stdin <<< `cat example.txt`
Module(
    body=[
        Import(
            names=[alias(name='zipfile', asname=None)],
        ),
        Assign(
            targets=[Name(id='fp', ctx=Store())],
            value=Call(
                func=Attribute(
                    value=Name(id='zipfile', ctx=Load()),
                    attr='ZipFile',
                    ctx=Load(),
                ),
                args=[
                    Constant(value='filename', kind=None),
                    Constant(value='w', kind=None),
                    Attribute(
                        value=Name(id='zipfile', ctx=Load()),
                        attr='ZIP_DEFLATED',
                        ctx=Load(),
                    ),
                    Constant(value=False, kind=None),
                ],
                keywords=[],
            ),
            type_comment=None,
        ),
        Assign(
            targets=[Name(id='fp', ctx=Store())],
            value=Call(
                func=Attribute(
                    value=Name(id='zipfile', ctx=Load()),
                    attr='ZipFile',
                    ctx=Load(),
                ),
                args=[
                    Constant(value='filename', kind=None),
                    Constant(value='w', kind=None),
                    Attribute(
                        value=Name(id='zipfile', ctx=Load()),
                        attr='ZIP_DEFLATED',
                        ctx=Load(),
                    ),
                ],
                keywords=[
                    keyword(
                        arg='allowZip64',
                        value=Constant(value=False, kind=None),
                    ),
                ],
            ),
            type_comment=None,
        ),
    ],
    type_ignores=[],
)
MartinThoma commented 2 years ago

I've got a working implementation, but I think it gives way too many results.

MartinThoma commented 2 years ago

https://github.com/OpenShot/openshot-qt/ : 120

windows/preferences.py:385:48: magic number at 'QSize(60, 18)'
windows/preferences.py:605:16: magic number at 'reader.GetFrame(0).CheckPixel(0, 0, 2, 133, 255, 255, 5)'
windows/export.py:395:50: magic number at 'QSize(60, 18)'
windows/export.py:834:17: magic bool at 'w.SetVideoOptions(True, video_settings.get('vcodec'), openshot.Fraction(
windows/export.py:848:17: magic bool at 'w.SetAudioOptions(True, audio_settings.get('acodec'), audio_settings.get(
windows/region.py:141:17: magic bool at 'self.clip.Waveform(True)'
windows/region.py:179:9: magic number at 'QTimer.singleShot(500, functools.partial(self.sliderVideo.setValue, 
windows/region.py:180:9: magic number at 'QTimer.singleShot(600, functools.partial(self.sliderVideo.setValue,
windows/main_window.py:165:9: magic bool at 'track_metric_session(False)'
windows/main_window.py:296:9: magic bool at 'self.updateStatusChanged(False, False)'
windows/main_window.py:494:17: magic number at 'self.statusBar.showMessage(_(
windows/main_window.py:1024:13: magic number at 'self.statusBar.showMessage(_('Save Frame cancelled...'), 5000)'
windows/main_window.py:1060:13: magic number at 'self.statusBar.showMessage(_('Saved Frame to %s' % framePath), 5000)'
windows/main_window.py:1062:13: magic number at 'self.statusBar.showMessage(_('Failed to save image to %s' % framePath), 5000)'
windows/main_window.py:1679:13: magic number at 'self.timeline.Paste_Triggered(9, float(playhead_position), -1, [], [])'
windows/main_window.py:2114:9: magic bool at 'self.floatDocks(False)'
windows/main_window.py:2146:9: magic bool at 'self.floatDocks(False)'
windows/main_window.py:3078:9: magic number at 'QTimer.singleShot(100, self.refreshFrameSignal.emit)'
windows/export_clips.py:109:5: magic bool at 'writer.SetVideoOptions(True, 'libx264', frames_per_second, clip.data.get(
windows/export_clips.py:109:5: magic number at 'writer.SetVideoOptions(True, 'libx264', frames_per_second, clip.data.get(
windows/export_clips.py:120:5: magic bool at 'writer.SetAudioOptions(True, 'aac', clip.data.get('sample_rate', 48000),
windows/video_widget.py:154:15: magic number at 'QPen(QBrush(QColor('#53a0ed')), 1.5)'
windows/video_widget.py:481:23: magic number at 'QPen(QBrush(QColor('#53a0ed')), 1.5)'
windows/video_widget.py:617:13: magic number at 'QTransform().rotate(rotation).shear(shear_x, shear_y).scale(0.8, 0.8)'
windows/video_widget.py:1351:29: magic number at 'openshot.Fraction(16, 9)'
windows/video_widget.py:1401:41: magic number at 'icon.pixmap(32, 32)'
windows/title_editor.py:133:13: magic number at 'QTimer.singleShot(50, self.display_svg)'
windows/title_editor.py:174:9: magic bool at 'reader.GetFrame(1).Thumbnail(tmp_filename, round(self.lblPreviewLabel.width
windows/title_editor.py:174:9: magic number at 'reader.GetFrame(1).Thumbnail(tmp_filename, round(self.lblPreviewLabel.width
windows/profile.py:181:9: magic number at 'QTimer.singleShot(500, win.refreshFrameSignal.emit)'
windows/profile.py:182:9: magic number at 'QTimer.singleShot(500, functools.partial(win.MaxSizeChanged.emit, win.
windows/cutting.py:126:17: magic bool at 'self.clip.Waveform(True)'
windows/cutting.py:169:9: magic number at 'QTimer.singleShot(500, functools.partial(self.sliderVideo.setValue, 
windows/cutting.py:170:9: magic number at 'QTimer.singleShot(600, functools.partial(self.sliderVideo.setValue,
windows/cutting.py:257:9: magic bool at 'self.r.GetFrame(self.start_frame).Thumbnail(self.start_image, 160, 90, '',
windows/cutting.py:257:9: magic number at 'self.r.GetFrame(self.start_frame).Thumbnail(self.start_image, 160, 90, '',
windows/cutting.py:294:9: magic bool at 'self.r.GetFrame(self.end_frame).Thumbnail(self.end_image, 160, 90, '', '',
windows/cutting.py:294:9: magic number at 'self.r.GetFrame(self.end_frame).Thumbnail(self.end_image, 160, 90, '', '',
windows/color_picker.py:58:9: magic bool at 'self.dialog.blockSignals(True)'
windows/color_picker.py:63:9: magic bool at 'self.dialog.blockSignals(False)'
windows/color_picker.py:110:9: magic bool at 'qcsl.blockSignals(True)'
windows/models/files_model.py:67:21: magic number at 'self.sourceModel().index(sourceRow, 3, sourceParent)'
windows/models/files_model.py:347:21: magic number at 'app.window.statusBar.showMessage(message, 15000)'
windows/models/files_model.py:368:9: magic number at 'app.window.statusBar.showMessage(message, 3000)'
windows/models/files_model.py:537:20: magic number at 'cur.sibling(cur.row(), 5)'
windows/models/blender_model.py:97:25: magic bool at 'reader.GetFrame(0).Thumbnail(thumb_path, 98, 64, '', '', '#000', False,
windows/models/blender_model.py:97:25: magic number at 'reader.GetFrame(0).Thumbnail(thumb_path, 98, 64, '', '', '#000', False,
windows/models/emoji_model.py:133:25: magic bool at 'reader.GetFrame(0).Thumbnail(thumb_path, 75, 75, os.path.join(info.
windows/models/emoji_model.py:133:25: magic number at 'reader.GetFrame(0).Thumbnail(thumb_path, 75, 75, os.path.join(info.
windows/models/titles_model.py:135:21: magic bool at 'reader.GetFrame(0).Thumbnail(thumb_path, 98, 64, os.path.join(info.
windows/models/titles_model.py:135:21: magic number at 'reader.GetFrame(0).Thumbnail(thumb_path, 98, 64, os.path.join(info.
windows/models/transition_model.py:80:18: magic number at 'i.sibling(i.row(), 3)'
windows/models/transition_model.py:176:25: magic bool at 'reader.GetFrame(0).Thumbnail(thumb_path, 98, 64, os.path.join(info.
windows/models/transition_model.py:176:25: magic number at 'reader.GetFrame(0).Thumbnail(thumb_path, 98, 64, os.path.join(info.
windows/models/effects_model.py:57:51: magic number at 'self.sourceModel().index(sourceRow, 3, sourceParent)'
windows/models/effects_model.py:77:18: magic number at 'i.sibling(i.row(), 4)'
windows/models/effects_model.py:160:21: magic bool at 'reader.GetFrame(0).Thumbnail(thumb_path, 98, 64, os.path.join(info.
windows/models/effects_model.py:160:21: magic number at 'reader.GetFrame(0).Thumbnail(thumb_path, 98, 64, os.path.join(info.
windows/views/emojis_listview.py:42:22: magic number at 'QSize(48, 48)'
windows/views/zoom_slider.py:98:31: magic number at 'QRectF(marker_x, 0, 0.5, len(layers) * vertical_factor)'
windows/views/zoom_slider.py:116:20: magic number at 'QPen(QBrush(QColor('#53a0ed')), 1.5)'
windows/views/zoom_slider.py:120:29: magic number at 'QPen(QBrush(QColor('Red')), 1.5)'
windows/views/zoom_slider.py:137:22: magic number at 'QPen(QBrush(handle_color), 1.5)'
windows/views/zoom_slider.py:174:29: magic number at 'QRectF(playhead_x, 0, 0.5, len(layers) * vertical_factor)'
windows/views/zoom_slider.py:185:17: magic number at 'scroll_path.addRoundedRect(self.scroll_bar_rect, 6, 6)'
windows/views/zoom_slider.py:509:49: magic number at 'icon.pixmap(24, 24)'
windows/views/files_treeview.py:44:22: magic number at 'QSize(48, 48)'
windows/views/files_treeview.py:67:24: magic number at 'index.sibling(index.row(), 5)'
windows/views/files_treeview.py:185:19: magic number at 'self.files_model.model.item(item.row(), 5)'
windows/views/transitions_listview.py:39:22: magic number at 'QSize(48, 48)'
windows/views/effects_listview.py:39:22: magic number at 'QSize(48, 48)'
windows/views/effects_treeview.py:39:22: magic number at 'QSize(48, 48)'
windows/views/transitions_treeview.py:39:22: magic number at 'QSize(48, 48)'
windows/views/blender_listview.py:401:19: magic number at 'self.blender_model.model.item(ItemRow, 3)'
windows/views/credits_treeview.py:75:21: magic number at 'model.item(row, 3)'
windows/views/credits_treeview.py:76:23: magic number at 'model.item(row, 4)'
windows/views/files_listview.py:41:22: magic number at 'QSize(48, 48)'
windows/views/files_listview.py:64:24: magic number at 'index.sibling(index.row(), 5)'
windows/views/webview.py:433:9: magic bool at 'self.addSelection(effect_id, 'effect', True)'
windows/views/webview.py:1224:17: magic bool at 'self.show_all_clips(clip, False)'
windows/views/webview.py:1228:17: magic bool at 'self.show_all_clips(clip, True)'
windows/views/webview.py:3229:9: magic number at 'QTimer.singleShot(1500, self.cache_renderer.start)'
windows/views/titles_listview.py:48:9: magic number at 'QTimer.singleShot(50, self.win.display_svg)'
windows/views/tutorial.py:56:9: magic number at 'painter.drawRoundedRect(QRectF(31, 0, self.width() - 31, self.height()), 10, 10
windows/views/tutorial.py:57:13: magic number at 'QRectF(31, 0, self.width() - 31, self.height())'
windows/views/tutorial.py:67:13: magic number at 'path.moveTo(0, 35)'
windows/views/tutorial.py:68:13: magic number at 'path.lineTo(31, 35 - arrow_height)'
windows/views/tutorial.py:69:13: magic number at 'path.lineTo(31, int(35 - arrow_height + arrow_height * 2))'
windows/views/tutorial.py:71:13: magic number at 'path.lineTo(0, 35)'
windows/views/tutorial.py:113:9: magic number at 'vbox.setContentsMargins(32, 10, 10, 10)'
windows/views/tutorial.py:144:9: magic number at 'hbox.setContentsMargins(20, 10, 0, 0)'
windows/views/properties_tableview.py:66:30: magic number at 'QIcon(':/curves/keyframe-%s.png' % openshot.BEZIER).pixmap(20, 20)'
windows/views/properties_tableview.py:67:30: magic number at 'QIcon(':/curves/keyframe-%s.png' % openshot.LINEAR).pixmap(20, 20)'
windows/views/properties_tableview.py:68:32: magic number at 'QIcon(':/curves/keyframe-%s.png' % openshot.CONSTANT).pixmap(20, 20)'
windows/views/properties_tableview.py:128:13: magic number at 'path.addRoundedRect(QRectF(option.rect), 15, 15)'
windows/views/properties_tableview.py:147:13: magic number at 'path.addRoundedRect(value_rect, 15, 15)'
windows/views/properties_tableview.py:471:54: magic number at 'clip_index.sibling(clip_number, 4)'
windows/views/properties_tableview.py:542:54: magic number at 'clip_index.sibling(clip_number, 4)'
windows/views/properties_tableview.py:582:54: magic number at 'clip_index.sibling(clip_number, 4)'
windows/views/properties_tableview.py:633:41: magic number at 'idx.sibling(i, 4)'
windows/views/properties_tableview.py:653:28: magic number at 'idx.sibling(i, 3)'
windows/views/webview_backend/webengine.py:104:13: magic number at 'QTimer.singleShot(200, partial(self.run_js, code, callback, retries + 1))'
windows/views/webview_backend/webkit.py:93:13: magic number at 'QTimer.singleShot(200, partial(self.run_js, code, callback, retries + 1))'
classes/project_data.py:396:17: magic bool at 'shutil.rmtree(openshot_thumbnails, True)'
classes/json_data.py:388:17: magic number at 'self.app.window.statusBar.showMessage(self._('Saved backup file {}').format
classes/exceptions.py:68:34: magic number at 'tail_file(f, 500)'
classes/exceptions.py:130:5: magic bool at 'track_metric_error('unhandled-crash%s' % last_log_line, True)'
classes/info.py:82:22: magic number at 'QSize(100, 65)'
classes/info.py:83:39: magic number at 'QSize(5, 25)'
classes/info.py:84:22: magic number at 'QSize(75, 49)'
classes/info.py:85:23: magic number at 'QSize(75, 75)'
classes/info.py:86:41: magic number at 'QSize(5, 25)'
classes/thumbnail.py:82:5: magic bool at 'reader.GetFrame(thumbnail_frame).Thumbnail(thumb_path, round(width * scale),
classes/thumbnail.py:82:5: magic number at 'reader.GetFrame(thumbnail_frame).Thumbnail(thumb_path, round(width * scale),
classes/thumbnail.py:202:13: magic number at 'GenerateThumbnail(file_path, thumb_path, file_frame, 98, 64, mask_path,
classes/logger.py:113:9: magic bool at 'getattr(sys, 'frozen', False)'
classes/app.py:264:9: magic bool at 'self.window.updateStatusChanged(False, False)'
classes/exporters/final_cut_pro.py:187:17: magic number at 'createEffect(xmldoc, 'Opacity', clipNode, clip.data.get('alpha', {}).get(
classes/legacy/openshot/classes/clip.py:72:36: magic number at 'keyframe(0, 100.0, 100.0, 0.0, 0.0, 1.0)'
classes/legacy/openshot/classes/clip.py:73:34: magic number at 'keyframe(-1, 100.0, 100.0, 0.0, 0.0, 1.0)'
MartinThoma commented 2 years ago

scipy: 154 matches

fftpack/_helper.py:97:12: SIM902 '_helper.good_size(target, True)'
special/_basic.py:1942:12: SIM903 '_specfun.klvnzo(nt, 3)'
special/_basic.py:1971:12: SIM903 '_specfun.klvnzo(nt, 4)'
special/_basic.py:2000:12: SIM903 '_specfun.klvnzo(nt, 5)'
special/_basic.py:2029:12: SIM903 '_specfun.klvnzo(nt, 6)'
special/_basic.py:2058:12: SIM903 '_specfun.klvnzo(nt, 7)'
special/_basic.py:2087:12: SIM903 '_specfun.klvnzo(nt, 8)'
special/_basic.py:2107:13: SIM903 '_specfun.klvnzo(nt, 3)'
special/_basic.py:2108:13: SIM903 '_specfun.klvnzo(nt, 4)'
special/_basic.py:2109:13: SIM903 '_specfun.klvnzo(nt, 5)'
special/_basic.py:2110:13: SIM903 '_specfun.klvnzo(nt, 6)'
special/_basic.py:2111:13: SIM903 '_specfun.klvnzo(nt, 7)'
special/_basic.py:2112:13: SIM903 '_specfun.klvnzo(nt, 8)'
special/_orthogonal.py:418:15: SIM902 'roots_jacobi(n, p1 - q1, q1 - 1, True)'
special/_orthogonal.py:1106:19: SIM903 'arange(6, 31, 6)'
special/_orthogonal.py:1884:12: SIM903 'jacobi(n, 0.5, 0.5, monic=monic)'
special/_orthogonal.py:1933:15: SIM902 'roots_chebyt(n, True)'
special/_orthogonal.py:2039:15: SIM902 'roots_chebyu(n, True)'
special/_orthogonal.py:2175:12: SIM903 'sh_jacobi(n, 0.0, 0.5, monic=monic)'
special/_orthogonal.py:2226:15: SIM902 'roots_chebyu(n, True)'
special/_orthogonal.py:2228:12: SIM903 '_ufuncs.beta(1.5, 1.5)'
special/_orthogonal.py:2261:12: SIM903 'sh_jacobi(n, 2.0, 1.5, monic=monic)'
special/_mptestutils.py:307:18: SIM903 'mpmath.nstr(x, 17, min_fixed=0, max_fixed=0)'
special/_mptestutils.py:451:21: SIM903 'mpmath.nstr(rdiff, 3)'
special/_mptestutils.py:454:9: SIM902 'assert_(False, '\n'.join(msg))'
special/_testutils.py:304:17: SIM902 'assert_(False, '\n'.join(msg))'
special/_precompute/wright_bessel_data.py:114:17: SIM902 'np.full_like(a_range, False, dtype=bool)'
special/_precompute/struve_convergence.py:108:5: SIM902 'do_plot(True)'
special/_precompute/struve_convergence.py:112:5: SIM902 'do_plot(False)'
special/_precompute/gammainc_asy.py:35:21: SIM903 'mp.rf(0.5, k)'
special/_precompute/gammainc_asy.py:104:20: SIM903 'mp.nstr(x, 17, min_fixed=0, max_fixed=0)'
special/_precompute/loggamma.py:28:24: SIM903 'mpmath.nstr(x, 20, min_fixed=0, max_fixed=0)'
special/_precompute/loggamma.py:30:22: SIM903 'mpmath.nstr(x, 20, min_fixed=0, max_fixed=0)'
special/_precompute/cosine_cdf.py:12:6: SIM903 'mpmath.taylor(f, -mpmath.pi, 20)'
special/_precompute/cosine_cdf.py:13:8: SIM903 'mpmath.pade(ts, 9, 10)'
special/_precompute/zetac.py:21:15: SIM903 'mpmath.nstr(x, 20, min_fixed=0, max_fixed=0)'
special/_precompute/gammainc_data.py:102:9: SIM903 'np.logspace(4, 14, 30)'
special/_precompute/gammainc_data.py:103:14: SIM903 'np.logspace(np.log10(pi / 4), np.log10(np.arctan(0.6)), 30)'
special/_precompute/gammainc_data.py:104:14: SIM903 'np.logspace(np.log10(pi / 4), np.log10(np.arctan(1.4)), 30)'
special/_precompute/lambertw.py:17:12: SIM903 'mpmath.pade(derivs, 3, 2)'
special/_precompute/lambertw.py:61:9: SIM903 'np.linspace(-0.3, 0.3)'
integrate/_ivp/radau.py:298:26: SIM903 'select_initial_step(self.fun, self.t, self.y, self.f, self.direction, 3,
spatial/setup.py:94:9: SIM902 'pybind11.get_include(True)'
spatial/setup.py:95:9: SIM902 'pybind11.get_include(False)'
spatial/_plotutils.py:22:9: SIM902 'ax.hold(True)'
spatial/transform/_rotation_spline.py:242:47: SIM903 'np.repeat(d, 3)'
sparse/_sputils.py:210:25: SIM901 Use 'int(x) == x' instead of 'bool(int(x) == x)'
sparse/_sputils.py:337:12: SIM902 'kwargs.pop('copy', False)'
sparse/_compressed.py:1094:16: SIM902 'getattr(self, '_has_sorted_indices', True)'
sparse/_coo.py:541:23: SIM902 'np.append(True, unique_mask)'
sparse/linalg/_eigen/lobpcg/lobpcg.py:482:14: SIM902 'np.where(residualNorms > residualTolerance, True, False)'
sparse/linalg/_eigen/arpack/arpack.py:369:23: SIM902 'self.extract(True)'
ndimage/_morphology.py:209:16: SIM902 'numpy.array(True, dtype=bool)'
ndimage/_interpolation.py:608:9: SIM902 '_nd_image.zoom_shift(filtered, matrix, offset / matrix, output, order, mode,
ndimage/_interpolation.py:686:5: SIM902 '_nd_image.zoom_shift(filtered, None, shift, output, order, mode, cval, npad,
io/wavfile.py:808:28: SIM903 'struct.pack('<II', 4, data.shape[0])'
io/_netcdf.py:984:21: SIM903 'getattr(data, 'fill_value', 999999)'
io/matlab/_mio4.py:118:19: SIM903 'divmod(data['mopt'], 1000)'
io/matlab/_mio4.py:123:19: SIM903 'divmod(rest, 100)'
io/matlab/_mio4.py:126:19: SIM903 'divmod(rest, 10)'
cluster/hierarchy.py:2840:16: SIM903 'np.arange(5, len(ivl) * 10 + 5, 10)'
cluster/hierarchy.py:3956:5: SIM903 '_hierarchy.get_max_Rfield_for_each_cluster(Z, R, MI, int(n), 3)'
signal/_ltisys.py:414:14: SIM902 'kwargs.pop('dt', True)'
signal/_filter_design.py:181:13: SIM903 'findfreqs(b, a, 200)'
signal/_filter_design.py:260:13: SIM903 'findfreqs(z, p, 200, kind='zp')'
signal/_filter_design.py:4759:12: SIM903 'optimize.newton(cutoff, 1.5)'
signal/_signaltools.py:4455:24: SIM903 'cheby1(n, 0.05, 0.8 / q)'
signal/_bsplines.py:337:13: SIM903 'less(ax, 0.5)'
signal/_bsplines.py:341:22: SIM903 'less(ax, 1.5)'
signal/windows/_windows.py:788:12: SIM903 'general_hamming(M, 0.5, sym)'
signal/windows/_windows.py:1096:12: SIM903 'general_hamming(M, 0.54, sym)'
stats/_bootstrap.py:52:9: SIM902 'np.fill_diagonal(j[:, k:k + batch_actual], False)'
stats/_mstats_extras.py:348:14: SIM903 'binom.cdf(n - k, n, 0.5)'
stats/_mstats_extras.py:348:37: SIM903 'binom.cdf(k - 1, n, 0.5)'
stats/_mstats_extras.py:351:18: SIM903 'binom.cdf(n - k, n, 0.5)'
stats/_mstats_extras.py:351:41: SIM903 'binom.cdf(k - 1, n, 0.5)'
stats/_mstats_extras.py:352:15: SIM903 'binom.cdf(n - k - 1, n, 0.5)'
stats/_mstats_extras.py:352:40: SIM903 'binom.cdf(k, n, 0.5)'
stats/_discrete_distns.py:1534:19: SIM903 'self.dist(N, n, M, odds, 1e-12)'
stats/_discrete_distns.py:1543:19: SIM903 'self.dist(N, n, M, odds, 1e-12)'
stats/_distn_infrastructure.py:381:19: SIM903 'moment_func(3, *args)'
stats/_distn_infrastructure.py:387:19: SIM903 'moment_func(4, *args)'
stats/_distn_infrastructure.py:1357:16: SIM903 'self.ppf(0.5, *args, **kwds)'
stats/_distn_infrastructure.py:2786:33: SIM903 'self.ppf(0.5, *args)'
stats/_distn_infrastructure.py:3497:36: SIM903 'self.ppf(0.5, *args)'
stats/_distn_infrastructure.py:3584:14: SIM903 'self.ppf(0.5, *args)'
stats/_distn_infrastructure.py:3822:13: SIM902 'bc.append(True)'
stats/_distn_infrastructure.py:3824:13: SIM902 'bc.append(False)'
stats/_hypotests.py:228:13: SIM903 'kv(0.25, q)'
stats/_continuous_distns.py:970:14: SIM903 'np.arange(1, 5).reshape(4, 1)'
stats/_continuous_distns.py:2265:17: SIM903 'sc.zeta(3, c)'
stats/_continuous_distns.py:2267:32: SIM903 'sc.zeta(4, c)'
stats/_continuous_distns.py:4829:27: SIM903 'sc.polygamma(3, c)'
stats/_continuous_distns.py:5127:16: SIM903 'sc.gammainc(1.5, x * x / 2.0)'
stats/_continuous_distns.py:5130:26: SIM903 'sc.gammaincinv(1.5, q)'
stats/_continuous_distns.py:5969:38: SIM903 'sc.beta(half, 0.5)'
stats/_continuous_distns.py:6019:33: SIM903 'sc.hyp1f1(n / 2 + 1, 1.5, valF)'
stats/_continuous_distns.py:6021:17: SIM903 'sc.hyp1f1((n + 1) / 2, 0.5, valF)'
stats/_continuous_distns.py:6041:23: SIM903 'sc.betaln(df / 2 - 0.5, 0.5)'
stats/_continuous_distns.py:8675:12: SIM903 'sc.gammainc(1.5, chi ** 2 / 2)'
stats/_continuous_distns.py:9152:17: SIM903 'np.frompyfunc(_single_moment, 3, 1)'
stats/_continuous_distns.py:9170:17: SIM903 'np.frompyfunc(_single_pdf, 3, 1)'
stats/_continuous_distns.py:9196:17: SIM903 'np.frompyfunc(_single_cdf, 3, 1)'
stats/_morestats.py:1868:20: SIM903 'around(_Avals_norm / (1.0 + 4.0 / N - 25.0 / N / N), 3)'
stats/_morestats.py:1874:20: SIM903 'around(_Avals_expon / (1.0 + 0.6 / N), 3)'
stats/_morestats.py:1890:20: SIM903 'around(_Avals_logistic / (1.0 + 0.25 / N), 3)'
stats/_morestats.py:1897:20: SIM903 'around(_Avals_gumbel / (1.0 + 0.2 / sqrt(N)), 3)'
stats/_morestats.py:1904:20: SIM903 'around(_Avals_gumbel / (1.0 + 0.2 / sqrt(N)), 3)'
stats/_mstats_basic.py:268:25: SIM902 'data == r).filled(False'
stats/_mstats_basic.py:1633:7: SIM902 'condition.filled(True)'
stats/_mstats_basic.py:3018:15: SIM902 'condition.filled(True)'
stats/_axis_nan_policy.py:178:16: SIM902 'getattr(sample, 'mask', False)'
stats/_axis_nan_policy.py:205:16: SIM902 'getattr(sample, 'mask', False)'
_lib/_gcutils.py:99:10: SIM902 'gc_state(False)'
optimize/_minpack_py.py:913:18: SIM903 'greater(err, 0.5)'
optimize/_optimize.py:153:9: SIM903 'warnings.warn('Unknown solver options: %s' % msg, OptimizeWarning, 4)'
optimize/_optimize.py:694:13: SIM903 'np.isclose(fatol, 0.0001)'
optimize/_optimize.py:695:21: SIM903 'np.isclose(unknown_options['ftol'], 0.0001)'
optimize/_optimize.py:704:13: SIM903 'np.isclose(xatol, 0.0001)'
optimize/_optimize.py:705:21: SIM903 'np.isclose(unknown_options['xtol'], 0.0001)'
optimize/_optimize.py:737:13: SIM903 'warnings.warn('Initial guess is not within the specified bounds',
optimize/_optimize.py:890:13: SIM903 'warnings.warn(msg, RuntimeWarning, 3)'
optimize/_optimize.py:895:13: SIM903 'warnings.warn(msg, RuntimeWarning, 3)'
optimize/_optimize.py:1975:20: SIM903 'terminate(3, msg)'
optimize/_optimize.py:1998:20: SIM903 'terminate(3, _status_message['nan'])'
optimize/_optimize.py:3166:13: SIM903 'warnings.warn(
optimize/_optimize.py:3180:13: SIM903 'warnings.warn('Initial guess is not within the specified bounds',
optimize/_optimize.py:3257:13: SIM903 'warnings.warn(msg, RuntimeWarning, 3)'
optimize/_optimize.py:3262:13: SIM903 'warnings.warn(msg, RuntimeWarning, 3)'
optimize/_optimize.py:3267:13: SIM903 'warnings.warn(msg, RuntimeWarning, 3)'
optimize/_basinhopping.py:728:9: SIM902 'callback(bh.storage.minres.x, bh.storage.minres.fun, True)'
optimize/_linprog.py:658:10: SIM902 'solver_options.pop('rr', True)'
optimize/_linprog.py:660:8: SIM902 'solver_options.pop('presolve', True)'
optimize/_linprog.py:670:12: SIM902 'solver_options.pop('autoscale', False)'
optimize/_linprog_util.py:115:24: SIM902 'options.pop('_sparse_presolve', False)'
optimize/_trustregion.py:283:13: SIM903 'warnings.warn(status_messages[warnflag], RuntimeWarning, 3)'
optimize/_slsqp_py.py:542:11: SIM903 '""" Bounds constraints """.center(72, '-')'
optimize/_slsqp_py.py:551:11: SIM903 '""" Equality and inequality constraints """.center(72, '-')'
optimize/_lsq/trf.py:245:22: SIM902 'tr_options.pop('regularize', True)'
optimize/_lsq/trf.py:435:22: SIM902 'tr_options.pop('regularize', True)'
optimize/_trustregion_constr/tr_interior_point.py:186:16: SIM902 'np.full(size, False, bool)'
linalg/_basic.py:1204:36: SIM902 'lapack_func(a1, b1, lwork, iwork, cond, False, False)'
linalg/_basic.py:1209:36: SIM902 'lapack_func(a1, b1, lwork, rwork, iwork, cond, False, False)'
linalg/_basic.py:1227:31: SIM902 'lapack_func(a1, b1, jptv, cond, lwork, False, False)'
interpolate/_interpolate.py:1165:17: SIM902 '_ppoly.integrate(self.c.reshape(self.c.shape[0], self.c.shape[1], -1), self
interpolate/_interpolate.py:1180:17: SIM902 '_ppoly.integrate(self.c.reshape(self.c.shape[0], self.c.shape[1], -1), self
interpolate/_interpolate.py:1185:17: SIM902 '_ppoly.integrate(self.c.reshape(self.c.shape[0], self.c.shape[1], -1), self
interpolate/_interpolate.py:1190:17: SIM902 '_ppoly.integrate(self.c.reshape(self.c.shape[0], self.c.shape[1], -1), self
interpolate/_bsplines.py:646:17: SIM902 '_bspl.evaluate_spline(ta, ca.reshape(ca.shape[0], -1), ka, x, 0, False, out)'
interpolate/_bsplines.py:662:17: SIM902 '_bspl.evaluate_spline(ta, ca.reshape(ca.shape[0], -1), ka, x, 0, False, out)'
interpolate/_bsplines.py:667:17: SIM902 '_bspl.evaluate_spline(ta, ca.reshape(ca.shape[0], -1), ka, x, 0, False, out)'
interpolate/_bsplines.py:672:17: SIM902 '_bspl.evaluate_spline(ta, ca.reshape(ca.shape[0], -1), ka, x, 0, False, out)'
fft/_pocketfft/setup.py:32:21: SIM902 'pybind11.get_include(True)'
fft/_pocketfft/setup.py:32:49: SIM902 'pybind11.get_include(False)'