pypa / twine

Utilities for interacting with PyPI
https://twine.readthedocs.io/
Apache License 2.0
1.61k stars 308 forks source link

Make keyring dependency optional #1018

Closed matejsp closed 1 year ago

matejsp commented 1 year ago

Your Environment

Thank you for taking the time to report an issue.

To more efficiently resolve this issue, we'd like to know some basic information about your system and setup.

1) Your operating system: Linux

2) Version of python you are running:

Python 3.11.2

3) How did you install twine? Did you use your operating system's package manager or pip or something else? pip install twine

4) Version of twine you have installed (include complete output of):

bash-5.2# twine --version
twine version 4.0.2 (importlib-metadata: 6.8.0, keyring: 24.2.0, pkginfo: 1.9.6, requests: 2.31.0, requests-toolbelt: 1.0.0, urllib3: 2.0.6)

5) Which package repository are you targeting? nexus

If you're having issues uploading a specific package, you must include a copy of the following:

The Issue

Essentially I would like keyring to be optional dependency because it is not really needed (especially on CI). And you can always install it if needed. We use TWINE_PASSWORD and TWINE_USERNAME. We are building depedencies on jenkins with docker images and would like to keep pinned dependencies to the minimum and using non binary wheels if possible.

Steps to Reproduce

If the issue is predictable and consistently reproducible, please list the steps here.

pip install twine

Looking in indexes: https://username:pass@nnexus.somecompany.net/repository/pypi/simple
Collecting twine
  Downloading https://nexus.somecompany.net/repository/pypi/packages/twine/4.0.2/twine-4.0.2-py3-none-any.whl (36 kB)
Collecting pkginfo>=1.8.1
  Downloading https://nexus.somecompany.net/repository/pypi/packages/pkginfo/1.9.6/pkginfo-1.9.6-py3-none-any.whl (30 kB)
Collecting readme-renderer>=35.0
  Downloading https://nexus.somecompany.net/repository/pypi/packages/readme-renderer/41.0/readme_renderer-41.0-py3-none-any.whl (14 kB)
Collecting requests>=2.20
  Downloading https://nexus.somecompany.net/repository/pypi/packages/requests/2.31.0/requests-2.31.0-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 2.8 MB/s eta 0:00:00
Collecting requests-toolbelt!=0.9.0,>=0.8.0
  Downloading https://nexus.somecompany.net/repository/pypi/packages/requests-toolbelt/1.0.0/requests_toolbelt-1.0.0-py2.py3-none-any.whl (51 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 51.6/51.6 kB 2.7 MB/s eta 0:00:00
Collecting urllib3>=1.26.0
  Downloading https://nexus.somecompany.net/repository/pypi/packages/urllib3/2.0.6/urllib3-2.0.6-py3-none-any.whl (123 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 123.8/123.8 kB 4.5 MB/s eta 0:00:00
Collecting importlib-metadata>=3.6
  Downloading https://nexus.somecompany.net/repository/pypi/packages/importlib-metadata/6.8.0/importlib_metadata-6.8.0-py3-none-any.whl (22 kB)
Collecting keyring>=15.1
  Downloading https://nexus.somecompany.net/repository/pypi/packages/keyring/24.2.0/keyring-24.2.0-py3-none-any.whl (37 kB)
Collecting rfc3986>=1.4.0
  Downloading https://nexus.somecompany.net/repository/pypi/packages/rfc3986/2.0.0/rfc3986-2.0.0-py2.py3-none-any.whl (31 kB)
Collecting rich>=12.0.0
  Downloading https://nexus.somecompany.net/repository/pypi/packages/rich/13.5.2/rich-13.5.2-py3-none-any.whl (239 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 239.7/239.7 kB 3.9 MB/s eta 0:00:00
Collecting zipp>=0.5
  Downloading https://nexus.somecompany.net/repository/pypi/packages/zipp/3.16.2/zipp-3.16.2-py3-none-any.whl (7.2 kB)
