python-minifier 2.11.1__tar.gz → 2.11.2__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.
Files changed (84) hide show
  1. {python_minifier-2.11.1/src/python_minifier.egg-info → python_minifier-2.11.2}/PKG-INFO +1 -1
  2. {python_minifier-2.11.1 → python_minifier-2.11.2}/setup.py +1 -1
  3. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/rename/util.py +2 -1
  4. {python_minifier-2.11.1 → python_minifier-2.11.2/src/python_minifier.egg-info}/PKG-INFO +1 -1
  5. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_rename_locals.py +79 -0
  6. {python_minifier-2.11.1 → python_minifier-2.11.2}/LICENSE +0 -0
  7. {python_minifier-2.11.1 → python_minifier-2.11.2}/README.md +0 -0
  8. {python_minifier-2.11.1 → python_minifier-2.11.2}/setup.cfg +0 -0
  9. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/__init__.py +0 -0
  10. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/__init__.pyi +0 -0
  11. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/__main__.py +0 -0
  12. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/ast_compare.py +0 -0
  13. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/ast_compat.py +0 -0
  14. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/ast_printer.py +0 -0
  15. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/expression_printer.py +0 -0
  16. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/f_string.py +0 -0
  17. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/ministring.py +0 -0
  18. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/module_printer.py +0 -0
  19. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/py.typed +0 -0
  20. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/rename/__init__.py +0 -0
  21. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/rename/bind_names.py +0 -0
  22. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/rename/binding.py +0 -0
  23. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/rename/mapper.py +0 -0
  24. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/rename/name_generator.py +0 -0
  25. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/rename/rename_literals.py +0 -0
  26. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/rename/renamer.py +0 -0
  27. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/rename/resolve_names.py +0 -0
  28. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/token_printer.py +0 -0
  29. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/__init__.py +0 -0
  30. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/combine_imports.py +0 -0
  31. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/constant_folding.py +0 -0
  32. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_annotations.py +0 -0
  33. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_annotations_options.py +0 -0
  34. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_annotations_options.pyi +0 -0
  35. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_asserts.py +0 -0
  36. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_debug.py +0 -0
  37. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_exception_brackets.py +0 -0
  38. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_explicit_return_none.py +0 -0
  39. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_literal_statements.py +0 -0
  40. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_object_base.py +0 -0
  41. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_pass.py +0 -0
  42. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/remove_posargs.py +0 -0
  43. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/transforms/suite_transformer.py +0 -0
  44. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier/util.py +0 -0
  45. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier.egg-info/SOURCES.txt +0 -0
  46. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier.egg-info/dependency_links.txt +0 -0
  47. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier.egg-info/entry_points.txt +0 -0
  48. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier.egg-info/top_level.txt +0 -0
  49. {python_minifier-2.11.1 → python_minifier-2.11.2}/src/python_minifier.egg-info/zip-safe +0 -0
  50. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_assignment_expressions.py +0 -0
  51. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_await_fstring.py +0 -0
  52. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_bind_names.py +0 -0
  53. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_bind_names_python2.py +0 -0
  54. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_bind_names_python312.py +0 -0
  55. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_bind_names_python313.py +0 -0
  56. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_bind_names_python33.py +0 -0
  57. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_combine_imports.py +0 -0
  58. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_comprehension_rename.py +0 -0
  59. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_decorator_expressions.py +0 -0
  60. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_dict_expansion.py +0 -0
  61. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_folding.py +0 -0
  62. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_fstring.py +0 -0
  63. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_generic_types.py +0 -0
  64. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_hoist_literals.py +0 -0
  65. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_import.py +0 -0
  66. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_is_ast_node.py +0 -0
  67. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_iterable_unpacking.py +0 -0
  68. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_match.py +0 -0
  69. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_match_rename.py +0 -0
  70. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_name_generator.py +0 -0
  71. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_nonlocal.py +0 -0
  72. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_posargs.py +0 -0
  73. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_preserve_shebang.py +0 -0
  74. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_remove_annotations.py +0 -0
  75. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_remove_assert.py +0 -0
  76. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_remove_debug.py +0 -0
  77. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_remove_exception_brackets.py +0 -0
  78. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_remove_explicit_return_none.py +0 -0
  79. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_remove_literal_statements.py +0 -0
  80. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_remove_object.py +0 -0
  81. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_remove_pass.py +0 -0
  82. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_rename_builtins.py +0 -0
  83. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_slice.py +0 -0
  84. {python_minifier-2.11.1 → python_minifier-2.11.2}/test/test_type_param_defaults.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python_minifier
3
- Version: 2.11.1
3
+ Version: 2.11.2
4
4
  Summary: Transform Python source code into it's most compact representation
5
5
  Home-page: https://github.com/dflook/python-minifier
6
6
  Author: Daniel Flook
@@ -28,7 +28,7 @@ setup(
28
28
  long_description_content_type='text/markdown',
29
29
 
30
30
  python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <3.14',
31
- version='2.11.1',
31
+ version='2.11.2',
32
32
 
33
33
  classifiers=[
34
34
  'Development Status :: 5 - Production/Stable',
@@ -85,7 +85,8 @@ def arg_rename_in_place(node):
85
85
  return True
86
86
 
87
87
  if isinstance(func.namespace, ast.ClassDef) and not isinstance(func, ast.Lambda):
88
- if len(func.args.args) > 0 and node is func.args.args[0]:
88
+ all_args = (func.args.posonlyargs if hasattr(func.args, 'posonlyargs') else []) + func.args.args
89
+ if len(all_args) > 0 and node is all_args[0]:
89
90
  if len(func.decorator_list) == 0:
90
91
  # rename 'self'
91
92
  return True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python_minifier
3
- Version: 2.11.1
3
+ Version: 2.11.2
4
4
  Summary: Transform Python source code into it's most compact representation
5
5
  Home-page: https://github.com/dflook/python-minifier
6
6
  Author: Daniel Flook
@@ -164,6 +164,85 @@ class TestClass():
164
164
  actual_ast = rename_locals(source)
165
165
  assert_code(expected_ast, actual_ast)
166
166
 
167
+
168
+ def test_rename_posargs_in_place():
169
+ if sys.version_info < (3, 8):
170
+ pytest.skip('No posonlyargs in python < 3.8')
171
+
172
+ source = '''
173
+ def test(arg, /, arg2): return arg, arg2
174
+
175
+ class TestClass():
176
+ def mymethod(self, arg, /, arg2): return arg, arg2
177
+
178
+ @classmethod
179
+ def mymethod(cls, arg, /, arg2): return arg, arg2
180
+ '''
181
+ expected = '''
182
+ def test(A,/,arg2):return A,arg2
183
+ class TestClass:
184
+ def mymethod(B,A,/,arg2):return A,arg2
185
+ @classmethod
186
+ def mymethod(B,A,/,arg2):return A,arg2
187
+ '''
188
+
189
+ expected_ast = ast.parse(expected)
190
+ actual_ast = rename_locals(source)
191
+ assert_code(expected_ast, actual_ast)
192
+
193
+
194
+ def test_rename_kwargonlyargs_in_place():
195
+ if sys.version_info < (3, 0):
196
+ pytest.skip('No kwonlyargs in python < 3.0')
197
+
198
+ source = '''
199
+ def test(arg, arg2, *, arg3): return arg, arg2, arg3
200
+
201
+ class TestClass():
202
+ def mymethod(self, arg, arg2, *, arg3): return arg, arg2, arg3
203
+
204
+ @classmethod
205
+ def mymethod(cls, arg, arg2, *, arg3): return arg, arg2, arg3
206
+ '''
207
+ expected = '''
208
+ def test(arg,arg2,*,arg3):return arg,arg2,arg3
209
+ class TestClass:
210
+ def mymethod(A,arg,arg2,*,arg3):return arg,arg2,arg3
211
+ @classmethod
212
+ def mymethod(A,arg,arg2,*,arg3):return arg,arg2,arg3
213
+ '''
214
+
215
+ expected_ast = ast.parse(expected)
216
+ actual_ast = rename_locals(source)
217
+ assert_code(expected_ast, actual_ast)
218
+
219
+
220
+ def test_rename_posargs_kwargonlyargs_in_place():
221
+ if sys.version_info < (3, 8):
222
+ pytest.skip('No posonlyargs in python < 3.8')
223
+
224
+ source = '''
225
+ def test(arg, /, arg2, *, arg3): return arg, arg2, arg3
226
+
227
+ class TestClass():
228
+ def mymethod(self, arg, /, arg2, *, arg3): return arg, arg2, arg3
229
+
230
+ @classmethod
231
+ def mymethod(cls, arg, /, arg2, *, arg3): return arg, arg2, arg3
232
+ '''
233
+ expected = '''
234
+ def test(A,/,arg2,*,arg3):return A,arg2,arg3
235
+ class TestClass:
236
+ def mymethod(B,A,/,arg2,*,arg3):return A,arg2,arg3
237
+ @classmethod
238
+ def mymethod(B,A,/,arg2,*,arg3):return A,arg2,arg3
239
+ '''
240
+
241
+ expected_ast = ast.parse(expected)
242
+ actual_ast = rename_locals(source)
243
+ assert_code(expected_ast, actual_ast)
244
+
245
+
167
246
  def test_no_rename_long_arg():
168
247
  source = '''
169
248
  def f(this_is_my_long_argument_name):