Resolve a package's ``*.dev`` dependency pins to local workspace project directories. Args: project: The ``[project]`` table of the package being checked. workspace_dirs: Mapping from distribution name to project dir (see :func:`_workspace_package_dirs`). Return
(
project: dict, workspace_dirs: dict[str, Path]
)
| 226 | |
| 227 | |
| 228 | def _local_dev_sources( |
| 229 | project: dict, workspace_dirs: dict[str, Path] |
| 230 | ) -> tuple[Path, ...]: |
| 231 | """Resolve a package's ``*.dev`` dependency pins to local workspace project directories. |
| 232 | |
| 233 | Args: |
| 234 | project: The ``[project]`` table of the package being checked. |
| 235 | workspace_dirs: Mapping from distribution name to project dir (see |
| 236 | :func:`_workspace_package_dirs`). |
| 237 | |
| 238 | Returns: |
| 239 | The project directories of the sibling workspace packages this package pins to an |
| 240 | unpublished development release, deduplicated and in declaration order. |
| 241 | """ |
| 242 | sources: list[Path] = [] |
| 243 | seen: set[str] = set() |
| 244 | for dependency in _published_dependencies(project): |
| 245 | name, is_dev = _parse_requirement(dependency) |
| 246 | if is_dev and name in workspace_dirs and name not in seen: |
| 247 | seen.add(name) |
| 248 | sources.append(workspace_dirs[name]) |
| 249 | return tuple(sources) |
| 250 | |
| 251 | |
| 252 | def discover_packages() -> list[Package]: |
no test coverage detected