Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install on Python 3.12 due to leveldb #98

Open
ghisvail opened this issue Aug 12, 2024 · 0 comments · May be fixed by #99
Open

Unable to install on Python 3.12 due to leveldb #98

ghisvail opened this issue Aug 12, 2024 · 0 comments · May be fixed by #99

Comments

@ghisvail
Copy link

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 added a commit to ghisvail/QuickUMLS that referenced this issue Aug 12, 2024
Rationales:
- quickumls fails to install on Python 3.12 due to py-leveldb
- py-leveldb looks unmaintained and is unlikely to receive support for Python 3.12
- plyvel provides a suitable replacement and is compatible with Python 3.12 onwards

Closes Georgetown-IR-Lab#98
@ghisvail ghisvail linked a pull request Aug 12, 2024 that will close this issue
ghisvail added a commit to ghisvail/QuickUMLS that referenced this issue Aug 12, 2024
Rationales:
- quickumls fails to install on Python 3.12 due to py-leveldb
- py-leveldb looks unmaintained and is unlikely to receive support for Python 3.12
- plyvel provides a suitable replacement and is compatible with Python 3.12 onwards

Closes Georgetown-IR-Lab#98
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant