wemake-python-styleguide icon indicating copy to clipboard operation
wemake-python-styleguide copied to clipboard

Create Untrivial Logic in Finally Block Rule

Open alexeev-prog opened this issue 6 months ago • 6 comments

Create Untrivial Logic in Finally Block Rule

Checklist

  • [x] I have double checked that there are no unrelated changes in this pull request (old patches, accidental config files, etc)
  • [x] I have created at least one test case for the changes I have made
  • [x] I have updated the documentation for the changes I have made
  • [x] I have added my changes to the CHANGELOG.md

Related issues

Closes #3458

I can't test in local environment. I can't install dependencies: error_log.txt

alexeev-prog avatar Jun 16 '25 20:06 alexeev-prog

Closes #3458 https://github.com/wemake-services/wemake-python-styleguide/issues/3458

alexeev-prog avatar Jun 16 '25 20:06 alexeev-prog

For now some test checks doesn't work correctly. I would recommend to make all tests "green" with the local setup, if possible.

efimov-mikhail avatar Jun 16 '25 21:06 efimov-mikhail

For now some test checks doesn't work correctly. I would recommend to make all tests "green" with the local setup, if possible.

i cant install dependencies error log. I use poetry install

alexeev-prog avatar Jun 16 '25 21:06 alexeev-prog

Please, attach error log as a text, not a file. I don't want to download any files.

sobolevn avatar Jun 16 '25 21:06 sobolevn

Please, attach error log as a text, not a file. I don't want to download any files.

Installing dependencies from lock file

Package operations: 17 installs, 0 updates, 0 removals

  - Installing grimp (3.7.1)
  - Installing libcst (1.7.0)

PEP517 build of a dependency failed

Backend subprocess exited when trying to invoke build_wheel

    | Command '['/tmp/tmph2m_71ay/.venv/bin/python', '/home/alexeev/.local/share/pipx/venvs/poetry/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py', 'build_wheel', '/tmp/tmpfzaooz3d']' returned non-zero exit status 1.
    | 
    | Running `maturin pep517 build-wheel -i /tmp/tmph2m_71ay/.venv/bin/python --compatibility off`
    | 🍹 Building a mixed python/rust project
    | 🔗 Found pyo3 bindings
    | 🐍 Found CPython 3.14t at /tmp/tmph2m_71ay/.venv/bin/python
    | 📡 Using build options features from pyproject.toml
    |    Compiling target-lexicon v0.12.16
    |    Compiling proc-macro2 v1.0.93
    |    Compiling unicode-ident v1.0.14
    |    Compiling once_cell v1.20.2
    |    Compiling crossbeam-utils v0.8.21
    |    Compiling libc v0.2.169
    |    Compiling autocfg v1.4.0
    |    Compiling heck v0.5.0
    |    Compiling foldhash v0.1.4
    |    Compiling version_check v0.9.5
    |    Compiling serde v1.0.217
    |    Compiling memchr v2.7.4
    |    Compiling rayon-core v1.12.1
    |    Compiling regex-syntax v0.8.5
    |    Compiling unicode-xid v0.2.6
    |    Compiling thiserror v2.0.11
    | error: linker `cc` not found
    |   |
    |   = note: No such file or directory (os error 2)
    | 
    | error: could not compile `rayon-core` (build script) due to 1 previous error
    | warning: build failed, waiting for other jobs to finish...
    | error: could not compile `crossbeam-utils` (build script) due to 1 previous error
    | error: could not compile `proc-macro2` (build script) due to 1 previous error
    | error: could not compile `serde` (build script) due to 1 previous error
    | error: could not compile `thiserror` (build script) due to 1 previous error
    | error: could not compile `libc` (build script) due to 1 previous error
    | error: could not compile `target-lexicon` (build script) due to 1 previous error
    | 💥 maturin failed
    |   Caused by: Failed to build a native library through cargo
    |   Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.14-64bit" PYO3_PYTHON="/tmp/tmph2m_71ay/.venv/bin/python" PYTHON_SYS_EXECUTABLE="/tmp/tmph2m_71ay/.venv/bin/python" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/tmp0ey2mwyx/grimp-3.7.1/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
    | Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/tmp/tmph2m_71ay/.venv/bin/python', '--compatibility', 'off'] returned non-zero exit status 1

