-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐛 hatch 1.10 regression #80
Open
juftin
wants to merge
6
commits into
main
Choose a base branch
from
fix/hatch_110_regression
base: main
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MRE
rm -rf ./.venv/ ./requirements.txt ./requirements/ && hatch run test:test [tool.hatch.env]
requires = [
"hatch-pip-compile"
]
[tool.hatch.envs.default]
dependencies = [
"requests"
]
pip-compile-constraint = "default"
type = "pip-compile"
[tool.hatch.envs.test]
dependencies = [
"requests"
]
[tool.hatch.envs.test.scripts]
test = "echo 'Hello, world!'" StackTrace
|
There's a simple fix to this issue: - return PipCompileEnvironment(
- root=self.root,
- metadata=self.metadata,
- name=environment_name,
- config=self.pipools_environment_dict.get(environment_name, {}),
- matrix_variables=self.matrix_variables,
- data_directory=self.data_directory,
- isolated_data_directory=self.isolated_data_directory,
- platform=Platform(),
- verbosity=self.verbosity,
- app=None,
- )
+ if isinstance(self.app, hatch.cli.Application):
+ env = self.app.get_environment(env_name=environment_name)
+ else:
+ env = PipCompileEnvironment(
+ root=self.root,
+ metadata=self.metadata,
+ name=environment_name,
+ config=self.pipools_environment_dict.get(environment_name, {}),
+ matrix_variables=self.matrix_variables,
+ data_directory=self.data_directory,
+ isolated_data_directory=self.isolated_data_directory,
+ platform=Platform(),
+ verbosity=self.verbosity,
+ app=None,
+ )
+ return env However this results in a new Pathlib recursion error (big +1 for Details
❯ rm -rf ./.venv/ ./requirements.txt ./requirements/ && HATCH_DEBUG=1 hatch run test:test
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/__init__.py:221 in │
│ main │
│ │
│ 218 │
│ 219 def main(): # no cov │
│ 220 │ try: │
│ ❱ 221 │ │ hatch(prog_name='hatch', windows_expand_args=False) │
│ 222 │ except Exception: # noqa: BLE001 │
│ 223 │ │ import sys │
│ 224 │
│ │
│ ╭──────────────────────── locals ─────────────────────────╮ │
│ │ Console = <class 'rich.console.Console'> │ │
│ │ console = <console width=214 ColorSystem.TRUECOLOR> │ │
│ │ hatch_debug = True │ │
│ │ sys = <module 'sys' (built-in)> │ │
│ ╰─────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/click/core.py:1157 in │
│ __call__ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/click/core.py:1078 in main │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/click/core.py:1688 in invoke │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/click/core.py:1434 in invoke │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/click/core.py:783 in invoke │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/click/decorators.py:33 in │
│ new_func │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/run/__init__.py:141 │
│ in run │
│ │
│ 138 │ elif not env_name: │
│ 139 │ │ env_name = 'system' │
│ 140 │ │
│ ❱ 141 │ ctx.invoke( │
│ 142 │ │ run_command, │
│ 143 │ │ args=[command, *final_args], │
│ 144 │ │ env_names=[env_name], │
│ │
│ ╭──────────────────────────────────── locals ────────────────────────────────────╮ │
│ │ app = <hatch.cli.application.Application object at 0x10143c110> │ │
│ │ arg = 'test:test' │ │
│ │ args = ('test:test',) │ │
│ │ command = 'test' │ │
│ │ command_start = 0 │ │
│ │ ctx = <click.core.Context object at 0x10143bf50> │ │
│ │ env_name = 'test' │ │
│ │ excluded_variables = [] │ │
│ │ final_args = [] │ │
│ │ first_arg = 'test:test' │ │
│ │ i = 0 │ │
│ │ included_variables = [] │ │
│ │ Path = <class 'hatch.utils.fs.Path'> │ │
│ │ run_command = <Command run> │ │
│ │ separator = ':' │ │
│ ╰────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/click/core.py:783 in invoke │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/click/decorators.py:45 in │
│ new_func │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/env/run.py:128 in │
│ run │
│ │
│ 125 │ elif not matrix_selected and (included_variables or excluded_variables): │
│ 126 │ │ app.abort(f'Variable selection is unsupported for non-matrix environments: {", " │
│ 127 │ │
│ ❱ 128 │ for context in app.runner_context( │
│ 129 │ │ environments, │
│ 130 │ │ ignore_compat=ignore_compat or matrix_selected, │
│ 131 │ │ display_header=matrix_selected, │
│ │
│ ╭─────────────────────────────────────── locals ────────────────────────────────────────╮ │
│ │ app = <hatch.cli.application.Application object at 0x10143c110> │ │
│ │ args = ['test'] │ │
│ │ context = <hatch.utils.runner.ExecutionContext object at 0x100763f10> │ │
│ │ env_name = 'test' │ │
│ │ env_names = ['test'] │ │
│ │ environments = ['test'] │ │
│ │ excluded_variable_specs = [] │ │
│ │ excluded_variables = {} │ │
│ │ filter_json = None │ │
│ │ force_continue = False │ │
│ │ ignore_compat = False │ │
│ │ included_variable_specs = [] │ │
│ │ included_variables = {} │ │
│ │ matrix_selected = False │ │
│ │ ordered_env_names = ['test'] │ │
│ │ parse_matrix_variables = <function parse_matrix_variables at 0x1013ca0c0> │ │
│ │ project = <hatch.project.core.Project object at 0x10119b650> │ │
│ │ select_environments = <function select_environments at 0x1013cb060> │ │
│ ╰───────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:224 │
│ in runner_context │
│ │
│ 221 │ │ │ │ context = ExecutionContext(environment) │
│ 222 │ │ │ │ yield context │
│ 223 │ │ │ │ │
│ ❱ 224 │ │ │ │ self.prepare_environment(environment) │
│ 225 │ │ │ │ with EnvVars(context.env_vars): │
│ 226 │ │ │ │ │ self.run_shell_commands(context) │
│ 227 │
│ │
│ ╭─────────────────────────────────── locals ───────────────────────────────────╮ │
│ │ any_compatible = True │ │
│ │ context = <hatch.utils.runner.ExecutionContext object at 0x100763f10> │ │
│ │ display_header = False │ │
│ │ env_name = 'test' │ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ environments = ['test'] │ │
│ │ EnvVars = <class 'hatch.utils.structures.EnvVars'> │ │
│ │ ignore_compat = False │ │
│ │ incompatible = {} │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ ... 898 frames hidden ... │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:143 │
│ in prepare_environment │
│ │
│ 140 │ │ │ │ │ │ ) │
│ 141 │ │ │
│ 142 │ │ with environment.app_status_dependency_state_check(): │
│ ❱ 143 │ │ │ new_dep_hash = environment.dependency_hash() │
│ 144 │ │ │
│ 145 │ │ current_dep_hash = self.env_metadata.dependency_hash(environment) │
│ 146 │ │ if new_dep_hash != current_dep_hash: │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:105 in dependency_hash │
│ │
│ 102 │ │ """ │
│ 103 │ │ Get the dependency hash │
│ 104 │ │ """ │
│ ❱ 105 │ │ self.run_pip_compile() │
│ 106 │ │ hatch_hash = super().dependency_hash() │
│ 107 │ │ if not self.dependencies: │
│ 108 │ │ │ return hatch_hash │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:117 in run_pip_compile │
│ │
│ 114 │ │ """ │
│ 115 │ │ Run pip-compile if necessary │
│ 116 │ │ """ │
│ ❱ 117 │ │ self.prepare_environment() │
│ 118 │ │ if not self.lockfile_up_to_date: │
│ 119 │ │ │ with self.safe_activation(): │
│ 120 │ │ │ │ self.resolver.install_pypi_dependencies() │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/git/hatch-pip-compile/hatch_pip_compile/plugin.py:369 in prepare_environment │
│ │
│ 366 │ │ Prepare the environment │
│ 367 │ │ """ │
│ 368 │ │ if isinstance(self.app, hatch.cli.Application): │
│ ❱ 369 │ │ │ self.app.prepare_environment(environment=self) │
│ 370 │ │ else: │
│ 371 │ │ │ self._prepare_environment_legacy() │
│ 372 │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/cli/application.py:107 │
│ in prepare_environment │
│ │
│ 104 │ # Ensure that this method is clearly written since it is │
│ 105 │ # used for documenting the life cycle of environments. │
│ 106 │ def prepare_environment(self, environment: EnvironmentInterface): │
│ ❱ 107 │ │ if not environment.exists(): │
│ 108 │ │ │ self.env_metadata.reset(environment) │
│ 109 │ │ │ │
│ 110 │ │ │ with environment.app_status_creation(): │
│ │
│ ╭──────────────────────────────── locals ─────────────────────────────────╮ │
│ │ environment = <PipCompileEnvironment - test> │ │
│ │ self = <hatch.cli.application.Application object at 0x10143c110> │ │
│ ╰─────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/env/virtual.py:171 in │
│ exists │
│ │
│ 168 │ │ │ │ self.storage_path.remove() │
│ 169 │ │
│ 170 │ def exists(self): │
│ ❱ 171 │ │ return self.virtual_env.exists() │
│ 172 │ │
│ 173 │ def install_project(self): │
│ 174 │ │ with self.safe_activation(): │
│ │
│ ╭─────────────── locals ────────────────╮ │
│ │ self = <PipCompileEnvironment - test> │ │
│ ╰───────────────────────────────────────╯ │
│ │
│ /Users/juftin/.local/pipx/venvs/hatch/lib/python3.11/site-packages/hatch/venv/core.py:66 in │
│ exists │
│ │
│ 63 │ │
│ 64 │ def exists(self): │
│ 65 │ │ directory = self.directory │
│ ❱ 66 │ │ return directory.is_dir() │
│ 67 │ │
│ 68 │ @property │
│ 69 │ def executables_directory(self): │
│ │
│ ╭───────────────────────────── locals ─────────────────────────────╮ │
│ │ directory = Path('/Users/juftin/test/hatch-20240512/.venv/test') │ │
│ │ self = <hatch.venv.core.VirtualEnv object at 0x102730290> │ │
│ ╰──────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/.pyenv/versions/3.11.8/lib/python3.11/pathlib.py:1250 in is_dir │
│ │
│ 1247 │ │ Whether this path is a directory. │
│ 1248 │ │ """ │
│ 1249 │ │ try: │
│ ❱ 1250 │ │ │ return S_ISDIR(self.stat().st_mode) │
│ 1251 │ │ except OSError as e: │
│ 1252 │ │ │ if not _ignore_error(e): │
│ 1253 │ │ │ │ raise │
│ │
│ ╭────────────────────────── locals ───────────────────────────╮ │
│ │ self = Path('/Users/juftin/test/hatch-20240512/.venv/test') │ │
│ ╰─────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/.pyenv/versions/3.11.8/lib/python3.11/pathlib.py:1013 in stat │
│ │
│ 1010 │ │ Return the result of the stat() system call on this path, like │
│ 1011 │ │ os.stat() does. │
│ 1012 │ │ """ │
│ ❱ 1013 │ │ return os.stat(self, follow_symlinks=follow_symlinks) │
│ 1014 │ │
│ 1015 │ def owner(self): │
│ 1016 │ │ """ │
│ │
│ ╭──────────────────────────────── locals ────────────────────────────────╮ │
│ │ follow_symlinks = True │ │
│ │ self = Path('/Users/juftin/test/hatch-20240512/.venv/test') │ │
│ ╰────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /Users/juftin/.pyenv/versions/3.11.8/lib/python3.11/pathlib.py:547 in __fspath__ │
│ │
│ 544 │ │ │ return self._str │
│ 545 │ │
│ 546 │ def __fspath__(self): │
│ ❱ 547 │ │ return str(self) │
│ 548 │ │
│ 549 │ def as_posix(self): │
│ 550 │ │ """Return the string representation of the path with forward (/) │
│ │
│ ╭────────────────────────── locals ───────────────────────────╮ │
│ │ self = Path('/Users/juftin/test/hatch-20240512/.venv/test') │ │
│ ╰─────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
RecursionError: maximum recursion depth exceeded while getting the str of an object |
juftin
force-pushed
the
fix/hatch_110_regression
branch
from
May 24, 2024 15:26
532a0fd
to
1ae852b
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Warning
This PR is a work in progress
This PR will eventually resolve a regression issue in hatch
1.10.0
Closes pypa/hatch#1468