atlassian-api / atlassian-python-api

Atlassian Python REST API wrapper
https://atlassian-python-api.readthedocs.io
Apache License 2.0
1.29k stars 642 forks source link

kerberos dependency not optional anymore #1301

Open bagerard opened 5 months ago

bagerard commented 5 months ago

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

wwakabobik commented 5 months ago

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

Cenness commented 5 months ago

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

bagerard commented 5 months ago

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]
gonchik commented 5 months ago

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

FCamborda commented 5 months ago

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.

Neodreadlord commented 5 months ago

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

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

FCamborda commented 5 months ago

@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?

Neodreadlord commented 5 months ago

@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

FCamborda commented 5 months ago

@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.

gonchik commented 5 months ago

Hi! I have published revertion commit