mtybadger / chromaviz

A package for visualising Chroma vector collections in 3D
MIT License
86 stars 29 forks source link

pyproject.toml setup tools out of date #11

Open Caden-Kienitz opened 7 months ago

Caden-Kienitz commented 7 months ago

When working in docker, I get the following error message "[_MissingDynamic: license defined outside of pyproject.toml is ignored

If you change "requires = ["setuptools>=61.0"]" to "requires = ["setuptools==68.2.2"]" in pyproject.toml, the error is fixed.

See: https://stackoverflow.com/questions/77523055/missingdynamic-license-defined-outside-of-pyproject-toml-is-ignored

DaveParr commented 5 months ago

Similar setup toml issue from GH direct link

pip install also similarly broken 😢

pip install git+https://github.com/mtybadger/chromaviz/
Collecting git+https://github.com/mtybadger/chromaviz/
  Cloning https://github.com/mtybadger/chromaviz/ to /tmp/pip-req-build-_v8gyjz1
  Running command git clone --filter=blob:none --quiet https://github.com/mtybadger/chromaviz/ /tmp/pip-req-build-_v8gyjz1
  Resolved https://github.com/mtybadger/chromaviz/ to commit 09aae56dbeefffa7f74e004e503e02249c6a8f8e
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [95 lines of output]
      /tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:76: _MissingDynamic: `license` defined outside of `pyproject.toml` is ignored.
      !!

              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:

              `license = 'MIT License'`

              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `license` is listed as `dynamic`.

              https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

              To prevent this problem, you can list `license` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************

      !!
        _handle_missing_dynamic(dist, project_table)
      /tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:76: _MissingDynamic: `keywords` defined outside of `pyproject.toml` is ignored.
      !!

              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:

              `keywords = ['example', 'setuptools']`

              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `keywords` is listed as `dynamic`.

              https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

              To prevent this problem, you can list `keywords` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************

      !!
        _handle_missing_dynamic(dist, project_table)
      /tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:76: _MissingDynamic: `dependencies` defined outside of `pyproject.toml` is ignored.
      !!

              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:

              `dependencies = ['chromadb', 'flask', 'flask-cors', 'numpy', 'pandas', 'scikit-learn']`

              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `dependencies` is listed as `dynamic`.

              https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

              To prevent this problem, you can list `dependencies` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************

      !!
        _handle_missing_dynamic(dist, project_table)
      Traceback (most recent call last):
        File "/home/dave/Development/mtgai/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/dave/Development/mtgai/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/dave/Development/mtgai/.venv/lib/python3.12/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-aeimaxzj/overlay/lib/python3.12/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-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 6, in <module>
        File "/tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 104, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 158, in setup
          dist.parse_config_files()
        File "/tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 631, in parse_config_files
          pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
        File "/tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/config/pyprojecttoml.py", line 69, in apply_configuration
          return _apply(dist, config, filepath)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 57, in apply
          _apply_project_table(dist, config, root_dir)
        File "/tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 83, in _apply_project_table
          corresp(dist, value, root_dir)
        File "/tmp/pip-build-env-aeimaxzj/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 184, in _license
          _set_config(dist, "license", val["text"])
                                       ~~~^^^^^^^^
      KeyError: 'text'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
thomasl04wapo commented 4 months ago

Getting the same issue installing using the GH link.