ecrl/padelpy

Padelpy broken on Python 3.12

meowcat opened this issue · 1 comments

On Python 3.12, padelpy seems broken at

filename = timestamp + str(random.randint(1e8,1e9))

conda create -n padel python=3
conda activate padel
conda install -c conda-forge padelpy
python
>>> from padelpy import from_smiles
>>>
>>> # calculate molecular descriptors for propane
>>> descriptors = from_smiles('CCC')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Software\Michele\miniconda3\envs\padel\Lib\site-packages\padelpy\functions.py", line 63, in from_smiles
    filename = timestamp + str(random.randint(1e8,1e9))
                               ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Software\Michele\miniconda3\envs\padel\Lib\random.py", line 336, in randint
    return self.randrange(a, b+1)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Software\Michele\miniconda3\envs\padel\Lib\random.py", line 301, in randrange
    istart = _index(start)
             ^^^^^^^^^^^^^
TypeError: 'float' object cannot be interpreted as an integer

This works on 3.10, I haven't checked 3.11. Apparently some typeconversion rules were tightened. - But is there a reason not to use tempfile.mkstemp here?

I have resolved this in #53