QuickUMLS icon indicating copy to clipboard operation
QuickUMLS copied to clipboard

Unable to install on Python 3.12 due to leveldb

Open ghisvail opened this issue 1 year ago • 0 comments

Describe the bug quickumls cannot be installed on Python 3.12 (default on Ubuntu 24.04 LTS) due to leveldb

To Reproduce

  1. Deploy a venv for Python 3.12

  2. pip install quickumls

  3. Wheel compilation for leveldb fails with the following error:

          leveldb_object.cc: In function ‘int pyleveldb_str_eq(PyObject*, const char*)’:
          leveldb_object.cc:795:33: error: ‘PyUnicode_AS_UNICODE’ was not declared in this scope; did you mean ‘PyUnicode_AsUCS4’?
            795 |                 Py_UNICODE* c = PyUnicode_AS_UNICODE(p);
                |                                 ^~~~~~~~~~~~~~~~~~~~
                |                                 PyUnicode_AsUCS4
    
    

**Environment **

  • OS: Ubuntu 24.04
  • QuickUMLS version: 1.4
  • UMLS version: N/A

Additional context It sounds unlikely that py-leveldb will ever receive a fix. Its maintenance looks inactive. It could be worth swapping the leveldb dependency to something else like plyvel which looks maintained and has wheels for the latest versions of Python.

ghisvail avatar Aug 12 '24 12:08 ghisvail