Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Using Azure Artifacts, you can publish and download packages from feeds and public registries such as PyPi. This quickstart guides you through creating a feed, configuring your project, and managing Python packages in your Azure Artifacts feed.
Prerequisites
Product | Requirements |
---|---|
Azure DevOps | - An Azure DevOps organization. - An Azure DevOps project. - Download and install Python. |
Get the code
If you don't have your own Python project, you can use the following sample Python project. Otherwise, you can skip to the next section:
https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
To build your wheel and source distribution, run the following commands in your project directory:
pip install --upgrade build python -m build
If your Python project has a setup.py file, you can also build your package using:
python setup.py sdist bdist_wheel
Create a feed
Sign in to your Azure DevOps organization and navigate to your project.
Select Artifacts, and then select Create Feed.
Provide a Name for your feed, choose the Visibility option that defines who can view your packages, check Include packages from common public sources if you want to include packages from sources like nuget.org or npmjs.com, and for Scope, decide whether the feed should be scoped to your project or the entire organization.
Select Create when you're done.
Sign in to your Azure DevOps server, and then go to your project.
Select Artifacts, and then select Create Feed.
Provide a Name for your feed, choose the Visibility option that defines who can view your packages, check Include packages from common public sources if you want to include packages from sources like nuget.org or npmjs.com, and for Scope, decide whether the feed should be scoped to your project or the entire organization.
Select Create when you're done.
Select Create when you're done.
Note
By default, the Build Service for the project (for example: projectName Build Service (orgName)) is assigned the Feed and Upstream Reader (Collaborator) role when a new feed is created.
Connect to your feed
Sign in to your Azure DevOps organization, and then navigate to your project.
Select Artifacts, select your feed from the dropdown menu, and then select Connect to feed.
Under the Python section, select twine.
If this is your first time using Azure Artifacts with twine, select Get the tools and follow the instructions to download Python and install Twine and the artifacts keyring.
Create a pypirc file in your home directory and paste the snippet provided in the Project setup section. Your file should look like this:
[distutils] Index-servers = FEED_NAME [FEED_NAME] Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
Note
If your .pypirc file already includes credentials for the public PyPI index, we recommend removing the [pypi]
section to avoid accidentally publishing private packages to PyPI.
Publish packages to your feed
In your project directory, run the following command to create source and wheel distributions:
python setup.py sdist bdist_wheel
To publish your package, use the command below. Be sure to use the -r FEED_NAME flag to avoid accidentally publishing to PyPI:
twine upload -r <FEED_NAME> dist/*
Install packages from your feed
To install packages from your feed, run the following command in your project directory:
pip install
To install a specific package, replace the placeholder with the package name from your feed:
pip install <PACKAGE_NAME>