Collecting jaraco.classes
  Downloading https://nexus.somecompany.net/repository/pypi/packages/jaraco-classes/3.3.0/jaraco.classes-3.3.0-py3-none-any.whl (5.9 kB)
Collecting SecretStorage>=3.2
  Downloading https://nexus.somecompany.net/repository/pypi/packages/secretstorage/3.3.3/SecretStorage-3.3.3-py3-none-any.whl (15 kB)
Collecting jeepney>=0.4.2
  Downloading https://nexus.somecompany.net/repository/pypi/packages/jeepney/0.8.0/jeepney-0.8.0-py3-none-any.whl (48 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.4/48.4 kB 5.5 MB/s eta 0:00:00
Collecting bleach>=2.1.0
  Downloading https://nexus.somecompany.net/repository/pypi/packages/bleach/5.0.1/bleach-5.0.1-py3-none-any.whl (160 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 160.9/160.9 kB 36.9 MB/s eta 0:00:00
Collecting docutils>=0.13.1
  Downloading https://nexus.somecompany.net/repository/pypi/packages/docutils/0.20.1/docutils-0.20.1-py3-none-any.whl (572 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 572.7/572.7 kB 6.2 MB/s eta 0:00:00
Collecting Pygments>=2.5.1
  Downloading https://nexus.somecompany.net/repository/pypi/packages/pygments/2.16.1/Pygments-2.16.1-py3-none-any.whl (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 4.1 MB/s eta 0:00:00
Collecting charset-normalizer<4,>=2
  Downloading https://nexus.somecompany.net/repository/pypi/packages/charset-normalizer/3.2.0/charset_normalizer-3.2.0-py3-none-any.whl (46 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.7/46.7 kB 5.7 MB/s eta 0:00:00
Collecting idna<4,>=2.5
  Downloading https://nexus.somecompany.net/repository/pypi/packages/idna/3.4/idna-3.4-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 4.5 MB/s eta 0:00:00
Collecting certifi>=2017.4.17
  Downloading https://nexus.somecompany.net/repository/pypi/packages/certifi/2023.7.22/certifi-2023.7.22-py3-none-any.whl (158 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.3/158.3 kB 4.6 MB/s eta 0:00:00
Collecting markdown-it-py>=2.2.0
  Downloading https://nexus.somecompany.net/repository/pypi/packages/markdown-it-py/3.0.0/markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.5/87.5 kB 5.0 MB/s eta 0:00:00
Collecting six>=1.9.0
  Downloading https://nexus.somecompany.net/repository/pypi/packages/six/1.16.0/six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting webencodings
  Downloading https://nexus.somecompany.net/repository/pypi/packages/webencodings/0.5.1/webencodings-0.5.1-py2.py3-none-any.whl (10 kB)
Collecting mdurl~=0.1
  Downloading https://nexus.somecompany.net/repository/pypi/packages/mdurl/0.1.2/mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Collecting cryptography>=2.0
  Downloading https://nexus.somecompany.net/repository/pypi/packages/cryptography/41.0.4/cryptography-41.0.4-cp311-cp311-linux_x86_64.whl (1.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 5.0 MB/s eta 0:00:00
Collecting more-itertools
  Downloading https://nexus.somecompany.net/repository/pypi/packages/more-itertools/10.1.0/more_itertools-10.1.0-py3-none-any.whl (55 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.8/55.8 kB 3.5 MB/s eta 0:00:00
Collecting cffi>=1.12
  Downloading https://nexus.somecompany.net/repository/pypi/packages/cffi/1.16.0/cffi-1.16.0-cp311-cp311-linux_x86_64.whl (417 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 417.5/417.5 kB 6.6 MB/s eta 0:00:00
Collecting pycparser
  Downloading https://nexus.somecompany.net/repository/pypi/packages/pycparser/2.21/pycparser-2.21-py2.py3-none-any.whl (118 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 5.1 MB/s eta 0:00:00
