2025-11-28T04:45:55,180 Created temporary directory: /tmp/pip-ephem-wheel-cache-95t7fa6f 2025-11-28T04:45:55,182 Created temporary directory: /tmp/pip-build-tracker-weitnpof 2025-11-28T04:45:55,182 Initialized build tracking at /tmp/pip-build-tracker-weitnpof 2025-11-28T04:45:55,183 Created build tracker: /tmp/pip-build-tracker-weitnpof 2025-11-28T04:45:55,183 Entered build tracker: /tmp/pip-build-tracker-weitnpof 2025-11-28T04:45:55,184 Created temporary directory: /tmp/pip-wheel-50jjrwpp 2025-11-28T04:45:55,187 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453 2025-11-28T04:45:55,189 Created temporary directory: /tmp/pip-ephem-wheel-cache-_yos1ixr 2025-11-28T04:45:55,211 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-11-28T04:45:55,215 2 location(s) to search for versions of iflow-mcp-weather: 2025-11-28T04:45:55,215 * https://pypi.org/simple/iflow-mcp-weather/ 2025-11-28T04:45:55,215 * https://www.piwheels.org/simple/iflow-mcp-weather/ 2025-11-28T04:45:55,216 Fetching project page and analyzing links: https://pypi.org/simple/iflow-mcp-weather/ 2025-11-28T04:45:55,217 Getting page https://pypi.org/simple/iflow-mcp-weather/ 2025-11-28T04:45:55,218 Found index url https://pypi.org/simple 2025-11-28T04:45:55,432 Fetched page https://pypi.org/simple/iflow-mcp-weather/ as application/vnd.pypi.simple.v1+json 2025-11-28T04:45:55,434 Found link https://files.pythonhosted.org/packages/09/70/e4e62605d96a8a045e0c81923ac8e47e0fbcb05dd72e908a680c5573b6b7/iflow_mcp_weather-0.1.0.tar.gz (from https://pypi.org/simple/iflow-mcp-weather/) (requires-python:>=3.10), version: 0.1.0 2025-11-28T04:45:55,434 Fetching project page and analyzing links: https://www.piwheels.org/simple/iflow-mcp-weather/ 2025-11-28T04:45:55,435 Getting page https://www.piwheels.org/simple/iflow-mcp-weather/ 2025-11-28T04:45:55,437 Found index url https://www.piwheels.org/simple 2025-11-28T04:45:55,596 Fetched page https://www.piwheels.org/simple/iflow-mcp-weather/ as text/html 2025-11-28T04:45:55,597 Skipping link: not a file: https://www.piwheels.org/simple/iflow-mcp-weather/ 2025-11-28T04:45:55,598 Skipping link: not a file: https://pypi.org/simple/iflow-mcp-weather/ 2025-11-28T04:45:55,617 Given no hashes to check 1 links for project 'iflow-mcp-weather': discarding no candidates 2025-11-28T04:45:55,635 Collecting iflow-mcp-weather==0.1.0 2025-11-28T04:45:55,638 Created temporary directory: /tmp/pip-unpack-gb7wqp46 2025-11-28T04:45:55,849 Downloading iflow_mcp_weather-0.1.0.tar.gz (47 kB) 2025-11-28T04:45:55,913 Added iflow-mcp-weather==0.1.0 from https://files.pythonhosted.org/packages/09/70/e4e62605d96a8a045e0c81923ac8e47e0fbcb05dd72e908a680c5573b6b7/iflow_mcp_weather-0.1.0.tar.gz to build tracker '/tmp/pip-build-tracker-weitnpof' 2025-11-28T04:45:55,916 Created temporary directory: /tmp/pip-build-env-zrmptrvc 2025-11-28T04:45:55,921 Installing build dependencies: started 2025-11-28T04:45:55,922 Running command pip subprocess to install build dependencies 2025-11-28T04:45:57,066 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2025-11-28T04:45:57,666 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453 2025-11-28T04:45:57,689 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-11-28T04:45:58,194 Collecting hatchling 2025-11-28T04:45:58,212 Using cached https://www.piwheels.org/simple/hatchling/hatchling-1.28.0-py3-none-any.whl (76 kB) 2025-11-28T04:45:58,393 Collecting packaging>=24.2 2025-11-28T04:45:58,409 Using cached https://www.piwheels.org/simple/packaging/packaging-25.0-py3-none-any.whl (66 kB) 2025-11-28T04:45:58,513 Collecting pathspec>=0.10.1 2025-11-28T04:45:58,527 Using cached https://www.piwheels.org/simple/pathspec/pathspec-0.12.1-py3-none-any.whl (31 kB) 2025-11-28T04:45:58,645 Collecting pluggy>=1.0.0 2025-11-28T04:45:58,659 Using cached https://www.piwheels.org/simple/pluggy/pluggy-1.6.0-py3-none-any.whl (20 kB) 2025-11-28T04:45:58,905 Collecting trove-classifiers 2025-11-28T04:45:58,919 Using cached https://www.piwheels.org/simple/trove-classifiers/trove_classifiers-2025.11.14.15-py3-none-any.whl (14 kB) 2025-11-28T04:46:01,497 Installing collected packages: trove-classifiers, pluggy, pathspec, packaging, hatchling 2025-11-28T04:46:01,532 Creating /tmp/pip-build-env-zrmptrvc/overlay/local/bin 2025-11-28T04:46:01,534 changing mode of /tmp/pip-build-env-zrmptrvc/overlay/local/bin/trove-classifiers to 755 2025-11-28T04:46:02,320 changing mode of /tmp/pip-build-env-zrmptrvc/overlay/local/bin/hatchling to 755 2025-11-28T04:46:02,360 Successfully installed hatchling-1.28.0 packaging-25.0 pathspec-0.12.1 pluggy-1.6.0 trove-classifiers-2025.11.14.15 2025-11-28T04:46:02,606 Installing build dependencies: finished with status 'done' 2025-11-28T04:46:02,613 Getting requirements to build wheel: started 2025-11-28T04:46:02,614 Running command Getting requirements to build wheel 2025-11-28T04:46:02,932 Getting requirements to build wheel: finished with status 'done' 2025-11-28T04:46:02,936 Created temporary directory: /tmp/pip-modern-metadata-yz_jd_1m 2025-11-28T04:46:02,938 Preparing metadata (pyproject.toml): started 2025-11-28T04:46:02,940 Running command Preparing metadata (pyproject.toml) 2025-11-28T04:46:03,390 Traceback (most recent call last): 2025-11-28T04:46:03,390 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in 2025-11-28T04:46:03,391 main() 2025-11-28T04:46:03,391 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main 2025-11-28T04:46:03,392 json_out['return_val'] = hook(**hook_input['kwargs']) 2025-11-28T04:46:03,393 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,393 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel 2025-11-28T04:46:03,394 whl_basename = backend.build_wheel(metadata_directory, config_settings) 2025-11-28T04:46:03,395 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,395 File "/tmp/pip-build-env-zrmptrvc/overlay/local/lib/python3.11/dist-packages/hatchling/build.py", line 58, in build_wheel 2025-11-28T04:46:03,396 return os.path.basename(next(builder.build(directory=wheel_directory, versions=["standard"]))) 2025-11-28T04:46:03,396 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,397 File "/tmp/pip-build-env-zrmptrvc/overlay/local/lib/python3.11/dist-packages/hatchling/builders/plugin/interface.py", line 157, in build 2025-11-28T04:46:03,398 artifact = version_api[version](directory, **build_data) 2025-11-28T04:46:03,398 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,399 File "/tmp/pip-build-env-zrmptrvc/overlay/local/lib/python3.11/dist-packages/hatchling/builders/wheel.py", line 503, in build_standard 2025-11-28T04:46:03,400 for included_file in self.recurse_included_files(): 2025-11-28T04:46:03,400 File "/tmp/pip-build-env-zrmptrvc/overlay/local/lib/python3.11/dist-packages/hatchling/builders/plugin/interface.py", line 178, in recurse_included_files 2025-11-28T04:46:03,401 yield from self.recurse_selected_project_files() 2025-11-28T04:46:03,402 File "/tmp/pip-build-env-zrmptrvc/overlay/local/lib/python3.11/dist-packages/hatchling/builders/plugin/interface.py", line 182, in recurse_selected_project_files 2025-11-28T04:46:03,403 if self.config.only_include: 2025-11-28T04:46:03,404 ^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,404 File "/usr/lib/python3.11/functools.py", line 1001, in __get__ 2025-11-28T04:46:03,405 val = self.func(instance) 2025-11-28T04:46:03,406 ^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,406 File "/tmp/pip-build-env-zrmptrvc/overlay/local/lib/python3.11/dist-packages/hatchling/builders/config.py", line 715, in only_include 2025-11-28T04:46:03,407 only_include = only_include_config.get("only-include", self.default_only_include()) or self.packages 2025-11-28T04:46:03,408 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,409 File "/tmp/pip-build-env-zrmptrvc/overlay/local/lib/python3.11/dist-packages/hatchling/builders/wheel.py", line 268, in default_only_include 2025-11-28T04:46:03,409 return self.default_file_selection_options.only_include 2025-11-28T04:46:03,410 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,411 File "/usr/lib/python3.11/functools.py", line 1001, in __get__ 2025-11-28T04:46:03,412 val = self.func(instance) 2025-11-28T04:46:03,412 ^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,413 File "/tmp/pip-build-env-zrmptrvc/overlay/local/lib/python3.11/dist-packages/hatchling/builders/wheel.py", line 256, in default_file_selection_options 2025-11-28T04:46:03,414 raise ValueError(message) 2025-11-28T04:46:03,415 ValueError: Unable to determine which files to ship inside the wheel using the following heuristics: https://hatch.pypa.io/latest/plugins/builder/wheel/#default-file-selection 2025-11-28T04:46:03,416 The most likely cause of this is that there is no directory that matches the name of your project (iflow_mcp_weather). 2025-11-28T04:46:03,418 At least one file selection option must be defined in the `tool.hatch.build.targets.wheel` table, see: https://hatch.pypa.io/latest/config/build/ 2025-11-28T04:46:03,420 As an example, if you intend to ship a directory named `foo` that resides within a `src` directory located at the root of your project, you can define the following: 2025-11-28T04:46:03,422 [tool.hatch.build.targets.wheel] 2025-11-28T04:46:03,423 packages = ["src/foo"] 2025-11-28T04:46:03,456 ERROR: [present-rich] Preparing metadata (pyproject.toml) exited with 1 2025-11-28T04:46:03,469 [bold magenta]full command[/]: [blue]/usr/bin/python3 /usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpbayu4p8n[/] 2025-11-28T04:46:03,469 [bold magenta]cwd[/]: /tmp/pip-wheel-50jjrwpp/iflow-mcp-weather_2bc269449fa84dd0b5587709085bc679 2025-11-28T04:46:03,470 Preparing metadata (pyproject.toml): finished with status 'error' 2025-11-28T04:46:03,472 ERROR: [present-rich] metadata generation failed 2025-11-28T04:46:03,478 Exception information: 2025-11-28T04:46:03,478 Traceback (most recent call last): 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata 2025-11-28T04:46:03,478 distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/utils/misc.py", line 746, in prepare_metadata_for_build_wheel 2025-11-28T04:46:03,478 return super().prepare_metadata_for_build_wheel( 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel 2025-11-28T04:46:03,478 return self._call_hook('prepare_metadata_for_build_wheel', { 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_impl.py", line 311, in _call_hook 2025-11-28T04:46:03,478 self._subprocess_runner( 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 252, in runner 2025-11-28T04:46:03,478 call_subprocess( 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess 2025-11-28T04:46:03,478 raise error 2025-11-28T04:46:03,478 pip._internal.exceptions.InstallationSubprocessError: Preparing metadata (pyproject.toml) exited with 1 2025-11-28T04:46:03,478 2025-11-28T04:46:03,478 The above exception was the direct cause of the following exception: 2025-11-28T04:46:03,478 2025-11-28T04:46:03,478 Traceback (most recent call last): 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper 2025-11-28T04:46:03,478 status = run_func(*args) 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 247, in wrapper 2025-11-28T04:46:03,478 return func(self, options, args) 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 170, in run 2025-11-28T04:46:03,478 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve 2025-11-28T04:46:03,478 result = self._result = resolver.resolve( 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 481, in resolve 2025-11-28T04:46:03,478 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 348, in resolve 2025-11-28T04:46:03,478 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria 2025-11-28T04:46:03,478 if not criterion.candidates: 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__ 2025-11-28T04:46:03,478 return bool(self._sequence) 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__ 2025-11-28T04:46:03,478 return any(self) 2025-11-28T04:46:03,478 ^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in 2025-11-28T04:46:03,478 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built 2025-11-28T04:46:03,478 candidate = func() 2025-11-28T04:46:03,478 ^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link 2025-11-28T04:46:03,478 self._link_candidate_cache[link] = LinkCandidate( 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 297, in __init__ 2025-11-28T04:46:03,478 super().__init__( 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__ 2025-11-28T04:46:03,478 self.dist = self._prepare() 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 231, in _prepare 2025-11-28T04:46:03,478 dist = self._prepare_distribution() 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 308, in _prepare_distribution 2025-11-28T04:46:03,478 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 491, in prepare_linked_requirement 2025-11-28T04:46:03,478 return self._prepare_linked_requirement(req, parallel_builds) 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 577, in _prepare_linked_requirement 2025-11-28T04:46:03,478 dist = _get_prepared_distribution( 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution 2025-11-28T04:46:03,478 abstract_dist.prepare_distribution_metadata( 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata 2025-11-28T04:46:03,478 self.req.prepare_metadata() 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 539, in prepare_metadata 2025-11-28T04:46:03,478 self.metadata_directory = generate_metadata( 2025-11-28T04:46:03,478 ^^^^^^^^^^^^^^^^^^ 2025-11-28T04:46:03,478 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata.py", line 37, in generate_metadata 2025-11-28T04:46:03,478 raise MetadataGenerationFailed(package_details=details) from error 2025-11-28T04:46:03,478 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-11-28T04:46:03,493 Removed iflow-mcp-weather==0.1.0 from https://files.pythonhosted.org/packages/09/70/e4e62605d96a8a045e0c81923ac8e47e0fbcb05dd72e908a680c5573b6b7/iflow_mcp_weather-0.1.0.tar.gz from build tracker '/tmp/pip-build-tracker-weitnpof' 2025-11-28T04:46:03,494 Removed build tracker: '/tmp/pip-build-tracker-weitnpof'