updated to digikey v4 and python 3.12#51
updated to digikey v4 and python 3.12#51hurricaneJoef wants to merge 2 commits intopeeter123:masterfrom
Conversation
|
Hello @hurricaneJoef thanks for your work! Is your fork compatible with Python 3.10+ versions or is it exclusive to Python 3.12+ versions? |
|
I have not tested it yet on 3.10 but its not using anything specific to 3.12 or 3.11. please let me know if it does work |
|
Sounds good, thanks! |
|
@hurricaneJoef I am not able to install without the fixes in #47, would you be able to pull those in? The error I get: File "/home/francois/development/Ki-nTree/kintree/search/digikey_api.py", line 3, in <module>
import digikey
File "/home/francois/development/Ki-nTree/.venv/lib/python3.12/site-packages/digikey/__init__.py", line 1, in <module>
from digikey.v4.api import (keyword_search, product_details, digi_reel_pricing, suggested_parts,
File "/home/francois/development/Ki-nTree/.venv/lib/python3.12/site-packages/digikey/v4/api.py", line 3, in <module>
from distutils.util import strtobool
ModuleNotFoundError: No module named 'distutils' |
|
@eeintech @hurricaneJoef |
|
Does anybody here know if there is a fork of this library being maintained that has both these changes and those from #47 merged in? Edit: For now, I am switching to @hurricaneJoef's fork. Here are some commands to do that, in case anyone else wants to: |
That's the one we're using for Ki-nTree |
| @@ -0,0 +1,171 @@ | |||
| import os | |||
| import logging | |||
| from distutils.util import strtobool | |||
There was a problem hiding this comment.
Distutils is gone in python 3.12: https://docs.python.org/3/library/distutils.html, I'm not sure how this is working for you.
There was a problem hiding this comment.
To get this working with 3.12 I just used:
`
def strtobool(val):
"""Convert a string representation of truth to true (1) or false (0).
True values are 'y', 'yes', 't', 'true', 'on', and '1';
false values are 'n', 'no', 'f', 'false', 'off', and '0'.
Raises ValueError if 'val' is anything else.
"""
val = val.lower()
if val in ('y', 'yes', 't', 'true', 'on', '1'):
return 1
elif val in ('n', 'no', 'f', 'false', 'off', '0'):
return 0
else:
raise ValueError(f"invalid truth value {val}")
`
The function is only called once in the library so there might be a more eloquent solution.
There was a problem hiding this comment.
distutils.strtobool still exsits in Python 3.13.3. It's part of setuptools. hurricaneJoef#2 adds the missing dependency.
|
@hurricaneJoef @eeintech I am using your pull-request with python 3.12.8. |
No description provided.