python-minifier 2.11.2__py2-none-any.whl → 2.11.3__py2-none-any.whl

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 (43) hide show
  1. python_minifier/__init__.py +12 -8
  2. python_minifier/__init__.pyi +6 -1
  3. python_minifier/__main__.py +10 -7
  4. python_minifier/ast_annotation/__init__.py +82 -0
  5. python_minifier/ast_compare.py +1 -3
  6. python_minifier/ast_compat.py +38 -0
  7. python_minifier/ast_printer.py +8 -5
  8. python_minifier/expression_printer.py +14 -13
  9. python_minifier/f_string.py +13 -14
  10. python_minifier/ministring.py +3 -3
  11. python_minifier/module_printer.py +13 -14
  12. python_minifier/rename/__init__.py +1 -1
  13. python_minifier/rename/bind_names.py +2 -1
  14. python_minifier/rename/binding.py +39 -40
  15. python_minifier/rename/mapper.py +66 -50
  16. python_minifier/rename/rename_literals.py +17 -15
  17. python_minifier/rename/renamer.py +26 -28
  18. python_minifier/rename/resolve_names.py +8 -7
  19. python_minifier/rename/util.py +7 -5
  20. python_minifier/token_printer.py +3 -0
  21. python_minifier/transforms/combine_imports.py +0 -1
  22. python_minifier/transforms/constant_folding.py +16 -10
  23. python_minifier/transforms/remove_annotations.py +18 -16
  24. python_minifier/transforms/remove_annotations_options.py +3 -1
  25. python_minifier/transforms/remove_annotations_options.pyi +8 -7
  26. python_minifier/transforms/remove_asserts.py +1 -2
  27. python_minifier/transforms/remove_debug.py +4 -3
  28. python_minifier/transforms/remove_exception_brackets.py +12 -7
  29. python_minifier/transforms/remove_explicit_return_none.py +5 -4
  30. python_minifier/transforms/remove_literal_statements.py +5 -6
  31. python_minifier/transforms/remove_object_base.py +2 -1
  32. python_minifier/transforms/remove_pass.py +1 -2
  33. python_minifier/transforms/remove_posargs.py +3 -4
  34. python_minifier/transforms/suite_transformer.py +6 -5
  35. python_minifier/util.py +12 -18
  36. {python_minifier-2.11.2.dist-info → python_minifier-2.11.3.dist-info}/METADATA +1 -1
  37. python_minifier-2.11.3.dist-info/RECORD +45 -0
  38. python_minifier-2.11.2.dist-info/RECORD +0 -44
  39. {python_minifier-2.11.2.dist-info → python_minifier-2.11.3.dist-info}/LICENSE +0 -0
  40. {python_minifier-2.11.2.dist-info → python_minifier-2.11.3.dist-info}/WHEEL +0 -0
  41. {python_minifier-2.11.2.dist-info → python_minifier-2.11.3.dist-info}/entry_points.txt +0 -0
  42. {python_minifier-2.11.2.dist-info → python_minifier-2.11.3.dist-info}/top_level.txt +0 -0
  43. {python_minifier-2.11.2.dist-info → python_minifier-2.11.3.dist-info}/zip-safe +0 -0
@@ -1,14 +1,13 @@
1
1
  import python_minifier.ast_compat as ast
2
2
 
3
3
  from python_minifier.transforms.suite_transformer import SuiteTransformer
4
- from python_minifier.util import is_ast_node
4
+ from python_minifier.util import is_constant_node
5
5
 
6
6
 
7
7
  def find_doc(node):
8
8
 
9
- if isinstance(node, ast.Attribute):
10
- if node.attr == '__doc__':
11
- raise ValueError('__doc__ found!')
9
+ if isinstance(node, ast.Attribute) and node.attr == '__doc__':
10
+ raise ValueError('__doc__ found!')
12
11
 
13
12
  for child in ast.iter_child_nodes(node):
14
13
  find_doc(child)
@@ -18,7 +17,7 @@ def _doc_in_module(module):
18
17
  try:
19
18
  find_doc(module)
20
19
  return False
21
- except:
20
+ except Exception:
22
21
  return True
23
22
 
24
23
 