Note: This error originates from the build backend, and is likely not a problem with poetry but one of the following issues with grimp (3.7.1)

  - not supporting PEP 517 builds
  - not specifying PEP 517 build requirements correctly
  - the build requirements are incompatible with your operating system or Python version
  - the build requirements are missing system dependencies (eg: compilers, libraries, headers).

You can verify this by running pip wheel --no-cache-dir --use-pep517 "grimp (==3.7.1)".


PEP517 build of a dependency failed

Backend subprocess exited when trying to invoke build_wheel

    | Command '['/tmp/tmp481k11hd/.venv/bin/python', '/home/alexeev/.local/share/pipx/venvs/poetry/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py', 'build_wheel', '/tmp/tmpacwnzg7o']' returned non-zero exit status 1.
    | 
    | /tmp/tmp481k11hd/.venv/lib/python3.14t/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'test_suite'
    |   warnings.warn(msg)
    | WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
    | Traceback (most recent call last):
    |   File "/tmp/tmp481k11hd/.venv/lib/python3.14t/site-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
    |     section = defn.get("tool", {})[tool_name]
    |               ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
    | KeyError: 'setuptools_scm'
    | /tmp/tmp481k11hd/.venv/lib/python3.14t/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated
    | !!
    | 
    |         ********************************************************************************
    |         Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).
    | 
    |         By 2026-Feb-18, you need to update your project and remove deprecated calls
    |         or your builds will no longer be supported.
    | 
    |         See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
    |         ********************************************************************************
    | 
    | !!
    |   corresp(dist, value, root_dir)
    | /tmp/tmp481k11hd/.venv/lib/python3.14t/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
    | !!
    | 
    |         ********************************************************************************
    |         Please consider removing the following classifiers in favor of a SPDX license expression:
    | 
    |         License :: OSI Approved :: MIT License
    | 
    |         See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
    |         ********************************************************************************
    | 
    | !!
    |   dist._finalize_license_expression()
    | /tmp/tmp481k11hd/.venv/lib/python3.14t/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
    | !!
    | 
    |         ********************************************************************************
    |         Please consider removing the following classifiers in favor of a SPDX license expression:
    | 
    |         License :: OSI Approved :: MIT License
    | 
    |         See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
    |         ********************************************************************************
    | 
    | !!
    |   self._finalize_license_expression()
    | running bdist_wheel
    | running build
    | running build_py
    | creating build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_add_slots.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_typed_visitor_base.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_metadata_dependent.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_type_enforce.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_tabs.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/tool.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_typed_visitor.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_maybe_sentinel.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_removal_sentinel.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_version.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_types.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_flatten_sentinel.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_position.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_batched_visitor.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_exceptions.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | copying libcst/_visitors.py -> build/lib.linux-x86_64-cpython-314t/libcst
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | copying libcst/_nodes/expression.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | copying libcst/_nodes/deep_equals.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | copying libcst/_nodes/module.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | copying libcst/_nodes/statement.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | copying libcst/_nodes/whitespace.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | copying libcst/_nodes/internal.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | copying libcst/_nodes/base.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | copying libcst/_nodes/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | copying libcst/_nodes/op.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes
    | creating build/lib.linux-x86_64-cpython-314t/libcst/codegen
    | copying libcst/codegen/gen_visitor_functions.py -> build/lib.linux-x86_64-cpython-314t/libcst/codegen
    | copying libcst/codegen/gen_matcher_classes.py -> build/lib.linux-x86_64-cpython-314t/libcst/codegen
    | copying libcst/codegen/gen_type_mapping.py -> build/lib.linux-x86_64-cpython-314t/libcst/codegen
    | copying libcst/codegen/generate.py -> build/lib.linux-x86_64-cpython-314t/libcst/codegen
    | copying libcst/codegen/gather.py -> build/lib.linux-x86_64-cpython-314t/libcst/codegen
    | copying libcst/codegen/transforms.py -> build/lib.linux-x86_64-cpython-314t/libcst/codegen
    | copying libcst/codegen/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/codegen
    | creating build/lib.linux-x86_64-cpython-314t/libcst/helpers
    | copying libcst/helpers/expression.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers
    | copying libcst/helpers/common.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers
    | copying libcst/helpers/_template.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers
    | copying libcst/helpers/module.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers
    | copying libcst/helpers/paths.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers
    | copying libcst/helpers/node_fields.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers
    | copying libcst/helpers/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers
    | creating build/lib.linux-x86_64-cpython-314t/libcst/testing
    | copying libcst/testing/utils.py -> build/lib.linux-x86_64-cpython-314t/libcst/testing
    | copying libcst/testing/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/testing
    | creating build/lib.linux-x86_64-cpython-314t/libcst/display
    | copying libcst/display/text.py -> build/lib.linux-x86_64-cpython-314t/libcst/display
    | copying libcst/display/graphviz.py -> build/lib.linux-x86_64-cpython-314t/libcst/display
    | copying libcst/display/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/display
    | creating build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | copying libcst/codemod/_visitor.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | copying libcst/codemod/_testing.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | copying libcst/codemod/_command.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | copying libcst/codemod/_codemod.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | copying libcst/codemod/_context.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | copying libcst/codemod/_runner.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | copying libcst/codemod/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | copying libcst/codemod/_cli.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | copying libcst/codemod/_dummy_pool.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod
    | creating build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_deep_replace.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_fuzz.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_visitor.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_e2e.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_exceptions.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_add_slots.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_batched_visitor.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_type_enforce.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_roundtrip.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_deep_clone.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/__main__.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_pyre_integration.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/test_tabs.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | copying libcst/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/grammar.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/detect_config.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/python_parser.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/production_decorator.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/whitespace_parser.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/py_whitespace_parser.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/wrapped_tokenize.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/custom_itertools.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/entrypoints.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/base_parser.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | copying libcst/_parser/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser
    | creating build/lib.linux-x86_64-cpython-314t/libcst/matchers
    | copying libcst/matchers/_decorators.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers
    | copying libcst/matchers/_return_types.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers
    | copying libcst/matchers/_matcher_base.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers
    | copying libcst/matchers/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers
    | copying libcst/matchers/_visitors.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers
    | creating build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/scope_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/expression_context_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/parent_node_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/base_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/file_path_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/type_inference_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/position_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/name_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/accessor_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/full_repo_manager.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/wrapper.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/span_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | copying libcst/metadata/reentrant_codegen.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_trailing_whitespace.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_lambda.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_boolean_op.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_simple_comp.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_nonlocal.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_list.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_ifexp.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_await.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_indented_block.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_classdef.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_dict_comp.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_removal_behavior.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_atom.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_raise.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_for.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_global.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_dict.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_assign.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_namedexpr.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_comparison.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_import.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_docstring.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_simple_statement.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_set.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_unary_op.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_del.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_type_alias.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_flatten_behavior.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_module.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_while.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_try.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_attribute.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_assert.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_if.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_cst_node.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_comment.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_subscript.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_binary_op.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/base.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_matrix_multiply.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_newline.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_leaf_small_statements.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_simple_whitespace.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_number.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_with.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_tuple.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_yield.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_small_statement.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_funcdef.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_else.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_simple_string.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_call.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_return.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_match.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | copying libcst/_nodes/tests/test_empty_line.py -> build/lib.linux-x86_64-cpython-314t/libcst/_nodes/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/codegen/tests
    | copying libcst/codegen/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/codegen/tests
    | copying libcst/codegen/tests/test_codegen_clean.py -> build/lib.linux-x86_64-cpython-314t/libcst/codegen/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/helpers/tests
    | copying libcst/helpers/tests/test_paths.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers/tests
    | copying libcst/helpers/tests/test_template.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers/tests
    | copying libcst/helpers/tests/test_module.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers/tests
    | copying libcst/helpers/tests/test_expression.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers/tests
    | copying libcst/helpers/tests/test_node_fields.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers/tests
    | copying libcst/helpers/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/helpers/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/display/tests
    | copying libcst/display/tests/test_dump_text.py -> build/lib.linux-x86_64-cpython-314t/libcst/display/tests
    | copying libcst/display/tests/test_dump_graphviz.py -> build/lib.linux-x86_64-cpython-314t/libcst/display/tests
    | copying libcst/display/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/display/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/unnecessary_format_string.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/convert_format_to_fstring.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/convert_percent_format_to_fstring.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/add_trailing_commas.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/strip_strings_from_types.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/convert_namedtuple_to_dataclass.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/fix_pyre_directives.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/noop.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/fix_variadic_callable.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/convert_type_comments.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/add_pyre_directive.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/rename.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/rename_typing_generic_aliases.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/remove_unused_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/remove_pyre_directive.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/convert_union_to_or.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | copying libcst/codemod/commands/ensure_import_present.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands
    | creating build/lib.linux-x86_64-cpython-314t/libcst/codemod/tests
    | copying libcst/codemod/tests/test_runner.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/tests
    | copying libcst/codemod/tests/test_metadata.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/tests
    | copying libcst/codemod/tests/test_codemod_cli.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/tests
    | copying libcst/codemod/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/tests
    | copying libcst/codemod/tests/test_codemod.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_remove_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_gather_exports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_gather_comments.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_gather_global_names.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_apply_type_annotations.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_add_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_gather_unused_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_gather_string_annotation_names.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | copying libcst/codemod/visitors/_gather_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors
    | creating build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_convert_percent_format_to_fstring.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_convert_namedtuple_to_dataclass.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_convert_union_to_or.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_rename_typing_generic_aliases.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_remove_pyre_directive.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_noop.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_remove_unused_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_strip_strings_from_types.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_fix_variadic_callable.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_unnecessary_format_string.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_fix_pyre_directives.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_add_pyre_directive.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_rename.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_ensure_import_present.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_convert_format_to_fstring.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_convert_type_comments.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | copying libcst/codemod/commands/tests/test_add_trailing_commas.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/commands/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/test_remove_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/test_gather_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/test_gather_exports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/test_apply_type_annotations.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/test_gather_comments.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/test_add_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/test_gather_string_annotation_names.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/test_gather_global_names.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | copying libcst/codemod/visitors/tests/test_gather_unused_imports.py -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/visitors/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_parser/conversions
    | copying libcst/_parser/conversions/expression.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/conversions
    | copying libcst/_parser/conversions/params.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/conversions
    | copying libcst/_parser/conversions/module.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/conversions
    | copying libcst/_parser/conversions/statement.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/conversions
    | copying libcst/_parser/conversions/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/conversions
    | copying libcst/_parser/conversions/terminals.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/conversions
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | copying libcst/_parser/tests/test_config.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | copying libcst/_parser/tests/test_wrapped_tokenize.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | copying libcst/_parser/tests/test_detect_config.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | copying libcst/_parser/tests/test_node_identity.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | copying libcst/_parser/tests/test_version_compare.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | copying libcst/_parser/tests/test_whitespace_parser.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | copying libcst/_parser/tests/test_parse_errors.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | copying libcst/_parser/tests/test_footer_behavior.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | copying libcst/_parser/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/conversions.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/config.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/py_token.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/production.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/whitespace_state.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/py_config.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/token.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/partials.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | copying libcst/_parser/types/py_whitespace_state.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso
    | copying libcst/_parser/parso/utils.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso
    | copying libcst/_parser/parso/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_parser/types/tests
    | copying libcst/_parser/types/tests/test_config.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types/tests
    | copying libcst/_parser/types/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/types/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/python
    | copying libcst/_parser/parso/python/py_token.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/python
    | copying libcst/_parser/parso/python/token.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/python
    | copying libcst/_parser/parso/python/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/python
    | copying libcst/_parser/parso/python/tokenize.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/python
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/tests
    | copying libcst/_parser/parso/tests/test_tokenize.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/tests
    | copying libcst/_parser/parso/tests/test_utils.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/tests
    | copying libcst/_parser/parso/tests/test_fstring.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/tests
    | copying libcst/_parser/parso/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/pgen2
    | copying libcst/_parser/parso/pgen2/grammar_parser.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/pgen2
    | copying libcst/_parser/parso/pgen2/generator.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/pgen2
    | copying libcst/_parser/parso/pgen2/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/parso/pgen2
    | creating build/lib.linux-x86_64-cpython-314t/libcst/matchers/tests
    | copying libcst/matchers/tests/test_matchers_with_metadata.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers/tests
    | copying libcst/matchers/tests/test_extract.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers/tests
    | copying libcst/matchers/tests/test_decorators.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers/tests
    | copying libcst/matchers/tests/test_findall.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers/tests
    | copying libcst/matchers/tests/test_replace.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers/tests
    | copying libcst/matchers/tests/test_matchers.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers/tests
    | copying libcst/matchers/tests/test_visitors.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers/tests
    | copying libcst/matchers/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/matchers/tests
    | creating build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_scope_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_position_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_file_path_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_metadata_wrapper.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_full_repo_manager.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_base_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_parent_node_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_span_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_expression_context_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_accessor_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_name_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/__init__.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_metadata_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_reentrant_codegen.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | copying libcst/metadata/tests/test_type_inference_provider.py -> build/lib.linux-x86_64-cpython-314t/libcst/metadata/tests
    | running egg_info
    | writing libcst.egg-info/PKG-INFO
    | writing dependency_links to libcst.egg-info/dependency_links.txt
    | writing requirements to libcst.egg-info/requires.txt
    | writing top-level names to libcst.egg-info/top_level.txt
    | ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
    | reading manifest file 'libcst.egg-info/SOURCES.txt'
    | reading manifest template 'MANIFEST.in'
    | warning: no previously-included files matching '*' found under directory 'native/target'
    | adding license file 'LICENSE'
    | writing manifest file 'libcst.egg-info/SOURCES.txt'
    | /tmp/tmp481k11hd/.venv/lib/python3.14t/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'libcst.tests.pyre' is absent from the `packages` configuration.
    | !!
    | 
    |         ********************************************************************************
    |         ############################
    |         # Package would be ignored #
    |         ############################
    |         Python recognizes 'libcst.tests.pyre' as an importable package[^1],
    |         but it is absent from setuptools' `packages` configuration.
    | 
    |         This leads to an ambiguous overall configuration. If you want to distribute this
    |         package, please make sure that 'libcst.tests.pyre' is explicitly added
    |         to the `packages` configuration field.
    | 
    |         Alternatively, you can also rely on setuptools' discovery methods
    |         (for example by using `find_namespace_packages(...)`/`find_namespace:`
    |         instead of `find_packages(...)`/`find:`).
    | 
    |         You can read more about "package discovery" on setuptools documentation page:
    | 
    |         - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
    | 
    |         If you don't want 'libcst.tests.pyre' to be distributed and are
    |         already explicitly excluding 'libcst.tests.pyre' via
    |         `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
    |         you can try to use `exclude_package_data`, or `include-package-data=False` in
    |         combination with a more fine grained `package-data` configuration.
    | 
    |         You can read more about "package data files" on setuptools documentation page:
    | 
    |         - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
    | 
    | 
    |         [^1]: For Python, any directory (with suitable naming) can be imported,
    |               even if it does not contain any `.py` files.
    |               On the other hand, currently there is no concept of package data
    |               directory, all directories are treated like packages.
    |         ********************************************************************************
    | 
    | !!
    |   check.warn(importable)
    | copying libcst/py.typed -> build/lib.linux-x86_64-cpython-314t/libcst
    | creating build/lib.linux-x86_64-cpython-314t/libcst/tests/pyre
    | copying libcst/tests/pyre/.pyre_configuration -> build/lib.linux-x86_64-cpython-314t/libcst/tests/pyre
    | copying libcst/tests/pyre/simple_class.json -> build/lib.linux-x86_64-cpython-314t/libcst/tests/pyre
    | copying libcst/tests/pyre/simple_class.py -> build/lib.linux-x86_64-cpython-314t/libcst/tests/pyre
    | copying libcst/codemod/tests/codemod_formatter_error_input.py.txt -> build/lib.linux-x86_64-cpython-314t/libcst/codemod/tests
    | copying libcst/_parser/conversions/README.md -> build/lib.linux-x86_64-cpython-314t/libcst/_parser/conversions
    | warning: build_py: byte-compiling is disabled, skipping.
    | 
    | running build_ext
    | running build_rust
    | cargo rustc --lib --message-format=json-render-diagnostics --manifest-path native/libcst/Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --
    |    Compiling target-lexicon v0.12.15
    |    Compiling proc-macro2 v1.0.86
    |      Running `rustc --crate-name build_script_build --edition=2018 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/target-lexicon-0.12.15/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arch_zkasm", "default", "serde", "serde_support", "std"))' -C metadata=bdbe70d6ddad1284 -C extra-filename=-23de1ee14ce2c9db --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/target-lexicon-23de1ee14ce2c9db -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |    Compiling unicode-ident v1.0.1
    |    Compiling once_cell v1.16.0
    |    Compiling autocfg v1.1.0
    |    Compiling libc v0.2.149
    |    Compiling heck v0.5.0
    |    Compiling memchr v2.7.4
    |    Compiling peg-runtime v0.8.3
    |    Compiling thiserror v1.0.63
    |    Compiling paste v1.0.15
    |    Compiling regex-syntax v0.8.4
    |    Compiling cfg-if v1.0.0
    |    Compiling unicode-width v0.2.0
    |      Running `rustc --crate-name build_script_build --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.86/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "proc-macro", "span-locations"))' -C metadata=3687f644591d6274 -C extra-filename=-d68f207e98848b84 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/proc-macro2-d68f207e98848b84 -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name unicode_ident --edition=2018 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=0633619e2782715e -C extra-filename=-a740d722001b4edf --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name once_cell --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/once_cell-1.16.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="race"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "atomic-polyfill", "atomic_polyfill", "critical-section", "critical_section", "default", "parking_lot", "parking_lot_core", "race", "std", "unstable"))' -C metadata=f724ddbb0de1c7de -C extra-filename=-16fad1fd396a43f0 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name autocfg --edition=2015 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=69a5444b1fd463ab -C extra-filename=-61809600ee8cade7 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name build_script_build --edition=2015 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.149/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="extra_traits"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("align", "const-extern-fn", "default", "extra_traits", "rustc-dep-of-std", "rustc-std-workspace-core", "std", "use_std"))' -C metadata=91e1219159563d12 -C extra-filename=-9b67c36e2ab5942a --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/libc-9b67c36e2ab5942a -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name heck --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/heck-0.5.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=9281ab7030f38e32 -C extra-filename=-06debb0d4d4774b1 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name memchr --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.7.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "compiler_builtins", "core", "default", "libc", "logging", "rustc-dep-of-std", "std", "use_std"))' -C metadata=91c48576b2d8c4c8 -C extra-filename=-4f46038df9d5dc59 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name peg_runtime --edition=2018 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/peg-runtime-0.8.3/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("std", "unstable"))' -C metadata=e747854c5a6ce059 -C extra-filename=-858db5f88efd646b --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name build_script_build --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.63/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=f6755dc08b6fac6c -C extra-filename=-d7fea0b3b2523326 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/thiserror-d7fea0b3b2523326 -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name build_script_build --edition=2018 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=506eafd0d305eb20 -C extra-filename=-87ff89a262ac1e66 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/paste-87ff89a262ac1e66 -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name regex_syntax --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-syntax-0.8.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --cfg 'feature="unicode"' --cfg 'feature="unicode-age"' --cfg 'feature="unicode-bool"' --cfg 'feature="unicode-case"' --cfg 'feature="unicode-gencat"' --cfg 'feature="unicode-perl"' --cfg 'feature="unicode-script"' --cfg 'feature="unicode-segment"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "default", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"))' -C metadata=0cc1cc6369dffe03 -C extra-filename=-5bda9bebb3e7c01b --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name cfg_if --edition=2018 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("compiler_builtins", "core", "rustc-dep-of-std"))' -C metadata=f774a8b1a0b6ae97 -C extra-filename=-da34da6838abd7f1 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name unicode_width --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-width-0.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="cjk"' --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("cjk", "compiler_builtins", "core", "default", "no_std", "rustc-dep-of-std", "std"))' -C metadata=5eece23ae6c0f194 -C extra-filename=-79ded1c56a63ad71 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name once_cell --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/once_cell-1.16.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="race"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "atomic-polyfill", "atomic_polyfill", "critical-section", "critical_section", "default", "parking_lot", "parking_lot_core", "race", "std", "unstable"))' -C metadata=40741070a4ef2b96 -C extra-filename=-1843f1523b66b8c7 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |      Running `rustc --crate-name peg_runtime --edition=2018 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/peg-runtime-0.8.3/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("std", "unstable"))' -C metadata=37efba92acac36b9 -C extra-filename=-6fbfe71b8e6db2b1 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    |    Compiling indoc v2.0.4
    |      Running `rustc --crate-name indoc --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indoc-2.0.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=b63953f98d160209 -C extra-filename=-462bff1ce884cb48 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --extern proc_macro --cap-lints allow`
    |    Compiling anstyle v1.0.10
    |      Running `rustc --crate-name anstyle --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anstyle-1.0.10/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--warn=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=bda98b3183b244e1 -C extra-filename=-9f5be866ba61e118 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow`
    | error: linker `cc` not found
    |   |
    |   = note: No such file or directory (os error 2)
    | 
    | error: could not compile `paste` (build script) due to 1 previous error
    | 
    | Caused by:
    |   process didn't exit successfully: `rustc --crate-name build_script_build --edition=2018 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=506eafd0d305eb20 -C extra-filename=-87ff89a262ac1e66 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/paste-87ff89a262ac1e66 -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow` (exit status: 1)
    | warning: build failed, waiting for other jobs to finish...
    | error: could not compile `thiserror` (build script) due to 1 previous error
    | 
    | Caused by:
    |   process didn't exit successfully: `rustc --crate-name build_script_build --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.63/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=f6755dc08b6fac6c -C extra-filename=-d7fea0b3b2523326 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/thiserror-d7fea0b3b2523326 -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow` (exit status: 1)
    | error: could not compile `proc-macro2` (build script) due to 1 previous error
    | 
    | Caused by:
    |   process didn't exit successfully: `rustc --crate-name build_script_build --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.86/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "proc-macro", "span-locations"))' -C metadata=3687f644591d6274 -C extra-filename=-d68f207e98848b84 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/proc-macro2-d68f207e98848b84 -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow` (exit status: 1)
    | error: could not compile `libc` (build script) due to 1 previous error
    | 
    | Caused by:
    |   process didn't exit successfully: `rustc --crate-name build_script_build --edition=2015 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.149/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="extra_traits"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("align", "const-extern-fn", "default", "extra_traits", "rustc-dep-of-std", "rustc-std-workspace-core", "std", "use_std"))' -C metadata=91e1219159563d12 -C extra-filename=-9b67c36e2ab5942a --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/libc-9b67c36e2ab5942a -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow` (exit status: 1)
    | error: could not compile `target-lexicon` (build script) due to 1 previous error
    | 
    | Caused by:
    |   process didn't exit successfully: `rustc --crate-name build_script_build --edition=2018 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/target-lexicon-0.12.15/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arch_zkasm", "default", "serde", "serde_support", "std"))' -C metadata=bdbe70d6ddad1284 -C extra-filename=-23de1ee14ce2c9db --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/build/target-lexicon-23de1ee14ce2c9db -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --cap-lints allow` (exit status: 1)
    | error: could not compile `indoc` (lib) due to 1 previous error
    | 
    | Caused by:
    |   process didn't exit successfully: `rustc --crate-name indoc --edition=2021 /home/alexeev/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indoc-2.0.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=b63953f98d160209 -C extra-filename=-462bff1ce884cb48 --out-dir /tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps -C strip=debuginfo -L dependency=/tmp/tmpq24_88gx/libcst-1.7.0/native/target/release/deps --extern proc_macro --cap-lints allow` (exit status: 1)
    | error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path native/libcst/Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --` failed with code 101

