{"id":27490343,"url":"https://github.com/microsoft/artifacts-keyring","last_synced_at":"2025-04-16T20:55:10.720Z","repository":{"id":51081014,"uuid":"155441340","full_name":"microsoft/artifacts-keyring","owner":"microsoft","description":"Keyring backend for Azure Artifacts","archived":false,"fork":false,"pushed_at":"2025-04-15T22:16:03.000Z","size":85,"stargazers_count":34,"open_issues_count":9,"forks_count":19,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-15T23:20:21.253Z","etag":null,"topics":["azure-artifacts","keyring","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-10-30T19:04:40.000Z","updated_at":"2025-04-06T09:11:33.000Z","dependencies_parsed_at":"2024-03-14T17:51:19.820Z","dependency_job_id":"4f9aa490-d6b2-4788-b4e6-6e0846aaeca3","html_url":"https://github.com/microsoft/artifacts-keyring","commit_stats":{"total_commits":51,"total_committers":12,"mean_commits":4.25,"dds":0.5294117647058824,"last_synced_commit":"97436d0b468aac7aa43d69a2b6bf33827e94edbd"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fartifacts-keyring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fartifacts-keyring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fartifacts-keyring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fartifacts-keyring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/artifacts-keyring/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249169934,"owners_count":21223980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-artifacts","keyring","python"],"created_at":"2025-04-16T20:55:10.025Z","updated_at":"2025-04-16T20:55:10.714Z","avatar_url":"https://github.com/microsoft.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## NOTE\n'artifacts-keyring' is a relatively thin wrapper around [artifacts-credprovider](https://github.com/microsoft/artifacts-credprovider).  Make sure to also look at that repository for more information about different scenarios. For example:\n\n* [Environment variable to explicitly override tokens](https://github.com/microsoft/artifacts-credprovider)\n* [Safely using credentials in docker](https://github.com/dotnet/dotnet-docker/blob/master/documentation/scenarios/nuget-credentials.md#using-the-azure-artifact-credential-provider)\n\n# artifacts-keyring\n\nThe `artifacts-keyring` package provides authentication for publishing or consuming Python packages to or from Azure Artifacts feeds within [Azure DevOps](https://azure.com/devops).\n\nThis package is an extension to [keyring](https://pypi.org/project/keyring), which will automatically find and use it once installed.\n\nBoth [pip](https://pypi.org/project/pip) and [twine](https://pypi.org/project/twine) will use `keyring` to\nfind credentials.\n\n## Installation\n\nTo install this package, run the following `pip` command:\n\n```\npip install artifacts-keyring\n```\n\n## Usage\n\n### Requirements\n\nTo use `artifacts-keyring` to set up authentication between `pip`/`twine` and Azure Artifacts, the following requirements must be met:\n\n* pip version **19.2** or higher\n* twine version **1.13.0** or higher\n* python version **3.0** or higher\n* .NET runtime 8.0.X or later is installed. Refer to [here](https://learn.microsoft.com/dotnet/core/install/) for installation guideline.\n\n### Publishing packages to an Azure Artifacts feed\nOnce `artifacts-keyring` is installed, to publish a package, use the following `twine` command, replacing **\u003corg_name\u003e** and **\u003cfeed_name\u003e** with your own:\n\n```\ntwine upload --repository-url https://pkgs.dev.azure.com/\u003corg_name\u003e/_packaging/\u003cfeed_name\u003e/pypi/upload \u003cpackage_wheel_or_other_dist_format\u003e\n```\n\n### Installing packages from an Azure Artifacts feed\nOnce `artifacts-keyring` is installed, to consume a package, use the following `pip` command, replacing **\u003corg_name\u003e** and **\u003cfeed_name\u003e** with your own, and **\u003cpackage_name\u003e** with the package you want to install:\n\n```\npip install \u003cpackage_name\u003e --index-url https://pkgs.dev.azure.com/\u003corg_name\u003e/_packaging/\u003cfeed_name\u003e/pypi/simple\n```\n\n## Advanced configuration\nThe `artifacts-keyring` package is layered on top of our [Azure Artifacts Credential Provider](https://github.com/microsoft/artifacts-credprovider). Check out that link to the GitHub repo for more information on configuration options.\n\n### Environment variables\n\n- `ARTIFACTS_KEYRING_NONINTERACTIVE_MODE`: Controls whether the underlying credential provider can issue interactive prompts.\n- `ARTIFACTS_KEYRING_USE_NET8`: Controls whether or not to download the .NET 8 version of the Azure Artifacts Credential Provider.\n\n## Local development\n\n1. Install build dependencies with `pip install .`\n2. Build the project using `python -m build --outdir %DIRECTORY%`\n3. Open a new terminal window in `%DIRECTORY%`, then run `pip install ***.whl --force-reinstall`\n\n## Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fartifacts-keyring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fartifacts-keyring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fartifacts-keyring/lists"}