@@ -47,7 +46,7 @@ class RemoveLiteralStatements(SuiteTransformer):
47
46
  if not isinstance(node, ast.Expr):
48
47
  return False
49
48
 
50
- return is_ast_node(node.value, (ast.Num, ast.Str, 'NameConstant', 'Bytes'))
49
+ return is_constant_node(node.value, (ast.Num, ast.Str, ast.NameConstant, ast.Bytes))
51
50
 
52
51
  def suite(self, node_list, parent):
53
52
  without_literals = [self.visit(n) for n in node_list if not self.is_literal_statement(n)]
@@ -1,6 +1,7 @@
1
- import python_minifier.ast_compat as ast
2
1
  import sys
3
2
 
3
+ import python_minifier.ast_compat as ast
4
+
4
5
  from python_minifier.transforms.suite_transformer import SuiteTransformer
5
6
 
6
7
 
@@ -1,7 +1,6 @@
1
1
  import python_minifier.ast_compat as ast
2
2
 
3
3
  from python_minifier.transforms.suite_transformer import SuiteTransformer
4
- from python_minifier.util import is_ast_node
5
4
 
6
5
 
7
6
  class RemovePass(SuiteTransformer):
@@ -15,7 +14,7 @@ class RemovePass(SuiteTransformer):
15
14
  return self.visit(node)
16
15
 
17
16
  def suite(self, node_list, parent):
18
- without_pass = [self.visit(a) for a in filter(lambda n: not is_ast_node(n, ast.Pass), node_list)]
17
+ without_pass = [self.visit(a) for a in filter(lambda n: not isinstance(n, ast.Pass), node_list)]
19
18
 
20
19
  if len(without_pass) == 0:
21
20
  if isinstance(parent, ast.Module):
@@ -2,10 +2,9 @@ import python_minifier.ast_compat as ast
2
2
 
3
3
 
4
4
  def remove_posargs(node):
5
- if isinstance(node, ast.arguments):
6
- if hasattr(node, 'posonlyargs'):
7
- node.args = node.posonlyargs + node.args
8
- node.posonlyargs = []
5
+ if isinstance(node, ast.arguments) and hasattr(node, 'posonlyargs'):
6
+ node.args = node.posonlyargs + node.args
7
+ node.posonlyargs = []
9
8
 
10
9
  for child in ast.iter_child_nodes(node):
11
10
  remove_posargs(child)
@@ -1,7 +1,7 @@
1
1
  import python_minifier.ast_compat as ast
2
+ from python_minifier.ast_annotation import get_parent, add_parent as add_node_parent
2
3
 
3
4
  from python_minifier.rename.mapper import add_parent
4
- from python_minifier.util import is_ast_node
5
5
 
6
6
 
7
7
  class NodeVisitor(object):
@@ -13,7 +13,7 @@ class NodeVisitor(object):
13
13
 
14
14
  def generic_visit(self, node):
15
15
  """Called if no explicit visitor function exists for a node."""
16
- for field, value in ast.iter_fields(node):
16
+ for _field, value in ast.iter_fields(node):
17
17
  if isinstance(value, list):
18
18
  for item in value:
19
19
  if isinstance(item, ast.AST):
@@ -185,12 +185,13 @@ class SuiteTransformer(NodeVisitor):
185
185
 
186
186
  """
187
187
 
188
- if is_ast_node(node, (ast.FunctionDef, ast.Module, 'AsyncFunctionDef')):
188
+ if isinstance(node, (ast.FunctionDef, ast.Module, ast.AsyncFunctionDef)):
189
189
  return node
190
- return nearest_function_namespace(node.parent)
190
+ return nearest_function_namespace(get_parent(node))
191
191
 
192
192
  if namespace is None:
193
193
  namespace = nearest_function_namespace(parent)
194
194
 
195
- add_parent(child, parent=parent, namespace=namespace)
195
+ add_node_parent(child, parent=parent)
196
+ add_parent(child, namespace=namespace)
196
197
  return child
python_minifier/util.py CHANGED
@@ -1,13 +1,13 @@
1
1
  import python_minifier.ast_compat as ast
2
2
 
3
- def is_ast_node(node, types):
3
+
4
+ def is_constant_node(node, types):
4
5
  """
5
6
  Is a node one of the specified node types
6
7
 
7
- A node type may be an actual ast class, or a string naming one.
8
- types is a single node type or an iterable of many.
8
+ A node type may be an actual ast class or a tuple of many.
9
9
 
10
- If a node_type specified a specific Constant type (Str, Bytes, Num etc),
10
+ If types includes a specific Constant type (Str, Bytes, Num etc),
11
11
  returns true for Constant nodes of the correct type.
12
12
 
13
13
  :type node: ast.AST
@@ -19,29 +19,23 @@ def is_ast_node(node, types):
19
19
  if not isinstance(types, tuple):
20
20
  types = (types,)
21
21
 
22
- actual_types = []
23
22
  for node_type in types:
24
- if isinstance(node_type, str):
25
- node_type = getattr(ast, node_type, None)
26
- if node_type is not None:
27
- actual_types.append(node_type)
28
- else:
29
- actual_types.append(node_type)
23
+ assert not isinstance(node_type, str)
30
24
 
31
- if isinstance(node, tuple(actual_types)):
25
+ if isinstance(node, types):
32
26
  return True
33
27
 
34
- if hasattr(ast, 'Constant') and isinstance(node, ast.Constant):
28
+ if isinstance(node, ast.Constant):
35
29
  if type(node.value) in [type(None), type(True), type(False)]:
36
- return ast.NameConstant in actual_types
30
+ return ast.NameConstant in types
37
31
  elif isinstance(node.value, (int, float, complex)):
38
- return ast.Num in actual_types
32
+ return ast.Num in types
39
33
  elif isinstance(node.value, str):
40
- return ast.Str in actual_types
34
+ return ast.Str in types
41
35
  elif isinstance(node.value, bytes):
42
- return ast.Bytes in actual_types
36
+ return ast.Bytes in types
43
37
  elif node.value == Ellipsis:
44
- return ast.Ellipsis in actual_types
38
+ return ast.Ellipsis in types
45
39
  else:
46
40
  raise RuntimeError('Unknown Constant value %r' % type(node.value))
