Skip to content

updated to digikey v4 and python 3.12 #51

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

hurricaneJoef
Copy link

No description provided.

@eeintech
Copy link

eeintech commented Jul 3, 2024

Hello @hurricaneJoef thanks for your work! Is your fork compatible with Python 3.10+ versions or is it exclusive to Python 3.12+ versions?

@hurricaneJoef
Copy link
Author

hurricaneJoef commented Jul 3, 2024

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

@eeintech
Copy link

eeintech commented Jul 3, 2024

Sounds good, thanks!

@eeintech
Copy link

eeintech commented Oct 15, 2024

@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'

@T0jan
Copy link

T0jan commented Oct 15, 2024

@nabelekt
Copy link

nabelekt commented Nov 22, 2024

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?
@hurricaneJoef, @eeintech, @T0jan, @hvraven, @G-Pereira, @peeter123
Thanks

Edit: For now, I am switching to @hurricaneJoef's fork. Here are some commands to do that, in case anyone else wants to:

pip uninstall digikey-api
pip install git+https://github.com/hurricaneJoef/digikey-api.git

@eeintech
Copy link

Edit: For now, I am switching to @hurricaneJoef's fork. Here are some commands to do that, in case anyone else wants to:

pip uninstall digikey-api
pip install git+https://github.com/hurricaneJoef/digikey-api.git

That's the one we're using for Ki-nTree

@@ -0,0 +1,171 @@
import os
import logging
from distutils.util import strtobool
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link

@zmdev2082 zmdev2082 Feb 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

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 this pull request may close these issues.

6 participants