sourcery-nightly 1.16.1b45__py2.py3-none-win_amd64.whl → 1.16.1b47__py2.py3-none-win_amd64.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 (252) hide show
  1. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/grpc/_cython/cygrpc.pyd +0 -0
  2. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/languages.so +0 -0
  3. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/errorcodes.pyd +0 -0
  4. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/expandtype.pyd +0 -0
  5. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/nodes.pyd +0 -0
  6. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/options.pyd +0 -0
  7. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/plugin.pyd +0 -0
  8. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/plugins/common.pyd +0 -0
  9. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/plugins/dataclasses.pyd +0 -0
  10. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/semanal.pyd +0 -0
  11. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/server/trigger.pyd +0 -0
  12. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/state.pyd +0 -0
  13. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/typeops.pyd +0 -0
  14. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/types.pyd +0 -0
  15. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/typevars.pyd +0 -0
  16. sourcery_nightly-1.16.1b47.data/purelib/sourcery/mypy/util.pyd +0 -0
  17. sourcery_nightly-1.16.1b47.data/purelib/sourcery/orjson/orjson.pyd +0 -0
  18. sourcery_nightly-1.16.1b47.data/purelib/sourcery/pydantic_core/_pydantic_core.pyd +0 -0
  19. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/sourcery.exe +0 -0
  20. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/tree_sitter/binding.pyd +0 -0
  21. {sourcery_nightly-1.16.1b45.data/purelib/sourcery/lib2to3 → sourcery_nightly-1.16.1b47.data/purelib/sourcery/yapf_third_party/_ylib2to3}/Grammar.txt +252 -196
  22. {sourcery_nightly-1.16.1b45.data/purelib/sourcery/lib2to3 → sourcery_nightly-1.16.1b47.data/purelib/sourcery/yapf_third_party/_ylib2to3}/PatternGrammar.txt +28 -28
  23. {sourcery_nightly-1.16.1b45.dist-info → sourcery_nightly-1.16.1b47.dist-info}/METADATA +2 -2
  24. sourcery_nightly-1.16.1b47.dist-info/RECORD +223 -0
  25. sourcery_nightly-1.16.1b45.data/purelib/sourcery/dbghelp.dll +0 -0
  26. sourcery_nightly-1.16.1b45.data/purelib/sourcery/lib2to3/Grammar3.10.11.final.0.pickle +0 -0
  27. sourcery_nightly-1.16.1b45.data/purelib/sourcery/lib2to3/PatternGrammar3.10.11.final.0.pickle +0 -0
  28. sourcery_nightly-1.16.1b45.data/purelib/sourcery/lib2to3/tests/data/README +0 -6
  29. sourcery_nightly-1.16.1b45.data/purelib/sourcery/orjson/orjson.pyd +0 -0
  30. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/annotated_types.pyd +0 -0
  31. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/class_validators.pyd +0 -0
  32. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/color.pyd +0 -0
  33. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/config.pyd +0 -0
  34. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/dataclasses.pyd +0 -0
  35. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/datetime_parse.pyd +0 -0
  36. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/decorator.pyd +0 -0
  37. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/env_settings.pyd +0 -0
  38. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/error_wrappers.pyd +0 -0
  39. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/errors.pyd +0 -0
  40. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/fields.pyd +0 -0
  41. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/json.pyd +0 -0
  42. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/main.pyd +0 -0
  43. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/mypy.pyd +0 -0
  44. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/networks.pyd +0 -0
  45. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/parse.pyd +0 -0
  46. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/schema.pyd +0 -0
  47. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/tools.pyd +0 -0
  48. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/types.pyd +0 -0
  49. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/typing.pyd +0 -0
  50. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/utils.pyd +0 -0
  51. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/validators.pyd +0 -0
  52. sourcery_nightly-1.16.1b45.data/purelib/sourcery/pydantic/version.pyd +0 -0
  53. sourcery_nightly-1.16.1b45.dist-info/RECORD +0 -235
  54. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/Shapely.libs/geos-2c37bebf00da028367beef6fb37256e0.dll +0 -0
  55. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/Shapely.libs/geos_c-84d02d5b10aa37e3ab60a885dc5b531b.dll +0 -0
  56. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/Shapely.libs/msvcp140.dll +0 -0
  57. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_asyncio.pyd +0 -0
  58. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_bz2.pyd +0 -0
  59. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_cffi_backend.pyd +0 -0
  60. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_ctypes.pyd +0 -0
  61. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_decimal.pyd +0 -0
  62. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_elementtree.pyd +0 -0
  63. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_hashlib.pyd +0 -0
  64. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_lzma.pyd +0 -0
  65. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_multiprocessing.pyd +0 -0
  66. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_overlapped.pyd +0 -0
  67. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_queue.pyd +0 -0
  68. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_ruamel_yaml.pyd +0 -0
  69. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_socket.pyd +0 -0
  70. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_sqlite3.pyd +0 -0
  71. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_ssl.pyd +0 -0
  72. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_uuid.pyd +0 -0
  73. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/_zoneinfo.pyd +0 -0
  74. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/aiohttp/_helpers.pyd +0 -0
  75. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/aiohttp/_http_parser.pyd +0 -0
  76. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/aiohttp/_http_writer.pyd +0 -0
  77. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/aiohttp/_websocket.pyd +0 -0
  78. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/_width_table.pyd +0 -0
  79. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/brackets.pyd +0 -0
  80. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/cache.pyd +0 -0
  81. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/comments.pyd +0 -0
  82. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/const.pyd +0 -0
  83. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/handle_ipynb_magics.pyd +0 -0
  84. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/linegen.pyd +0 -0
  85. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/lines.pyd +0 -0
  86. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/mode.pyd +0 -0
  87. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/nodes.pyd +0 -0
  88. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/numerics.pyd +0 -0
  89. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/parsing.pyd +0 -0
  90. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/ranges.pyd +0 -0
  91. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/resources/black.schema.json +0 -0
  92. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/rusty.pyd +0 -0
  93. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/strings.pyd +0 -0
  94. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/black/trans.pyd +0 -0
  95. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/Grammar.txt +0 -0
  96. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/LICENSE +0 -0
  97. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/PatternGrammar.txt +0 -0
  98. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/README +0 -0
  99. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/pgen2/driver.pyd +0 -0
  100. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/pgen2/grammar.pyd +0 -0
  101. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/pgen2/parse.pyd +0 -0
  102. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/pgen2/pgen.pyd +0 -0
  103. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/pgen2/token.pyd +0 -0
  104. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/pgen2/tokenize.pyd +0 -0
  105. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/pygram.pyd +0 -0
  106. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/blib2to3/pytree.pyd +0 -0
  107. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/certifi/cacert.pem +0 -0
  108. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/charset_normalizer/md.pyd +0 -0
  109. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/charset_normalizer/md__mypyc.pyd +0 -0
  110. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/coding-assistant-app/dist/assets/index.css +0 -0
  111. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/coding-assistant-app/dist/assets/index.js +0 -0
  112. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/coding-assistant-app/dist/assets/sourcery-logo.svg +0 -0
  113. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/cryptography/hazmat/bindings/_openssl.pyd +0 -0
  114. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/cryptography/hazmat/bindings/_rust.pyd +0 -0
  115. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/frozenlist/_frozenlist.pyd +0 -0
  116. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/geos-2c37bebf00da028367beef6fb37256e0.dll +0 -0
  117. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/google/_upb/_message.pyd +0 -0
  118. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/google_crc32c/_crc32c.pyd +0 -0
  119. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/greenlet/_greenlet.pyd +0 -0
  120. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/grpc/_cython/_credentials/roots.pem +0 -0
  121. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/MessinaSansMonoWeb-Bold.woff +0 -0
  122. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/MessinaSansMonoWeb-Regular.woff +0 -0
  123. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/MessinaSansWeb-Bold.woff +0 -0
  124. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/MessinaSansWeb-Regular.woff +0 -0
  125. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/asset-manifest.json +0 -0
  126. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/favicon.png +0 -0
  127. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/index.html +0 -0
  128. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/input.css +0 -0
  129. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/manifest.json +0 -0
  130. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/output.css +0 -0
  131. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/robots.txt +0 -0
  132. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/css/main.ed53125f.css +0 -0
  133. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/css/main.ed53125f.css.map +0 -0
  134. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/js/main.658b590c.js +0 -0
  135. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/js/main.658b590c.js.LICENSE.txt +0 -0
  136. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/js/main.658b590c.js.map +0 -0
  137. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/icons.07ed0b60c13965581675.woff +0 -0
  138. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/icons.33055a2699783178df55.svg +0 -0
  139. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/icons.e3d35e8153c5ffaa069f.eot +0 -0
  140. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/icons.f39232cd335dc12e7d4f.woff2 +0 -0
  141. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/icons.fdecd2d880938cae502a.ttf +0 -0
  142. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/javascript-original.7398a2b698ded0287e177bf456f9fd50.svg +0 -0
  143. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/lower-bg.ef732f44d29337d626ef.svg +0 -0
  144. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/python-original.ffa1251f749f6ab8768c5f32548e5b14.svg +0 -0
  145. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/simple-bg.5d316ef4d19ee3b7987c.svg +0 -0
  146. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/sourcery-logo.ab9811e301fd9354cd78e9d3500b014d.svg +0 -0
  147. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/hub/static/static/media/typescript-original.3505cfe6fdd885b1efaa87decf82f4d9.svg +0 -0
  148. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/libcrypto-1_1.dll +0 -0
  149. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/libffi-7.dll +0 -0
  150. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/libssl-1_1.dll +0 -0
  151. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/linguist-languages.yml +0 -0
  152. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/markupsafe/_speedups.pyd +0 -0
  153. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/msvcp140.dll +0 -0
  154. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/multidict/_multidict.pyd +0 -0
  155. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/private_rules/refactorings/identity-comprehension.yaml +0 -0
  156. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/private_rules/refactorings/list-literal.yaml +0 -0
  157. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/public_rules/LICENSE +0 -0
  158. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/public_rules/README.md +0 -0
  159. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/public_rules/google-python-style-guide.yaml +0 -0
  160. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/public_rules/remove-debugging-statements.yaml +0 -0
  161. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/public_rules/use-fstring.yaml +0 -0
  162. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/pyexpat.pyd +0 -0
  163. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/pysolvers.pyd +0 -0
  164. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/python3.dll +0 -0
  165. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/python310.dll +0 -0
  166. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/regex/_regex.pyd +0 -0
  167. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/java/java-rules.yaml +0 -0
  168. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/assignment-operator.yaml +0 -0
  169. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/avoid-function-declarations-in-blocks.yaml +0 -0
  170. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/avoid-infinite-loops.yaml +0 -0
  171. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/avoid-jumping-in-finally.yaml +0 -0
  172. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/avoid-using-var.yaml +0 -0
  173. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/binary-operator-identity.yaml +0 -0
  174. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/combine-object-destructuring.yaml +0 -0
  175. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/de-morgan.yaml +0 -0
  176. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/dont-concatenate-string-literals.yaml +0 -0
  177. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/dont-negate-is-instanceof-operands.yaml +0 -0
  178. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/dont-reassign-caught-exceptions.yaml +0 -0
  179. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/dont-reassign-foreach-variables.yaml +0 -0
  180. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/dont-reassign-parameters.yaml +0 -0
  181. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/dont-self-assign-variables.yaml +0 -0
  182. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/dont-shadow-arguments.yaml +0 -0
  183. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/dont-use-with.yaml +0 -0
  184. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/dont-use-wrappers-for-builtins.yaml +0 -0
  185. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/flatten-nested-try.yaml +0 -0
  186. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/flip-comparison.yaml +0 -0
  187. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/generators-should-yield.yaml +0 -0
  188. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/inline-immediately-returned-variable.yaml +0 -0
  189. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/invert-ternary.yaml +0 -0
  190. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/max-min.yaml +0 -0
  191. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/merge-assign-operators.yaml +0 -0
  192. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/merge-else-if.yaml +0 -0
  193. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/merge_nested_ifs.yaml +0 -0
  194. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/misplaced-break-or-continue.yaml +0 -0
  195. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/no-eval.yaml +0 -0
  196. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/no-new-function.yaml +0 -0
  197. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/no-new-symbol.yaml +0 -0
  198. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/only-delete-object-properties.yaml +0 -0
  199. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/possible-incorrect-bitwise-operator.yaml +0 -0
  200. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/prefer-arrow-callback.yaml +0 -0
  201. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/remove-redundant-boolean.yaml +0 -0
  202. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/remove-redundant-if-statement.yaml +0 -0
  203. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/remove-redundant-slice-index.yaml +0 -0
  204. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/remove-unreachable-code.yaml +0 -0
  205. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/return-outside-function.yaml +0 -0
  206. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/simplify-ternary.yaml +0 -0
  207. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/throw-new-errors.yaml +0 -0
  208. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/use-array-literal.yaml +0 -0
  209. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/use-braces.yaml +0 -0
  210. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/use-object-destructuring.yaml +0 -0
  211. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/use-ternary-operator.yaml +0 -0
  212. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/while-guard-to-condition.yaml +0 -0
  213. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/wrap-immediately-invoked-function-expressions.yaml +0 -0
  214. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/javascript/yield-outside-generator.yaml +0 -0
  215. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/break-or-continue-outside-loop.yaml +0 -0
  216. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/dict-literal.yaml +0 -0
  217. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/merge-nested-ifs.yaml +0 -0
  218. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/no-complex-code-in-tests.yaml +0 -0
  219. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/or-if-exp-identity.yaml +0 -0
  220. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/pandas-chain-methods.yaml +0 -0
  221. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/raise-specific-error.yaml +0 -0
  222. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/remove-none-from-default-get.yaml +0 -0
  223. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/remove-redundant-path-exists.yaml +0 -0
  224. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/remove-unit-step-from-range.yaml +0 -0
  225. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/remove-zero-from-range.yaml +0 -0
  226. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/simplify-constant-sum.yaml +0 -0
  227. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/swap-if-expression.yaml +0 -0
  228. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/tuple-literal.yaml +0 -0
  229. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/use-iloc-for-indexing.yaml +0 -0
  230. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/use-isna.yaml +0 -0
  231. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/use-or-for-fallback.yaml +0 -0
  232. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/useless-else-on-loop.yaml +0 -0
  233. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/rules/python/while-guard-to-condition.yaml +0 -0
  234. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/select.pyd +0 -0
  235. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/shapely/speedups/_speedups.pyd +0 -0
  236. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/sqlalchemy/cimmutabledict.pyd +0 -0
  237. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/sqlalchemy/cprocessors.pyd +0 -0
  238. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/sqlalchemy/cresultproxy.pyd +0 -0
  239. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/sqlite3.dll +0 -0
  240. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/tiktoken/_tiktoken.pyd +0 -0
  241. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/ujson.pyd +0 -0
  242. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/unicodedata.pyd +0 -0
  243. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/vcruntime140.dll +0 -0
  244. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/vcruntime140_1.dll +0 -0
  245. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/wrapper.py +0 -0
  246. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/yaml/_yaml.pyd +0 -0
  247. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/yarl/_quoting_c.pyd +0 -0
  248. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/zstandard/_cffi.pyd +0 -0
  249. {sourcery_nightly-1.16.1b45.data → sourcery_nightly-1.16.1b47.data}/purelib/sourcery/zstandard/backend_c.pyd +0 -0
  250. {sourcery_nightly-1.16.1b45.dist-info → sourcery_nightly-1.16.1b47.dist-info}/WHEEL +0 -0
  251. {sourcery_nightly-1.16.1b45.dist-info → sourcery_nightly-1.16.1b47.dist-info}/entry_points.txt +0 -0
  252. {sourcery_nightly-1.16.1b45.dist-info → sourcery_nightly-1.16.1b47.dist-info}/top_level.txt +0 -0
