Poetry Azure Artifacts Plugin

This is a Poetry plugin that transparently takes
care of authentication with Azure Artifacts feeds. This is heavily based on
semgrep/poetry-codeartifact-plugin.
Usage
This plugin requires Python 3.9+ which is a bit less lenient than Poetry itself.
Install this plugin with
poetry self add poetry-azure-artifacts-plugin
or
pipx inject poetry poetry-azure-artifacts-plugin
In your pyproject.toml
file, add your Azure Artifacts feed URL as a source.
[[tool.poetry.source]]
name = "ado"
url = "https://pkgs.dev.azure.com/{organization}/_packaging/{feed}/pypi/simple/"
priority = "primary"
Now, when running poetry install
, or poetry lock
, Poetry will automatically
fetch credentials for your Azure Artifacts feed, utilizing
artifacts-keyring.
Note: artifacts-keyring
requires dotnet
to be installed and available
in your PATH.
This works by recognizing authentication failures to URLs containing
pkgs.dev.azure.com
or pkgs.visualstudio.com
. If you have an on-premises
Azure DevOps server that works with artifacts-keyring
, instead make the
source name include the text azure-artifacts
:
[[tool.poetry.source]]
name = "azure-artifacts-feed"
url = "https://devops.mydomain.com/{organization}/_packaging/{feed}/pypi/simple/"
priority = "primary"
Development
Use the provided devcontainer
or run the following for local development:
uv tool install vscode-task-runner
vtr install