Installing collected packages: webencodings, zipp, urllib3, six, rfc3986, Pygments, pycparser, pkginfo, more-itertools, mdurl, jeepney, idna, docutils, charset-normalizer, certifi, requests, markdown-it-py, jaraco.classes, importlib-metadata, cffi, bleach, rich, requests-toolbelt, readme-renderer, cryptography, SecretStorage, keyring, twine
Successfully installed Pygments-2.16.1 SecretStorage-3.3.3 bleach-5.0.1 certifi-2023.7.22 cffi-1.16.0 charset-normalizer-3.2.0 cryptography-41.0.4 docutils-0.20.1 idna-3.4 importlib-metadata-6.8.0 jaraco.classes-3.3.0 jeepney-0.8.0 keyring-24.2.0 markdown-it-py-3.0.0 mdurl-0.1.2 more-itertools-10.1.0 pkginfo-1.9.6 pycparser-2.21 readme-renderer-41.0 requests-2.31.0 requests-toolbelt-1.0.0 rfc3986-2.0.0 rich-13.5.2 six-1.16.0 twine-4.0.2 urllib3-2.0.6 webencodings-0.5.1 zipp-3.16.2
matejsp commented 1 year ago
twine==4.0.2
├── importlib-metadata [required: >=3.6, installed: 6.8.0]
│   └── zipp [required: >=0.5, installed: 3.16.2]
├── keyring [required: >=15.1, installed: 24.2.0]
│   ├── importlib-metadata [required: >=4.11.4, installed: 6.8.0]
│   │   └── zipp [required: >=0.5, installed: 3.16.2]
│   ├── jaraco.classes [required: Any, installed: 3.3.0]
│   │   └── more-itertools [required: Any, installed: 10.1.0]
│   ├── jeepney [required: >=0.4.2, installed: 0.8.0]
│   └── SecretStorage [required: >=3.2, installed: 3.3.3]
│       ├── cryptography [required: >=2.0, installed: 41.0.4]
│       │   └── cffi [required: >=1.12, installed: 1.16.0]
│       │       └── pycparser [required: Any, installed: 2.21]
│       └── jeepney [required: >=0.6, installed: 0.8.0]
├── pkginfo [required: >=1.8.1, installed: 1.9.6]
├── readme-renderer [required: >=35.0, installed: 41.0]
│   ├── bleach [required: >=2.1.0, installed: 5.0.1]
│   │   ├── six [required: >=1.9.0, installed: 1.16.0]
│   │   └── webencodings [required: Any, installed: 0.5.1]
│   ├── docutils [required: >=0.13.1, installed: 0.20.1]
│   └── Pygments [required: >=2.5.1, installed: 2.16.1]
├── requests [required: >=2.20, installed: 2.31.0]
│   ├── certifi [required: >=2017.4.17, installed: 2023.7.22]
│   ├── charset-normalizer [required: >=2,<4, installed: 3.2.0]
│   ├── idna [required: >=2.5,<4, installed: 3.4]
│   └── urllib3 [required: >=1.21.1,<3, installed: 2.0.6]
├── requests-toolbelt [required: >=0.8.0,!=0.9.0, installed: 1.0.0]
│   └── requests [required: >=2.0.1,<3.0.0, installed: 2.31.0]
│       ├── certifi [required: >=2017.4.17, installed: 2023.7.22]
│       ├── charset-normalizer [required: >=2,<4, installed: 3.2.0]
│       ├── idna [required: >=2.5,<4, installed: 3.4]
│       └── urllib3 [required: >=1.21.1,<3, installed: 2.0.6]
├── rfc3986 [required: >=1.4.0, installed: 2.0.0]
├── rich [required: >=12.0.0, installed: 13.5.2]
│   ├── markdown-it-py [required: >=2.2.0, installed: 3.0.0]
│   │   └── mdurl [required: ~=0.1, installed: 0.1.2]
│   └── pygments [required: >=2.13.0,<3.0.0, installed: 2.16.1]
└── urllib3 [required: >=1.26.0, installed: 2.0.6]
sigmavirus24 commented 1 year ago

Duplicate of #1008

sigmavirus24 commented 1 year ago

In the future, please search closed and open issues before creating new ones that are duplicates.