@@ -1,196 +1,252 @@
1
- # Grammar for 2to3. This grammar supports Python 2.x and 3.x.
2
-
3
- # NOTE WELL: You should also follow all the steps listed at
4
- # https://devguide.python.org/grammar/
5
-
6
- # Start symbols for the grammar:
7
- # file_input is a module or sequence of commands read from an input file;
8
- # single_input is a single interactive statement;
9
- # eval_input is the input for the eval() and input() functions.
10
- # NB: compound_stmt in single_input is followed by extra NEWLINE!
11
- file_input: (NEWLINE | stmt)* ENDMARKER
12
- single_input: NEWLINE | simple_stmt | compound_stmt NEWLINE
13
- eval_input: testlist NEWLINE* ENDMARKER
14
-
15
- decorator: '@' dotted_name [ '(' [arglist] ')' ] NEWLINE
16
- decorators: decorator+
17
- decorated: decorators (classdef | funcdef | async_funcdef)
18
- async_funcdef: ASYNC funcdef
19
- funcdef: 'def' NAME parameters ['->' test] ':' suite
20
- parameters: '(' [typedargslist] ')'
21
-
22
- # The following definition for typedarglist is equivalent to this set of rules:
23
- #
24
- # arguments = argument (',' argument)*
25
- # argument = tfpdef ['=' test]
26
- # kwargs = '**' tname [',']
27
- # args = '*' [tname]
28
- # kwonly_kwargs = (',' argument)* [',' [kwargs]]
29
- # args_kwonly_kwargs = args kwonly_kwargs | kwargs
30
- # poskeyword_args_kwonly_kwargs = arguments [',' [args_kwonly_kwargs]]
31
- # typedargslist_no_posonly = poskeyword_args_kwonly_kwargs | args_kwonly_kwargs
32
- # typedarglist = arguments ',' '/' [',' [typedargslist_no_posonly]])|(typedargslist_no_posonly)"
33
- #
34
- # It needs to be fully expanded to allow our LL(1) parser to work on it.
35
-
36
- typedargslist: tfpdef ['=' test] (',' tfpdef ['=' test])* ',' '/' [
37
- ',' [((tfpdef ['=' test] ',')* ('*' [tname] (',' tname ['=' test])*
38
- [',' ['**' tname [',']]] | '**' tname [','])
39
- | tfpdef ['=' test] (',' tfpdef ['=' test])* [','])]
40
- ] | ((tfpdef ['=' test] ',')* ('*' [tname] (',' tname ['=' test])*
41
- [',' ['**' tname [',']]] | '**' tname [','])
42
- | tfpdef ['=' test] (',' tfpdef ['=' test])* [','])
43
-
44
- tname: NAME [':' test]
45
- tfpdef: tname | '(' tfplist ')'
46
- tfplist: tfpdef (',' tfpdef)* [',']
47
-
48
- # The following definition for varargslist is equivalent to this set of rules:
49
- #
50
- # arguments = argument (',' argument )*
51
- # argument = vfpdef ['=' test]
52
- # kwargs = '**' vname [',']
53
- # args = '*' [vname]
54
- # kwonly_kwargs = (',' argument )* [',' [kwargs]]
55
- # args_kwonly_kwargs = args kwonly_kwargs | kwargs
56
- # poskeyword_args_kwonly_kwargs = arguments [',' [args_kwonly_kwargs]]
57
- # vararglist_no_posonly = poskeyword_args_kwonly_kwargs | args_kwonly_kwargs
58
- # varargslist = arguments ',' '/' [','[(vararglist_no_posonly)]] | (vararglist_no_posonly)
59
- #
60
- # It needs to be fully expanded to allow our LL(1) parser to work on it.
61
-
62
- varargslist: vfpdef ['=' test ](',' vfpdef ['=' test])* ',' '/' [',' [
63
- ((vfpdef ['=' test] ',')* ('*' [vname] (',' vname ['=' test])*
64
- [',' ['**' vname [',']]] | '**' vname [','])
65
- | vfpdef ['=' test] (',' vfpdef ['=' test])* [','])
66
- ]] | ((vfpdef ['=' test] ',')*
67
- ('*' [vname] (',' vname ['=' test])* [',' ['**' vname [',']]]| '**' vname [','])
68
- | vfpdef ['=' test] (',' vfpdef ['=' test])* [','])
69
-
70
- vname: NAME
71
- vfpdef: vname | '(' vfplist ')'
72
- vfplist: vfpdef (',' vfpdef)* [',']
73
-
74
- stmt: simple_stmt | compound_stmt
75
- simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE
76
- small_stmt: (expr_stmt | print_stmt | del_stmt | pass_stmt | flow_stmt |
77
- import_stmt | global_stmt | exec_stmt | assert_stmt)
78
- expr_stmt: testlist_star_expr (annassign | augassign (yield_expr|testlist) |
79
- ('=' (yield_expr|testlist_star_expr))*)
80
- annassign: ':' test ['=' test]
81
- testlist_star_expr: (test|star_expr) (',' (test|star_expr))* [',']
82
- augassign: ('+=' | '-=' | '*=' | '@=' | '/=' | '%=' | '&=' | '|=' | '^=' |
83
- '<<=' | '>>=' | '**=' | '//=')
84
- # For normal and annotated assignments, additional restrictions enforced by the interpreter
85
- print_stmt: 'print' ( [ test (',' test)* [','] ] |
86
- '>>' test [ (',' test)+ [','] ] )
87
- del_stmt: 'del' exprlist
88
- pass_stmt: 'pass'
89
- flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt
90
- break_stmt: 'break'
91
- continue_stmt: 'continue'
92
- return_stmt: 'return' [testlist_star_expr]
93
- yield_stmt: yield_expr
94
- raise_stmt: 'raise' [test ['from' test | ',' test [',' test]]]
95
- import_stmt: import_name | import_from
96
- import_name: 'import' dotted_as_names
97
- import_from: ('from' ('.'* dotted_name | '.'+)
98
- 'import' ('*' | '(' import_as_names ')' | import_as_names))
99
- import_as_name: NAME ['as' NAME]
100
- dotted_as_name: dotted_name ['as' NAME]
101
- import_as_names: import_as_name (',' import_as_name)* [',']
102
- dotted_as_names: dotted_as_name (',' dotted_as_name)*
103
- dotted_name: NAME ('.' NAME)*
104
- global_stmt: ('global' | 'nonlocal') NAME (',' NAME)*
105
- exec_stmt: 'exec' expr ['in' test [',' test]]
106
- assert_stmt: 'assert' test [',' test]
107
-
108
- compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated | async_stmt
109
- async_stmt: ASYNC (funcdef | with_stmt | for_stmt)
110
- if_stmt: 'if' namedexpr_test ':' suite ('elif' namedexpr_test ':' suite)* ['else' ':' suite]
111
- while_stmt: 'while' namedexpr_test ':' suite ['else' ':' suite]
112
- for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
113
- try_stmt: ('try' ':' suite
114
- ((except_clause ':' suite)+
115
- ['else' ':' suite]
116
- ['finally' ':' suite] |
117
- 'finally' ':' suite))
118
- with_stmt: 'with' with_item (',' with_item)* ':' suite
119
- with_item: test ['as' expr]
120
- with_var: 'as' expr
121
- # NB compile.c makes sure that the default except clause is last
122
- except_clause: 'except' [test [(',' | 'as') test]]
123
- suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
124
-
125
- # Backward compatibility cruft to support:
126
- # [ x for x in lambda: True, lambda: False if x() ]
127
- # even while also allowing:
128
- # lambda x: 5 if x else 2
129
- # (But not a mix of the two)
130
- testlist_safe: old_test [(',' old_test)+ [',']]
131
- old_test: or_test | old_lambdef
132
- old_lambdef: 'lambda' [varargslist] ':' old_test
133
-
134
- namedexpr_test: test [':=' test]
135
- test: or_test ['if' or_test 'else' test] | lambdef
136
- or_test: and_test ('or' and_test)*
137
- and_test: not_test ('and' not_test)*
138
- not_test: 'not' not_test | comparison
139
- comparison: expr (comp_op expr)*
140
- comp_op: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'|'is'|'is' 'not'
141
- star_expr: '*' expr
142
- expr: xor_expr ('|' xor_expr)*
143
- xor_expr: and_expr ('^' and_expr)*
144
- and_expr: shift_expr ('&' shift_expr)*
145
- shift_expr: arith_expr (('<<'|'>>') arith_expr)*
146
- arith_expr: term (('+'|'-') term)*
147
- term: factor (('*'|'@'|'/'|'%'|'//') factor)*
148
- factor: ('+'|'-'|'~') factor | power
149
- power: [AWAIT] atom trailer* ['**' factor]
150
- atom: ('(' [yield_expr|testlist_gexp] ')' |
151
- '[' [listmaker] ']' |
152
- '{' [dictsetmaker] '}' |
153
- '`' testlist1 '`' |
154
- NAME | NUMBER | STRING+ | '.' '.' '.')
155
- listmaker: (namedexpr_test|star_expr) ( comp_for | (',' (namedexpr_test|star_expr))* [','] )
156
- testlist_gexp: (namedexpr_test|star_expr) ( comp_for | (',' (namedexpr_test|star_expr))* [','] )
157
- lambdef: 'lambda' [varargslist] ':' test
158
- trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
159
- subscriptlist: subscript (',' subscript)* [',']
160
- subscript: test | [test] ':' [test] [sliceop]
161
- sliceop: ':' [test]
162
- exprlist: (expr|star_expr) (',' (expr|star_expr))* [',']
163
- testlist: test (',' test)* [',']
164
- dictsetmaker: ( ((test ':' test | '**' expr)
165
- (comp_for | (',' (test ':' test | '**' expr))* [','])) |
166
- ((test | star_expr)
167
- (comp_for | (',' (test | star_expr))* [','])) )
168
-
169
- classdef: 'class' NAME ['(' [arglist] ')'] ':' suite
170
-
171
- arglist: argument (',' argument)* [',']
172
-
173
- # "test '=' test" is really "keyword '=' test", but we have no such token.
174
- # These need to be in a single rule to avoid grammar that is ambiguous
175
- # to our LL(1) parser. Even though 'test' includes '*expr' in star_expr,
176
- # we explicitly match '*' here, too, to give it proper precedence.
177
- # Illegal combinations and orderings are blocked in ast.c:
178
- # multiple (test comp_for) arguments are blocked; keyword unpackings
179
- # that precede iterable unpackings are blocked; etc.
180
- argument: ( test [comp_for] |
181
- test ':=' test |
182
- test '=' test |
183
- '**' test |
184
- '*' test )
185
-
186
- comp_iter: comp_for | comp_if
187
- comp_for: [ASYNC] 'for' exprlist 'in' testlist_safe [comp_iter]
188
- comp_if: 'if' old_test [comp_iter]
189
-
190
- testlist1: test (',' test)*
191
-
192
- # not used in grammar, but may appear in "node" passed from Parser to Compiler
193
- encoding_decl: NAME
194
-
195
- yield_expr: 'yield' [yield_arg]
196
- yield_arg: 'from' test | testlist_star_expr
1
+ # Grammar for 2to3. This grammar supports Python 2.x and 3.x.
2
+
3
+ # NOTE WELL: You should also follow all the steps listed at
4
+ # https://devguide.python.org/grammar/
5
+
6
+ # Start symbols for the grammar:
7
+ # file_input is a module or sequence of commands read from an input file;
8
+ # single_input is a single interactive statement;
9
+ # eval_input is the input for the eval() and input() functions.
10
+ # NB: compound_stmt in single_input is followed by extra NEWLINE!
11
+ file_input: (NEWLINE | stmt)* ENDMARKER
12
+ single_input: NEWLINE | simple_stmt | compound_stmt NEWLINE
13
+ eval_input: testlist NEWLINE* ENDMARKER
14
+
15
+ decorator: '@' namedexpr_test NEWLINE
16
+ decorators: decorator+
17
+ decorated: decorators (classdef | funcdef | async_funcdef)
18
+ async_funcdef: ASYNC funcdef
19
+ funcdef: 'def' NAME parameters ['->' test] ':' suite
20
+ parameters: '(' [typedargslist] ')'
21
+
22
+ # The following definition for typedarglist is equivalent to this set of rules:
23
+ #
24
+ # arguments = argument (',' argument)*
25
+ # argument = tfpdef ['=' test]
26
+ # kwargs = '**' tname [',']
27
+ # args = '*' [tname_star]
28
+ # kwonly_kwargs = (',' argument)* [',' [kwargs]]
29
+ # args_kwonly_kwargs = args kwonly_kwargs | kwargs
30
+ # poskeyword_args_kwonly_kwargs = arguments [',' [args_kwonly_kwargs]]
31
+ # typedargslist_no_posonly = poskeyword_args_kwonly_kwargs | args_kwonly_kwargs
32
+ # typedarglist = arguments ',' '/' [',' [typedargslist_no_posonly]])|(typedargslist_no_posonly)"
33
+ #
34
+ # It needs to be fully expanded to allow our LL(1) parser to work on it.
35
+
36
+ typedargslist: tfpdef ['=' test] (',' tfpdef ['=' test])* ',' '/' [
37
+ ',' [((tfpdef ['=' test] ',')* ('*' [tname_star] (',' tname ['=' test])*
38
+ [',' ['**' tname [',']]] | '**' tname [','])
39
+ | tfpdef ['=' test] (',' tfpdef ['=' test])* [','])]
40
+ ] | ((tfpdef ['=' test] ',')* ('*' [tname_star] (',' tname ['=' test])*
41
+ [',' ['**' tname [',']]] | '**' tname [','])
42
+ | tfpdef ['=' test] (',' tfpdef ['=' test])* [','])
43
+
44
+ tname: NAME [':' test]
45
+ tname_star: NAME [':' (test|star_expr)]
46
+ tfpdef: tname | '(' tfplist ')'
47
+ tfplist: tfpdef (',' tfpdef)* [',']
48
+
49
+ # The following definition for varargslist is equivalent to this set of rules:
50
+ #
51
+ # arguments = argument (',' argument )*
52
+ # argument = vfpdef ['=' test]
53
+ # kwargs = '**' vname [',']
54
+ # args = '*' [vname]
55
+ # kwonly_kwargs = (',' argument )* [',' [kwargs]]
56
+ # args_kwonly_kwargs = args kwonly_kwargs | kwargs
57
+ # poskeyword_args_kwonly_kwargs = arguments [',' [args_kwonly_kwargs]]
58
+ # vararglist_no_posonly = poskeyword_args_kwonly_kwargs | args_kwonly_kwargs
59
+ # varargslist = arguments ',' '/' [','[(vararglist_no_posonly)]] | (vararglist_no_posonly)
60
+ #
61
+ # It needs to be fully expanded to allow our LL(1) parser to work on it.
62
+
63
+ varargslist: vfpdef ['=' test ](',' vfpdef ['=' test])* ',' '/' [',' [
64
+ ((vfpdef ['=' test] ',')* ('*' [vname] (',' vname ['=' test])*
65
+ [',' ['**' vname [',']]] | '**' vname [','])
66
+ | vfpdef ['=' test] (',' vfpdef ['=' test])* [','])
67
+ ]] | ((vfpdef ['=' test] ',')*
68
+ ('*' [vname] (',' vname ['=' test])* [',' ['**' vname [',']]]| '**' vname [','])
69
+ | vfpdef ['=' test] (',' vfpdef ['=' test])* [','])
70
+
71
+ vname: NAME
72
+ vfpdef: vname | '(' vfplist ')'
73
+ vfplist: vfpdef (',' vfpdef)* [',']
74
+
75
+ stmt: simple_stmt | compound_stmt
76
+ simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE
77
+ small_stmt: (expr_stmt | print_stmt | del_stmt | pass_stmt | flow_stmt |
78
+ import_stmt | global_stmt | exec_stmt | assert_stmt)
79
+ expr_stmt: testlist_star_expr (annassign | augassign (yield_expr|testlist) |
80
+ ('=' (yield_expr|testlist_star_expr))*)
81
+ annassign: ':' test ['=' (yield_expr|testlist_star_expr)]
82
+ testlist_star_expr: (test|star_expr) (',' (test|star_expr))* [',']
83
+ augassign: ('+=' | '-=' | '*=' | '@=' | '/=' | '%=' | '&=' | '|=' | '^=' |
84
+ '<<=' | '>>=' | '**=' | '//=')
85
+ # For normal and annotated assignments, additional restrictions enforced by the interpreter
86
+ print_stmt: 'print' ( [ test (',' test)* [','] ] |
87
+ '>>' test [ (',' test)+ [','] ] )
88
+ del_stmt: 'del' exprlist
89
+ pass_stmt: 'pass'
90
+ flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt
91
+ break_stmt: 'break'
92
+ continue_stmt: 'continue'
93
+ return_stmt: 'return' [testlist_star_expr]
94
+ yield_stmt: yield_expr
95
+ raise_stmt: 'raise' [test ['from' test | ',' test [',' test]]]
96
+ import_stmt: import_name | import_from
97
+ import_name: 'import' dotted_as_names
98
+ import_from: ('from' ('.'* dotted_name | '.'+)
99
+ 'import' ('*' | '(' import_as_names ')' | import_as_names))
100
+ import_as_name: NAME ['as' NAME]
101
+ dotted_as_name: dotted_name ['as' NAME]
102
+ import_as_names: import_as_name (',' import_as_name)* [',']
103
+ dotted_as_names: dotted_as_name (',' dotted_as_name)*
104
+ dotted_name: NAME ('.' NAME)*
105
+ global_stmt: ('global' | 'nonlocal') NAME (',' NAME)*
106
+ exec_stmt: 'exec' expr ['in' test [',' test]]
107
+ assert_stmt: 'assert' test [',' test]
108
+
109
+ compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated | async_stmt | match_stmt
110
+ async_stmt: ASYNC (funcdef | with_stmt | for_stmt)
111
+ if_stmt: 'if' namedexpr_test ':' suite ('elif' namedexpr_test ':' suite)* ['else' ':' suite]
112
+ while_stmt: 'while' namedexpr_test ':' suite ['else' ':' suite]
113
+ for_stmt: 'for' exprlist 'in' testlist_star_expr ':' suite ['else' ':' suite]
114
+ try_stmt: ('try' ':' suite
115
+ ((except_clause ':' suite)+
116
+ ['else' ':' suite]
117
+ ['finally' ':' suite] |
118
+ 'finally' ':' suite))
119
+ with_stmt: 'with' asexpr_test (',' asexpr_test)* ':' suite
120
+
121
+ # NB compile.c makes sure that the default except clause is last
122
+ except_clause: 'except' ['*'] [test [(',' | 'as') test]]
123
+ suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
124
+
125
+ # Backward compatibility cruft to support:
126
+ # [ x for x in lambda: True, lambda: False if x() ]
127
+ # even while also allowing:
128
+ # lambda x: 5 if x else 2
129
+ # (But not a mix of the two)
130
+ testlist_safe: old_test [(',' old_test)+ [',']]
131
+ old_test: or_test | old_lambdef
132
+ old_lambdef: 'lambda' [varargslist] ':' old_test
133
+
134
+ namedexpr_test: asexpr_test [':=' asexpr_test]
135
+
136
+ # This is actually not a real rule, though since the parser is very
137
+ # limited in terms of the strategy about match/case rules, we are inserting
138
+ # a virtual case (<expr> as <expr>) as a valid expression. Unless a better
139
+ # approach is thought, the only side effect of this seem to be just allowing
140
+ # more stuff to be parser (which would fail on the ast).
141
+ asexpr_test: test ['as' test]
142
+
143
+ test: or_test ['if' or_test 'else' test] | lambdef
144
+ or_test: and_test ('or' and_test)*
145
+ and_test: not_test ('and' not_test)*
146
+ not_test: 'not' not_test | comparison
147
+ comparison: expr (comp_op expr)*
148
+ comp_op: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'|'is'|'is' 'not'
149
+ star_expr: '*' expr
150
+ expr: xor_expr ('|' xor_expr)*
151
+ xor_expr: and_expr ('^' and_expr)*
152
+ and_expr: shift_expr ('&' shift_expr)*
153
+ shift_expr: arith_expr (('<<'|'>>') arith_expr)*
154
+ arith_expr: term (('+'|'-') term)*
155
+ term: factor (('*'|'@'|'/'|'%'|'//') factor)*
156
+ factor: ('+'|'-'|'~') factor | power
157
+ power: [AWAIT] atom trailer* ['**' factor]
158
+ atom: ('(' [yield_expr|testlist_gexp] ')' |
159
+ '[' [listmaker] ']' |
160
+ '{' [dictsetmaker] '}' |
161
+ '`' testlist1 '`' |
162
+ NAME | NUMBER | STRING+ | '.' '.' '.')
163
+ listmaker: (namedexpr_test|star_expr) ( old_comp_for | (',' (namedexpr_test|star_expr))* [','] )
164
+ testlist_gexp: (namedexpr_test|star_expr) ( old_comp_for | (',' (namedexpr_test|star_expr))* [','] )
165
+ lambdef: 'lambda' [varargslist] ':' test
166
+ trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
167
+ subscriptlist: (subscript|star_expr) (',' (subscript|star_expr))* [',']
168
+ subscript: test [':=' test] | [test] ':' [test] [sliceop]
169
+ sliceop: ':' [test]
170
+ exprlist: (expr|star_expr) (',' (expr|star_expr))* [',']
171
+ testlist: test (',' test)* [',']
172
+ dictsetmaker: ( ((test ':' asexpr_test | '**' expr)
173
+ (comp_for | (',' (test ':' asexpr_test | '**' expr))* [','])) |
174
+ ((test [':=' test] | star_expr)
175
+ (comp_for | (',' (test [':=' test] | star_expr))* [','])) )
176
+
177
+ classdef: 'class' NAME ['(' [arglist] ')'] ':' suite
178
+
179
+ arglist: argument (',' argument)* [',']
180
+
181
+ # "test '=' test" is really "keyword '=' test", but we have no such token.
182
+ # These need to be in a single rule to avoid grammar that is ambiguous
183
+ # to our LL(1) parser. Even though 'test' includes '*expr' in star_expr,
184
+ # we explicitly match '*' here, too, to give it proper precedence.
185
+ # Illegal combinations and orderings are blocked in ast.c:
186
+ # multiple (test comp_for) arguments are blocked; keyword unpackings
187
+ # that precede iterable unpackings are blocked; etc.
188
+ argument: ( test [comp_for] |
189
+ test ':=' test [comp_for] |
190
+ test 'as' test |
191
+ test '=' asexpr_test |
192
+ '**' test |
193
+ '*' test )
194
+
195
+ comp_iter: comp_for | comp_if
196
+ comp_for: [ASYNC] 'for' exprlist 'in' or_test [comp_iter]
197
+ comp_if: 'if' old_test [comp_iter]
198
+
199
+ # As noted above, testlist_safe extends the syntax allowed in list
200
+ # comprehensions and generators. We can't use it indiscriminately in all
201
+ # derivations using a comp_for-like pattern because the testlist_safe derivation
202
+ # contains comma which clashes with trailing comma in arglist.
203
+ #
204
+ # This was an issue because the parser would not follow the correct derivation
205
+ # when parsing syntactically valid Python code. Since testlist_safe was created
206
+ # specifically to handle list comprehensions and generator expressions enclosed
207
+ # with parentheses, it's safe to only use it in those. That avoids the issue; we
208
+ # can parse code like set(x for x in [],).
209
+ #
210
+ # The syntax supported by this set of rules is not a valid Python 3 syntax,
211
+ # hence the prefix "old".
212
+ #
213
+ # See https://bugs.python.org/issue27494
214
+ old_comp_iter: old_comp_for | old_comp_if
215
+ old_comp_for: [ASYNC] 'for' exprlist 'in' testlist_safe [old_comp_iter]
216
+ old_comp_if: 'if' old_test [old_comp_iter]
217
+
218
+ testlist1: test (',' test)*
219
+
220
+ # not used in grammar, but may appear in "node" passed from Parser to Compiler
221
+ encoding_decl: NAME
222
+
223
+ yield_expr: 'yield' [yield_arg]
224
+ yield_arg: 'from' test | testlist_star_expr
225
+
226
+
227
+ # 3.10 match statement definition
228
+
229
+ # PS: normally the grammar is much much more restricted, but
230
+ # at this moment for not trying to bother much with encoding the
231
+ # exact same DSL in a LL(1) parser, we will just accept an expression
232
+ # and let the ast.parse() step of the safe mode to reject invalid
233
+ # grammar.
234
+
235
+ # The reason why it is more restricted is that, patterns are some
236
+ # sort of a DSL (more advanced than our LHS on assignments, but
237
+ # still in a very limited python subset). They are not really
238
+ # expressions, but who cares. If we can parse them, that is enough
239
+ # to reformat them.
240
+
241
+ match_stmt: "match" subject_expr ':' NEWLINE INDENT case_block+ DEDENT
242
+
243
+ # This is more permissive than the actual version. For example it
244
+ # accepts `match *something:`, even though single-item starred expressions
245
+ # are forbidden.
246
+ subject_expr: (namedexpr_test|star_expr) (',' (namedexpr_test|star_expr))* [',']
247
+
248
+ # cases
249
+ case_block: "case" patterns [guard] ':' suite
250
+ guard: 'if' namedexpr_test
251
+ patterns: pattern (',' pattern)* [',']
252
+ pattern: (expr|star_expr) ['as' expr]
@@ -1,28 +1,28 @@
1
- # Copyright 2006 Google, Inc. All Rights Reserved.
2
- # Licensed to PSF under a Contributor Agreement.
3
-
4
- # A grammar to describe tree matching patterns.
5
- # Not shown here:
6
- # - 'TOKEN' stands for any token (leaf node)
7
- # - 'any' stands for any node (leaf or interior)
8
- # With 'any' we can still specify the sub-structure.
9
-
10
- # The start symbol is 'Matcher'.
11
-
12
- Matcher: Alternatives ENDMARKER
13
-
14
- Alternatives: Alternative ('|' Alternative)*
15
-
16
- Alternative: (Unit | NegatedUnit)+
17
-
18
- Unit: [NAME '='] ( STRING [Repeater]
19
- | NAME [Details] [Repeater]
20
- | '(' Alternatives ')' [Repeater]
21
- | '[' Alternatives ']'
22
- )
23
-
24
- NegatedUnit: 'not' (STRING | NAME [Details] | '(' Alternatives ')')
25
-
26
- Repeater: '*' | '+' | '{' NUMBER [',' NUMBER] '}'
27
-
28
- Details: '<' Alternatives '>'
1
+ # Copyright 2006 Google, Inc. All Rights Reserved.
2
+ # Licensed to PSF under a Contributor Agreement.
3
+
4
+ # A grammar to describe tree matching patterns.
5
+ # Not shown here:
6
+ # - 'TOKEN' stands for any token (leaf node)
7
+ # - 'any' stands for any node (leaf or interior)
8
+ # With 'any' we can still specify the sub-structure.
9
+
10
+ # The start symbol is 'Matcher'.
11
+
12
+ Matcher: Alternatives ENDMARKER
13
+
14
+ Alternatives: Alternative ('|' Alternative)*
15
+
16
+ Alternative: (Unit | NegatedUnit)+
17
+
18
+ Unit: [NAME '='] ( STRING [Repeater]
19
+ | NAME [Details] [Repeater]
20
+ | '(' Alternatives ')' [Repeater]
21
+ | '[' Alternatives ']'
22
+ )
23
+
24
+ NegatedUnit: 'not' (STRING | NAME [Details] | '(' Alternatives ')')
25
+
26
+ Repeater: '*' | '+' | '{' NUMBER [',' NUMBER] '}'
27
+
28
+ Details: '<' Alternatives '>'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sourcery-nightly
3
- Version: 1.16.1b45
3
+ Version: 1.16.1b47
4
4
  Summary: Magically refactor Python
5
5
  Home-page: https://github.com/sourcery-ai/sourcery
6
6
  Author: Sourcery AI
@@ -112,7 +112,7 @@ _Sourcery_ works great with [pre-commit](https://pre-commit.com). Once you
112
112
  ```yaml
113
113
  repos:
114
114
  - repo: https://github.com/sourcery-ai/sourcery
115
- rev: v1.16.1b45
115
+ rev: v1.16.1b47
116
116
  hooks:
117
117
  - id: sourcery
118
118
  # The best way to use Sourcery in a pre-commit hook: