Make keyring dependency optional
matejsp opened this issue · comments
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.
-
Your operating system:
Linux -
Version of python you are running:
Python 3.11.2
-
How did you install twine? Did you use your operating system's package manager or pip or something else?
pip install twine -
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)
- 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 package's
PKG-INFO
file - A redacted version of your
.pypirc
file (REMOVE ALL USERNAMES & PASSWORDS BEFORE UPLOADING)
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
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]
Duplicate of #1008
In the future, please search closed and open issues before creating new ones that are duplicates.