{"record":{"id":"7ac07a98a3a471b6","repo":"dbt-labs/dbt-core","slug":"missing-project-table","errorCode":null,"errorMessage":"{}: missing `[project]` table","messagePattern":"(.+?): missing `\\[project\\]` table","errorType":"validation","errorClass":"anyhow","httpStatus":null,"severity":"error","filePath":"crates/dbt-ci/src/pyproject.rs","lineNumber":73,"sourceCode":"    let dir = if dir.is_absolute() {\n        dir.to_path_buf()\n    } else {\n        cargo_workspace_root().join(dir)\n    };\n    parse(dir)\n}\n\nfn parse(pyproject_dir: PathBuf) -> Result<Spec> {\n    let pp_path = pyproject_dir.join(\"pyproject.toml\");\n    let text = fs::read_to_string(&pp_path)\n        .with_context(|| format!(\"failed to read {}\", pp_path.display()))?;\n    let doc: DocumentMut = text\n        .parse()\n        .with_context(|| format!(\"failed to parse {}\", pp_path.display()))?;\n\n    let project = doc\n        .get(\"project\")\n        .ok_or_else(|| anyhow!(\"{}: missing `[project]` table\", pp_path.display()))?;\n\n    let wheel_name = project\n        .get(\"name\")\n        .and_then(|v| v.as_str())\n        .ok_or_else(|| anyhow!(\"{}: missing `[project].name`\", pp_path.display()))?\n        .to_string();\n\n    let summary = project\n        .get(\"description\")\n        .and_then(|v| v.as_str())\n        .map(str::to_string);\n\n    let requires_python = project\n        .get(\"requires-python\")\n        .and_then(|v| v.as_str())\n        .map(str::to_string);\n\n    let dependencies = string_array(project, \"dependencies\");","sourceCodeStart":55,"sourceCodeEnd":91,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-ci/src/pyproject.rs#L55-L91","documentation":"pyproject parsing for the python-packaging Spec failed because the pyproject.toml in the resolved directory has no top-level [project] table — the name/version/metadata the packer and publisher rely on cannot be read. The message names the offending file path.","triggerScenarios":"Thrown at crates/dbt-ci/src/pyproject.rs:73 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add a [project] table with at least name and version to the referenced pyproject.toml","Point discover/parse at the directory that contains the correct pyproject.toml","Confirm the file wasn't truncated or replaced by a cargo-only manifest"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0267ce9170576975b76b64ce856b2e5848e96617","analyzedAt":"2026-09-07T21:53:39.732Z","contentChangedAt":"2026-09-07T21:53:39.732Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}