Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

    If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

    PyPI connector to Azure Artifacts returns 401, same URL and PAT work with curl

    Scheduled Pinned Locked Moved Support
    2 Posts 2 Posters 5 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      carl.westman_8110
      last edited by

      Hi there! I have some problems hooking up our Azure Artifacts pypi feed to Proget for a smooth transition from Azure Artifacts to Proget, wonder if you have some input :)

      ProGet 2026.11 (Build 19), Basic Edition. PyPI feed with a connector to an Azure Artifacts PyPI feed:

      • Connector URL: https://pkgs.dev.azure.com/<org>/_packaging/<feed>/pypi (simple path left at the default simple/)
      • Authentication: Basic, user name azure, password = Azure DevOps PAT with Packaging (Read)

      Requesting a package through the ProGet feed returns "Package not found", and the Diagnostic Center logs:

      Connector error: The remote server returned an error: (401) Unauthorized.
      System.Net.WebException ... at Inedo.ProGet.Feeds.Pypi.PypiConnector.GetSimpleProjectDetailAsync(String projectName, ...) PypiConnector.cs:line 102

      The same request from the ProGet host's network with curl succeeds: curl -u azure:<PAT> https://pkgs.dev.azure.com/<org>/_packaging/<feed>/pypi/simple/<package>/ returns 200, for both the HTML and the application/vnd.pypi.simple.v1+json Accept header. With a valid PAT Azure returns 404 for wrong paths, so the 401 means the connector's credentials are not accepted. Re-entering the password in the UI and via the management API makes no difference. Azure's 401 challenge lists three schemes in this order: WWW-Authenticate: Bearer authorization_uri=..., Basic realm="...", TFS-Federated. Is it possible the Basic credentials are only sent after a challenge and the Bearer entry is picked instead? Is there a way to make the PyPI connector send Basic credentials preemptively?

      Cheers
      Carl

      https://github.com/Wesztman

      rhessingerR 1 Reply Last reply Reply Quote 0
      • rhessingerR Offline
        rhessinger inedo-engineer @carl.westman_8110
        last edited by

        Hi @carl.westman_8110,

        I ran a test against our test Dev Ops instance. I created a connector and I used basic authentication with my Microsoft account username (my email) as the username and the PAT as the password. I found it was finding my package, but ADO's simple API was not returning the file list which is causing our connector to skip over it. We are currently investigating this further.

        As a work around, have you tried importing those packages into your ProGet feed? You can do that by using Import Package -> Download Package from Another Source. That will allow you to import all the packages and version from your ADO artifact feed.

        Thanks,
        Rich

        Products Engineer, Inedo

        1 Reply Last reply Reply Quote 0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        • 1 / 1
        • First post
          Last post
        Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation