Bowler icon indicating copy to clipboard operation
Bowler copied to clipboard

Safe code refactoring for modern Python.

Results 49 Bowler issues
Sort by recently updated
recently updated
newest added

.add_argument() should also have the ability to add kwargs to callsites to perform codemods where a callsite's kwarg differs from the function definition's default for that arg. The doc for...

CLA Signed

Hi I tried to rename a function method but only the calls to the method were replaced-not the method declaration (leading to a `pylint` error). Did I do anything wrong?...

Using latest version from git as of today. When trying to chain two remove_argument() functions I get the following error: ``` File "/home/jlvillal/.local/lib/python3.7/site-packages/bowler-0.8.0-py3.7.egg/bowler/query.py", line 892, in remove_argument_transform spec.explode() File "/home/jlvillal/.local/lib/python3.7/site-packages/bowler-0.8.0-py3.7.egg/bowler/imr.py",...

Hello, I am trying to apply changes also on some notebooks from databricks stored as `.py` files, from time to time, there is %pip install or %magic command, could you...

Not at all sure where something like this belongs, so I'm creating an issue in the hope that the team can give some guidance. When first starting with bowler, I...

Hi, bowler/README.md documents `rename_function` however this functionality does not appear to exist. 'hope to see it added soon! Happy New Year, Nicholas

Hi, I'm packaging Bowler for Debian, and while working on the man page I wasn't able to find documentation for `bowler test`. Is it: **test** [path | module] [-- options]...

Dephell needs this fix to work with bowler: https://github.com/dephell/dephell/pull/474 Otherwise: ``` ========================================= test session starts ========================================= platform linux -- Python 3.8.5, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 rootdir: /home/abuild/rpmbuild/BUILD/dephell-0.8.3, configfile: setup.cfg plugins: requests-mock-1.8.0...

Simple typehints seem to be supported, but others cause bowler to crash. For example, foo.py: import typing def foo(bar: typing.List[str]): pass Running bowler.Query('foo.py').select_function('foo').add_argument('baz', 1).diff() Produces Skipping foo.py: failed to transform...

good first issue

Input file: ```python import attr @attr.s() class A: ... ``` Code: ```python import bowler bowler.Query('tmp.py').select_module('attr').rename('testme').execute(write=True, silent=True) ``` Output file: ```python import testme @attr.s() class A: ... ``` Attr was renamed...

good first issue