atlassian-python-api icon indicating copy to clipboard operation
atlassian-python-api copied to clipboard

kerberos dependency not optional anymore

Open bagerard opened this issue 1 year ago • 10 comments

After recent changes with beautifulsoup4, the requests-kerberos dependency that is supposed to be optional (due to extras_require={"kerberos": ["requests-kerberos"]}) became not optional as it's pulled from requirements.txt.

This dependency requires a heavy installation due to transitive dependencies so it would be better to keep optional

bagerard avatar Jan 17 '24 09:01 bagerard

For sure this dependency should be relaxed, because to setup on linux it requires to extra install libkrb5-dev.

wwakabobik avatar Jan 17 '24 10:01 wwakabobik

Its even heavier on alpine - krb5-dev gcc python3-dev musl-dev and build/install can take over three minutes

Cenness avatar Jan 17 '24 10:01 Cenness

Actually some builds will indeed fail due to missing system dependency

Collecting gssapi>=1.6.0
  Downloading gssapi-1.8.3.tar.gz (94 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.2/94.2 kB 18.6 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [21 lines of output]
      /bin/sh: 1: krb5-config: not found
      Traceback (most recent call last):
        File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-7ohcdj_u/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
        File "/tmp/pip-build-env-7ohcdj_u/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-7ohcdj_u/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 109, in <module>
        File "<string>", line 22, in get_output
        File "/usr/local/lib/python3.9/subprocess.py", line 424, in check_output
          return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
        File "/usr/local/lib/python3.9/subprocess.py", line 528, in run
          raise CalledProcessError(retcode, process.args,
      subprocess.CalledProcessError: Command 'krb5-config --libs gssapi' returned non-zero exit status 127.
      [end of output]

bagerard avatar Jan 17 '24 10:01 bagerard

hi! I am reading some possible solution and maybe I need to back to put into requires

gonchik avatar Jan 17 '24 10:01 gonchik

This PR https://github.com/atlassian-api/atlassian-python-api/pull/1303 reverts the changes and hopefully reverts this project to a working state again.

FCamborda avatar Jan 17 '24 12:01 FCamborda

@FCamborda Unfortunately this isn't resolved. Still seeing the same issue:

15:07:14 /bin/sh: 1: krb5-config: not found

Neodreadlord avatar Jan 17 '24 15:01 Neodreadlord

@Neodreadlord can you share a more significant part of the traceback? Which version of the package is this and where is this dependency coming from?

FCamborda avatar Jan 17 '24 15:01 FCamborda

@FCamborda this is pulling the latest version from http://pypi.python.org/simple which is listed as being 3.41.7 I forced it to use 3.41.0 until this is resolved and my pipeline is working for now. The full traceback is exactly the same as bagerard's post above

Neodreadlord avatar Jan 17 '24 17:01 Neodreadlord

@FCamborda this is pulling the latest version from http://pypi.python.org/simple which is listed as being 3.41.7 I forced it to use 3.41.0 until this is resolved and my pipeline is working for now. The full traceback is exactly the same as bagerard's post above

that's expected, since my PR was merged but no release (3.41.8) was made yet by the maintainer.

FCamborda avatar Jan 17 '24 19:01 FCamborda

Hi! I have published revertion commit

gonchik avatar Jan 17 '24 21:01 gonchik