{"id":"caa7d232e9027559","repo":"python-poetry/poetry","slug":"repository-name-does-not-exist","errorCode":null,"errorMessage":"Repository \"{name}\" does not exist.","messagePattern":"Repository \"(.+?)\" does not exist\\.","errorType":"exception","errorClass":"IndexError","httpStatus":null,"severity":"error","filePath":"src/poetry/repositories/repository_pool.py","lineNumber":128,"sourceCode":"    def _contains_priority(self, priority: Priority) -> bool:\n        return any(\n            prio_repo.priority is priority for prio_repo in self._repositories.values()\n        )\n\n    def has_repository(self, name: str) -> bool:\n        return name.lower() in self._repositories\n\n    def repository(self, name: str) -> Repository:\n        return self._get_prioritized_repository(name).repository\n\n    def get_priority(self, name: str) -> Priority:\n        return self._get_prioritized_repository(name).priority\n\n    def _get_prioritized_repository(self, name: str) -> PrioritizedRepository:\n        name = name.lower()\n        if self.has_repository(name):\n            return self._repositories[name]\n        raise IndexError(f'Repository \"{name}\" does not exist.')\n\n    def add_repository(\n        self, repository: Repository, *, priority: Priority = Priority.PRIMARY\n    ) -> RepositoryPool:\n        \"\"\"\n        Adds a repository to the pool.\n        \"\"\"\n        repository_name = repository.name.lower()\n        if self.has_repository(repository_name):\n            raise ValueError(\n                f\"A repository with name {repository_name} was already added.\"\n            )\n\n        self._repositories[repository_name] = PrioritizedRepository(\n            repository, priority\n        )\n        return self\n","sourceCodeStart":110,"sourceCodeEnd":146,"githubUrl":"https://github.com/python-poetry/poetry/blob/92b74dcfe348d0e01e14d40d6c1fa47a4ee04a54/src/poetry/repositories/repository_pool.py#L110-L146","documentation":"Raised by RepositoryPool._get_prioritized_repository when no repository with the given (lowercased) name is registered (repository_pool.py:124-128). It is triggered by repository(name) and get_priority(name), and commonly surfaces when a dependency declares a source_name that is not defined in the project's source list.","triggerScenarios":"pool.repository('foo') / pool.get_priority('foo') when 'foo' was never added; or a dependency with source_name='foo' resolved through find_packages while 'foo' is not in the pool.","commonSituations":"A [[tool.poetry.source]] entry was removed/renamed but a dependency still references the old name; a typo in the source name on a dependency; source added to one environment config but not another.","solutions":["Add the missing source: `poetry source add <name> <url>`.","Fix the source name typo on the offending dependency in pyproject.toml.","Ensure the source entry exists in the config used by the current environment."],"exampleFix":"// before\n[tool.poetry.dependencies]\nprivate-lib = { version = \"^1.0\", source = \"privatelib\" }   # no such source\n// after\n[[tool.poetry.source]]\nname = \"privatelib\"\nurl = \"https://repo.example.com/simple/\"\n[tool.poetry.dependencies]\nprivate-lib = { version = \"^1.0\", source = \"privatelib\" }","handlingStrategy":"validation","validationCode":"if not pool.has_repository(source_name):\n    raise KeyError(\n        f\"source '{source_name}' is not configured; \"\n        \"add it via `poetry source add %s <url>\" % source_name\n    )\nrepo = pool.repository(source_name)","typeGuard":null,"tryCatchPattern":"try:\n    repo = pool.repository(source_name)\nexcept IndexError as e:\n    if \"does not exist\" in str(e):\n        log.error(\"unknown source '%s'; check [[tool.poetry.source]]\", source_name)\n    raise","preventionTips":["Define every source a dependency references in [[tool.poetry.source]].","Use `poetry source show` to confirm configured sources before resolving.","Keep source names consistent across environments/CI."],"tags":["repository-pool","config","source-name"],"analyzedSha":"92b74dcfe348d0e01e14d40d6c1fa47a4ee04a54","analyzedAt":"2026-08-04T20:33:34.072Z","schemaVersion":2}