-
-
Notifications
You must be signed in to change notification settings - Fork 3
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
Conversation
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 |
532a0fd
to
1ae852b
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #80 +/- ##
==========================================
- Coverage 95.88% 91.99% -3.90%
==========================================
Files 18 17 -1
Lines 972 899 -73
Branches 160 160
==========================================
- Hits 932 827 -105
- Misses 25 42 +17
- Partials 15 30 +15 ☔ View full report in Codecov by Sentry. |
c63ced8
to
5701812
Compare
5701812
to
74db67a
Compare
🎉 This PR is included in version 1.11.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Resolves an issue where
SafeApplication
is injected into the hatch environment.This PR will resolve a regression issue in hatch
1.10.0
Closes pypa/hatch#1468