Note: This error originates from the build backend, and is likely not a problem with poetry but one of the following issues with libcst (1.7.0)

  - not supporting PEP 517 builds
  - not specifying PEP 517 build requirements correctly
  - the build requirements are incompatible with your operating system or Python version
  - the build requirements are missing system dependencies (eg: compilers, libraries, headers).

You can verify this by running pip wheel --no-cache-dir --use-pep517 "libcst (==1.7.0)".

alexeev-prog avatar Jun 16 '25 22:06 alexeev-prog

@alexeev-prog you are using 3.14 which is not supported, please use 3.13 :)

sobolevn avatar Jun 16 '25 23:06 sobolevn

My local testing logs: https://pastebin.com/qJp9nkLp

alexeev-prog avatar Jun 17 '25 22:06 alexeev-prog

Please help, i am not understand test errors...

alexeev-prog avatar Jun 17 '25 22:06 alexeev-prog

Please, fix WPS errors first. Tests are not even executed :)

sobolevn avatar Jun 18 '25 06:06 sobolevn

In my local environment, i got tests error:

____________________________________________________ ERROR collecting tests/conftest.py ____________________________________________________
import file mismatch:
imported module 'conftest' has this __file__ attribute:
  /home/alexeev/Desktop/Projects/wemake-python-styleguide/tests/test_visitors/conftest.py
which is not the same as the test file we want to collect:
  /home/alexeev/Desktop/Projects/wemake-python-styleguide/tests/conftest.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
_____________________________________________ ERROR collecting tests/test_visitors/conftest.py _____________________________________________
import file mismatch:
imported module 'conftest' has this __file__ attribute:
  /home/alexeev/Desktop/Projects/wemake-python-styleguide/tests/test_logic/test_complexity/test_cognitive/conftest.py
which is not the same as the test file we want to collect:
  /home/alexeev/Desktop/Projects/wemake-python-styleguide/tests/test_visitors/conftest.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules

Whats is solution of fix it?

alexeev-prog avatar Jun 27 '25 14:06 alexeev-prog

Codecov Report

:white_check_mark: All modified and coverable lines are covered by tests. :white_check_mark: Project coverage is 100.00%. Comparing base (4bdacae) to head (11796a0). :warning: Report is 38 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #3461   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          362       364    +2     
  Lines        11987     12040   +53     
  Branches       821       823    +2     
=========================================
+ Hits         11987     12040   +53     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov[bot] avatar Jun 27 '25 18:06 codecov[bot]

Its ready?

alexeev-prog avatar Jun 27 '25 18:06 alexeev-prog