{"record":{"id":"386652661c5dc38a","repo":"astral-sh/uv","slug":"hash-checking-is-not-supported-for-local-directori","errorCode":null,"errorMessage":"Hash-checking is not supported for local directories: {}","messagePattern":"Hash-checking is not supported for local directories: (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/uv-requirements/src/source_tree.rs","lineNumber":213,"sourceCode":"        }\n\n        let Ok(url) = Url::from_directory_path(path).map(DisplaySafeUrl::from_url) else {\n            return Err(anyhow::anyhow!(\"Failed to convert path to URL\"));\n        };\n        let source = SourceUrl::Directory(DirectorySourceUrl {\n            url: &url,\n            install_path: path,\n            editable: None,\n        });\n\n        // Determine the hash policy. Since we don't have a package name, we perform a\n        // manual match.\n        let hashes = match self.hasher {\n            HashStrategy::None => HashPolicy::None,\n            HashStrategy::Generate(mode) => HashPolicy::Generate(*mode),\n            HashStrategy::Verify(_) => HashPolicy::Generate(HashGeneration::All),\n            HashStrategy::Require(_) => {\n                return Err(anyhow::anyhow!(\n                    \"Hash-checking is not supported for local directories: {}\",\n                    path.user_display()\n                ));\n            }\n        };\n\n        // Fetch the metadata for the distribution.\n        let metadata = {\n            let id = source.distribution_id();\n            if let Some(response) = self.index.distributions().register_or_wait(&id).await {\n                let MetadataResponse::Found(archive) = &*response else {\n                    panic!(\"Failed to find metadata for: {}\", path.user_display());\n                };\n                archive.metadata.clone()\n            } else {\n                // Run the PEP 517 build process to extract metadata from the source distribution.\n                let source = BuildableSource::Url(source);\n                let archive = self.database.build_wheel_metadata(&source, hashes).await?;","sourceCodeStart":195,"sourceCodeEnd":231,"githubUrl":"https://github.com/astral-sh/uv/blob/f1a42680ff5272232d65748acf338b19778dde24/crates/uv-requirements/src/source_tree.rs#L195-L231","documentation":"Error \"Hash-checking is not supported for local directories: {}\" thrown in astral-sh/uv.","triggerScenarios":"Thrown at crates/uv-requirements/src/source_tree.rs:213 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f1a42680ff5272232d65748acf338b19778dde24","analyzedAt":"2026-08-16T04:51:47.599Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}