RiveryIO / rivery_cli

Rivery CLI

Home Page:https://riveryio.github.io/rivery_cli/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[cli-issue] Add to requirements: `setuptools_scm` must be v7.0.0 or lower

karsmars opened this issue · comments

** CLI Version **
Rivery CLI, version 0.4.0

Describe the bug
Upgrading to setuptools_scm>=8.x causes pip install rivery-cli to fail. This is two-part: setuptools_scm>=8.x requires setuptools>=61. However, the requirements.txt asks for setuptools~=57.0.0.

If you upgrade both packages, you instead get an error with installing jsonschema-extended. It requires the older versions of setuptools and setuptools_scm. The error messages are below, but I wasn't able to get jsonschema-extended to install with the upgraded versions of setuptools and setuptools_scm.

To Reproduce
Simply upgrade your versions of setuptools and setuptools_scm to latest versions and try to reinstall rivery-cli. Use pip install --ignore-installed --no-cache-dir rivery-cli so the cached versions of packages are ignored.

Expected behavior
The fix is either to require setuptools_scm<=7.0.0 and setuptools==57.0.0, or to find a way to install rivery-cli with the most recent versions of these packages. Is jsonschema-extended even necessary to have in requirements.txt? Perhaps remove it.

OS
OS: Ventura 13.3, Apple Silicon Chip (M2 Pro).

** Python Version **
Python 3.9.18
Miniconda 3 virtual environment


>>> pip install rivery-cli
Collecting rivery-cli
  Using cached rivery_cli-0.4.0-py3-none-any.whl (36 kB)
Collecting click>=7.1.2 (from rivery-cli)
  Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting jsonschema>=3.2.0 (from rivery-cli)
  Using cached jsonschema-4.20.0-py3-none-any.whl.metadata (8.1 kB)
Collecting jsonschema-extended>=0.6 (from rivery-cli)
  Using cached jsonschema-extended-0.6.tar.gz (117 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
 
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [30 lines of output]
      /Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
      !!
     
              ********************************************************************************
              Requirements should be satisfied by a PEP 517 installer.
              If you are using pip, you can try `pip install --use-pep517`.
              ********************************************************************************
     
      !!
        dist.fetch_build_eggs(dist.setup_requires)
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-install-uwezsxuz/jsonschema-extended_20526dffc79b48b0b4597a82aeb1a564/setup.py", line 25, in <module>
          setup(
        File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 147, in setup
          _setup_distribution = dist = klass(attrs)
        File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/dist.py", line 303, in __init__
          _Distribution.__init__(self, dist_attrs)
        File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
          self.finalize_options()
        File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/dist.py", line 654, in finalize_options
          ep(self)
        File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/setuptools/dist.py", line 674, in _finalize_setup_keywords
          ep.load()(self, [ep.name](http://ep.name/), value)
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-install-uwezsxuz/jsonschema-extended_20526dffc79b48b0b4597a82aeb1a564/.eggs/setuptools_scm-8.0.4-py3.9.egg/setuptools_scm/_integration/setuptools.py", line 80, in version_keyword
          assert isinstance(value, dict), "version_keyword expects a dict or True"
      AssertionError: version_keyword expects a dict or True
      [end of output]
 
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

>>> pip install --use-pep517 rivery-cli              
Collecting rivery-cli
  Using cached rivery_cli-0.4.0-py3-none-any.whl (36 kB)
Collecting click>=7.1.2 (from rivery-cli)
  Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting jsonschema>=3.2.0 (from rivery-cli)
  Using cached jsonschema-4.20.0-py3-none-any.whl.metadata (8.1 kB)
Collecting jsonschema-extended>=0.6 (from rivery-cli)
  Using cached jsonschema-extended-0.6.tar.gz (117 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error
 
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [29 lines of output]
      Traceback (most recent call last):
        File "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/spencerhalverson/miniconda3/envs/rivery/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 "/Users/spencerhalverson/miniconda3/envs/rivery/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 366, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 480, in run_setup
          super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script)
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 25, in <module>
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 147, in setup
          _setup_distribution = dist = klass(attrs)
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 303, in __init__
          _Distribution.__init__(self, dist_attrs)
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
          self.finalize_options()
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 654, in finalize_options
          ep(self)
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 674, in _finalize_setup_keywords
          ep.load()(self, [ep.name](http://ep.name/), value)
        File "/private/var/folders/dj/6cjl_pl90pv86pbtj21cj8hm0000gn/T/pip-build-env-f83dmto1/normal/lib/python3.9/site-packages/setuptools_scm/_integration/setuptools.py", line 80, in version_keyword
          assert isinstance(value, dict), "version_keyword expects a dict or True"
      AssertionError: version_keyword expects a dict or True
      [end of output]