47
41
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-minifier
3
- Version: 2.11.2
3
+ Version: 2.11.3
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
@@ -0,0 +1,45 @@
1
+ python_minifier/__init__.py,sha256=UFi9vjNWyaNkXGyf_lssc261mdf5W_bMOiEZTGXYHb0,9534
2
+ python_minifier/__init__.pyi,sha256=NmY5y1_tM0WaUUcmGOEld_UHj-VHqO_c_d9SkDiQY6k,1219
3
+ python_minifier/__main__.py,sha256=RKeTffRWvexlVuVZZTjVQcN2sH7yEgZA-6S1JD8A4xI,11773
4
+ python_minifier/ast_compare.py,sha256=76iOfa2fA8zMeiRscijFr4n7PVbe3SNOLQ6adXFGtZs,3119
5
+ python_minifier/ast_compat.py,sha256=nubno_yFHtuoxbT7a7CtlcAfdNj9yhniKSfNoOsQ3Fw,2209
6
+ python_minifier/ast_printer.py,sha256=TlkyKl9_9ScWeop3W1TwXZ46MJWINfkJ7NvmULpwt4A,3254
7
+ python_minifier/expression_printer.py,sha256=AwkDTs-NJhLyDppE_zlgQdtQQTVQlxdOdgTtSt_DxT8,22465
8
+ python_minifier/f_string.py,sha256=CWGjip5uPvhAQ_gUof1R1eA0Dfko6ce6iAyqZATJ-JI,13945
9
+ python_minifier/ministring.py,sha256=R0xaAZqMlLu1Jm0aBVSI0n8KZiZV7PTs4RE4UbCmTy8,4359
10
+ python_minifier/module_printer.py,sha256=43vnyEe4VjKM6IqIKmmSflF9GWJPxOp5ANCe31Do350,25268
11
+ python_minifier/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ python_minifier/token_printer.py,sha256=UXOv2f-sg4gDpNLVbBLGrQsuLEiiovLXxP2izwdJOyg,9340
13
+ python_minifier/util.py,sha256=60iT3XkKlPlZhXQ1NuLB27Wv3ihl-gBC_WjOjEiFn-Q,1184
14
+ python_minifier/ast_annotation/__init__.py,sha256=BJ4gyS-_bytIZf0SP8JJG6FECWf8MUaUi3vOAfD60qQ,2259
15
+ python_minifier/rename/__init__.py,sha256=8DLEFgliakf_5T_m-l1Nd35QxKpM4h7RJyFVpjsxjWA,375
16
+ python_minifier/rename/bind_names.py,sha256=CCL2ZT2px___1yE5euO_Wv423DLQFIp5-D7m5RDV7d8,6918
17
+ python_minifier/rename/binding.py,sha256=WPospKLbZN7nnzDayJ55HMxuS-E5zvOE78RJkKiyPrE,15335
18
+ python_minifier/rename/mapper.py,sha256=h3dgg3JgUGQhW7oGwBX1syUgmt5AuaF_OP8dW5ImS5o,6482
19
+ python_minifier/rename/name_generator.py,sha256=70Klx2DteYRpBT8dr6jYDB31ARfinS42e08kKlWAzLg,1269
20
+ python_minifier/rename/rename_literals.py,sha256=dBe-6MsPDjzgQ_B5iz184PkEylxdOeBiTuZgeSME4bU,7246
21
+ python_minifier/rename/renamer.py,sha256=B9kNiTkWDw7i7tKQASrCZ4fXsjKf9AspFSUfuxQWZFs,6600
22
+ python_minifier/rename/resolve_names.py,sha256=VbePyUUqggvvcF3fAC6XMv6b3Kmb_cmlO9G7vf5Ti-c,4320
23
+ python_minifier/rename/util.py,sha256=ItJykxM_QRjIePMcKYo-LngmP5hLQZK-bOZIefg1cKA,5469
24
+ python_minifier/transforms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ python_minifier/transforms/combine_imports.py,sha256=7DkNBsTLiiEw01Epa2xj8zkAyVMG3pCTJNlZktqDwDI,2297
26
+ python_minifier/transforms/constant_folding.py,sha256=wcCtjHa0WfYHI0Encs3IPHjZgumkN-ijNerMZgXu_g4,4538
27
+ python_minifier/transforms/remove_annotations.py,sha256=qUCdl42yvq1g7B43d88EOz6Jf51A5zogYBlFHGnyugU,4938
28
+ python_minifier/transforms/remove_annotations_options.py,sha256=kzg-gEPwhrCZxsuzdpEWjqnhsyF89hnIPv1t-IRty64,1889
29
+ python_minifier/transforms/remove_annotations_options.pyi,sha256=jZp8hUQ-BfqU1qA_nsPiluMM-1jznSX3pzbmysvKv-c,518
30
+ python_minifier/transforms/remove_asserts.py,sha256=obccCHRSK6j5z0Slb4vVvK5kPVKobZNQo1HjJeX1N0g,738
31
+ python_minifier/transforms/remove_debug.py,sha256=vuWJPFBMPYZEcSU8oRZ8w41tWl16B0mxpVvxEu4PiwY,1869
32
+ python_minifier/transforms/remove_exception_brackets.py,sha256=hOUxrfsl9-u8M1kLbqJ6wR8PFtKWSmmyKdTDkh-XsDA,4214
33
+ python_minifier/transforms/remove_explicit_return_none.py,sha256=drXry0dejtMWLZJCkGh4d7fc89MqiUVCXgaonn6Como,1301
34
+ python_minifier/transforms/remove_literal_statements.py,sha256=mrxgSNtI2J1Nv9DaSiXMlrqvEj1lDAAY5_niWh8PmZg,1631
35
+ python_minifier/transforms/remove_object_base.py,sha256=j4se6OXyZK1lr_ABmGT0OivuCI55ZRzCMD_SNmrHwTU,703
36
+ python_minifier/transforms/remove_pass.py,sha256=S9e59nBEZ8rBBifvAhbPRDTfUA7s8_a7pSIsZbFZD2A,735
37
+ python_minifier/transforms/remove_posargs.py,sha256=aV0wFnGiDXu4uQBQP7-cB1uLSF3mamIq5-txvDg8BVo,314
38
+ python_minifier/transforms/suite_transformer.py,sha256=WZCVkkBSniWeEtBybVweeMmy-A1wC3lBIYSgxCHelBU,6324
39
+ python_minifier-2.11.3.dist-info/LICENSE,sha256=FzsyDHb8pAZupSGFjIOuHcHMlFf6N-aIxq9gOYGbNyE,1069
40
+ python_minifier-2.11.3.dist-info/METADATA,sha256=ABQoEpnuJclsz6POoi8W-9JvmF8YiVcCiDBcyBYjfPY,6453
41
+ python_minifier-2.11.3.dist-info/WHEEL,sha256=1VPi6hfNQaRRNuEdK_3dv9o8COtLGnHWJghhj4CQ28k,92
42
+ python_minifier-2.11.3.dist-info/entry_points.txt,sha256=aS7ZUWQeeys8lAbrmmEa2__Bg-anH1tUMyi9cKdTbO4,60
43
+ python_minifier-2.11.3.dist-info/top_level.txt,sha256=4SRDfWKi_KMq7LDrjlzUFoDCs6INYPtxc1Pun4z8LsU,16
44
+ python_minifier-2.11.3.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
45
+ python_minifier-2.11.3.dist-info/RECORD,,
@@ -1,44 +0,0 @@
1
- python_minifier/__init__.py,sha256=mr0_t3hEk5R7K2fcidew9nys0PTBrEGKaPaizDEgWqk,9456
2
- python_minifier/__init__.pyi,sha256=_B0ywdLZ_iES6Ubq3ajuHbBS6Lr9J_InxJWbPo38iuQ,1214
3
- python_minifier/__main__.py,sha256=q2BU9CC5G328DFdfHmxg8auAwZTEc6pbM869p6583I4,11746
4
- python_minifier/ast_compare.py,sha256=ZxPTh7JwiuMo81e7jpOAnHsRAq7BXj3jCAeBu4K5kyI,3164
5
- python_minifier/ast_compat.py,sha256=ZOcHXNiIh9NFjFbLMndiewuT664ZtB_w0_AtlUV710Q,1620
6
- python_minifier/ast_printer.py,sha256=Nsh-8FM6-tsuLMfQBr9s32idQGnk8WZomJkJT_zLuAE,3222
7
- python_minifier/expression_printer.py,sha256=7r0Z0WDgYAaLwHg0STMNp70zSt4aVa45MJUGmTxxkqY,22423
8
- python_minifier/f_string.py,sha256=30cSPIzqQ7_oUX4UPWJWuXjWfPWWni9RWI85Qt_HisY,14036
9
- python_minifier/ministring.py,sha256=1J_nVWakRpW98yT706xe57mP0Rf45N1ivjAk7-AnOTA,4378
10
- python_minifier/module_printer.py,sha256=IXkvwC-EtPxNmzArGACqJhYF0sVX-rpHOxwSsoqFbYU,25342
11
- python_minifier/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- python_minifier/token_printer.py,sha256=PKstW8JBpmk_C7S3t-SCx3nO-HStE1Ac3RxYl4XX_2g,9337
13
- python_minifier/util.py,sha256=hmMW4z8rTyO90b5cASxOVZyNGx_ohFWI5Pr4vAeodpo,1535
14
- python_minifier/rename/__init__.py,sha256=i-Su9VHxOwWGPMmURH1GUaFdtDZNYkKlbYdTUevgRi0,375
15
- python_minifier/rename/bind_names.py,sha256=TaR8VIjmKVRJvnMBjxbc52uTFVgS6OE9vm67i-mavJM,6941
16
- python_minifier/rename/binding.py,sha256=yOP3RFXzP7E0mVqdARNuWuKGmeqQyh42L8WhSXI51EE,15347
17
- python_minifier/rename/mapper.py,sha256=FU-rGFvd6N8vlTixWsEeNrQbL4ku9bldFJUL_O01EkU,6598
18
- python_minifier/rename/name_generator.py,sha256=70Klx2DteYRpBT8dr6jYDB31ARfinS42e08kKlWAzLg,1269
19
- python_minifier/rename/rename_literals.py,sha256=n_XHME6mhT9pR_RTiRjWo3YWvVuQoPNBERyCOgNrpBQ,7156
20
- python_minifier/rename/renamer.py,sha256=RitT7xFr8G1V3wQtxTvxgr1EXbQM6puUeK39CSUYtMo,6706
21
- python_minifier/rename/resolve_names.py,sha256=J3Yv32uc2KPfsTa-p9hUNNCEbQDDS-b0na6EUqVeGAo,4356
22
- python_minifier/rename/util.py,sha256=UchrXPibRr338POF-64zWRfl5OoxwUrE4uOnQstni2s,5451
23
- python_minifier/transforms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- python_minifier/transforms/combine_imports.py,sha256=rXbX8ygOMgDti1B_zwU5trEIRoDrGjUpQcC8VvQMioI,2298
25
- python_minifier/transforms/constant_folding.py,sha256=LWH2z210i9ZTFY8rgjEayifB7DPYkb6XSdHEQATurF4,4435
26
- python_minifier/transforms/remove_annotations.py,sha256=uBjka4wt22hPJQ66xpCj5B5HaFL3gZ6gr6OsGgq9yo4,4704
27
- python_minifier/transforms/remove_annotations_options.py,sha256=K-E9-TQlCyGRO-YKDfri0kyLevYxQweZhyViwiRAM7Y,1867
28
- python_minifier/transforms/remove_annotations_options.pyi,sha256=BUz465OPI88YKMpDLyLfPwiJ50sL0nBJtUf6Vot23Sc,575
29
- python_minifier/transforms/remove_asserts.py,sha256=jatGfsPeSzPuEHhTg9c6XaJRInM_t74zRmSEB1FoYYE,784
30
- python_minifier/transforms/remove_debug.py,sha256=2LoWJVZchhXx2O5rf1nou-_IlWkqYOu3_V5t2Wllly0,1856
31
- python_minifier/transforms/remove_exception_brackets.py,sha256=_-fQnjiiZCCkljC-GoG4XH9YzvRwQNfFy1KbA6_UG04,4110
32
- python_minifier/transforms/remove_explicit_return_none.py,sha256=1k4dzPneDPg9UJBKrj-b9YKDkyXlFVd9TzyuAjjzjSg,1287
33
- python_minifier/transforms/remove_literal_statements.py,sha256=dlYONJ-m5oj1zZITHsLY7O6QZ52rl1k2hHWbkqdxJNM,1619
34
- python_minifier/transforms/remove_object_base.py,sha256=MvI1XwwB9zcwdClhyTeoD6Won4VmzNdZZ0kcB4yBgt8,702
35
- python_minifier/transforms/remove_pass.py,sha256=A2c4psmYxQ6cYnk6u2KISZW6XhpDEaY-1zFx9Gy6RqI,781
36
- python_minifier/transforms/remove_posargs.py,sha256=ecLdKGr0kKx6uf7OXiB_SgF57xWRiDq6ixn5OBSVi7Y,330
37
- python_minifier/transforms/suite_transformer.py,sha256=zzQKf8QIVCHJ0IGF8i0yBi7kbyazaDQxrnu6eB4v6bg,6246
38
- python_minifier-2.11.2.dist-info/LICENSE,sha256=FzsyDHb8pAZupSGFjIOuHcHMlFf6N-aIxq9gOYGbNyE,1069
39
- python_minifier-2.11.2.dist-info/METADATA,sha256=OmFILwGLprKDfar9hQ6pN66fBekDGxIU7fUluDCXLZs,6453
40
- python_minifier-2.11.2.dist-info/WHEEL,sha256=1VPi6hfNQaRRNuEdK_3dv9o8COtLGnHWJghhj4CQ28k,92
41
- python_minifier-2.11.2.dist-info/entry_points.txt,sha256=aS7ZUWQeeys8lAbrmmEa2__Bg-anH1tUMyi9cKdTbO4,60
42
- python_minifier-2.11.2.dist-info/top_level.txt,sha256=4SRDfWKi_KMq7LDrjlzUFoDCs6INYPtxc1Pun4z8LsU,16
43
- python_minifier-2.11.2.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
44
- python_minifier-2.11.2.dist-info/RECORD,,