VariantEffect / mavedb-api

MaveDB API
GNU Affero General Public License v3.0
8 stars 2 forks source link

Server dependencies #197

Open afrubin opened 2 months ago

afrubin commented 2 months ago

mavedb-api has a couple of optional dependency categories, dev and server.

The server dependencies are required to run the database, but not required to use the models for projects like MaveTools.

It looks like some of the recent dependencies for mapping VRS variants (hgvs, biocommons, cdot, others?) are in the core dependencies, but they should probably be in server. Does that sound right?

If the project has now outgrown this structure we can certainly revisit the way dependencies are managed.

afrubin commented 3 weeks ago

This is still causing problems with the current version, due to the biocommons hgvs package being required, and it requiring pycopg2:

Collecting psycopg2 (from hgvs<1.6.0,>=1.5.4->mavedb>=2023.1->mavetools==0.3.0)
  Downloading psycopg2-2.9.9.tar.gz (384 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 384.9/384.9 kB 2.1 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [23 lines of output]
      running egg_info
      creating /tmp/pip-pip-egg-info-5w_0vol4/psycopg2.egg-info
      writing /tmp/pip-pip-egg-info-5w_0vol4/psycopg2.egg-info/PKG-INFO
      writing dependency_links to /tmp/pip-pip-egg-info-5w_0vol4/psycopg2.egg-info/dependency_links.txt
      writing top-level names to /tmp/pip-pip-egg-info-5w_0vol4/psycopg2.egg-info/top_level.txt
      writing manifest file '/tmp/pip-pip-egg-info-5w_0vol4/psycopg2.egg-info/SOURCES.txt'

      Error: pg_config executable not found.

      pg_config is required to build psycopg2 from source.  Please add the directory
      containing pg_config to the $PATH or specify the full executable path with the
      option:

          python setup.py build_ext --pg-config /path/to/pg_config build ...

      or with the pg_config option in 'setup.cfg'.

      If you prefer to avoid building psycopg2 from source, please install the PyPI
      'psycopg2-binary' package instead.

      For further information please check the 'doc/src/install.rst' file (also at
      <https://www.psycopg.org/docs/install.html>).

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