Preemo-Inc / gradientai-python-sdk

Interface for interacting with Gradient AI in Python
13 stars 2 forks source link

Disable Environment variable check on `import gradientai` #9

Closed michaelfeil closed 9 months ago

michaelfeil commented 9 months ago

Bug description:

gradientai/init.py gradientai/helpers/env_manager.py

Exception: missing required env variable: GRADIENT_ACCESS_TOKEN

Setup

  1. Create new venv
  2. install gradientai
    (.venv) michi@michi:~$ pip install gradientai
    Collecting gradientai
    Obtaining dependency information for gradientai from https://files.pythonhosted.org/packages/43/ea/955a322ca075d576498ef90e9290a2a41cc1a7e785050685cfbc989bdb47/gradientai-1.0.0-py3-none-any.whl.metadata
    Downloading gradientai-1.0.0-py3-none-any.whl.metadata (1.1 kB)
    Collecting aenum>=3.1.11 (from gradientai)
    Obtaining dependency information for aenum>=3.1.11 from https://files.pythonhosted.org/packages/d0/fa/ca0c66b388624ba9dbbf35aab3a9f326bfdf5e56a7237fe8f1b600da6864/aenum-3.1.15-py3-none-any.whl.metadata
    Downloading aenum-3.1.15-py3-none-any.whl.metadata (3.7 kB)
    Collecting pydantic<2.0.0,>=1.10.5 (from gradientai)
    Obtaining dependency information for pydantic<2.0.0,>=1.10.5 from https://files.pythonhosted.org/packages/bc/e0/0371e9b6c910afe502e5fe18cc94562bfd9399617c7b4f5b6e13c29115b3/pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
    Downloading pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (149 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 149.3/149.3 kB 1.1 MB/s eta 0:00:00
    Collecting python-dateutil>=2.8.2 (from gradientai)
    Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
    Collecting urllib3>=1.25.3 (from gradientai)
    Obtaining dependency information for urllib3>=1.25.3 from https://files.pythonhosted.org/packages/37/dc/399e63f5d1d96bb643404ee830657f4dfcf8503f5ba8fa3c6d465d0c57fe/urllib3-2.0.5-py3-none-any.whl.metadata
    Downloading urllib3-2.0.5-py3-none-any.whl.metadata (6.6 kB)
    Collecting typing-extensions>=4.2.0 (from pydantic<2.0.0,>=1.10.5->gradientai)
    Obtaining dependency information for typing-extensions>=4.2.0 from https://files.pythonhosted.org/packages/24/21/7d397a4b7934ff4028987914ac1044d3b7d52712f30e2ac7a2ae5bc86dd0/typing_extensions-4.8.0-py3-none-any.whl.metadata
    Downloading typing_extensions-4.8.0-py3-none-any.whl.metadata (3.0 kB)
    Collecting six>=1.5 (from python-dateutil>=2.8.2->gradientai)
    Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
    Using cached gradientai-1.0.0-py3-none-any.whl (124 kB)
    Using cached aenum-3.1.15-py3-none-any.whl (137 kB)
    Using cached pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
    Downloading urllib3-2.0.5-py3-none-any.whl (123 kB)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 123.8/123.8 kB 1.7 MB/s eta 0:00:00
    Downloading typing_extensions-4.8.0-py3-none-any.whl (31 kB)
    Installing collected packages: aenum, urllib3, typing-extensions, six, python-dateutil, pydantic, gradientai
    Successfully installed aenum-3.1.15 gradientai-1.0.0 pydantic-1.10.12 python-dateutil-2.8.2 six-1.16.0 typing-extensions-4.8.0 urllib3-2.0.5
  3. python import gradientai
    (.venv) michi@michi:~$ python 
    Python 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import gradientai
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/home/michi/.venv/lib/python3.10/site-packages/gradientai/__init__.py", line 180, in <module>
    class Gradient:
    File "/home/michi/.venv/lib/python3.10/site-packages/gradientai/__init__.py", line 188, in Gradient
    access_token: str = ENV_MANAGER.access_token,
    File "/usr/lib/python3.10/functools.py", line 981, in __get__
    val = self.func(instance)
    File "/home/michi/.venv/lib/python3.10/site-packages/gradientai/helpers/env_manager.py", line 79, in access_token
    return _get_required_string_env("GRADIENT_ACCESS_TOKEN")
    File "/home/michi/.venv/lib/python3.10/site-packages/gradientai/helpers/env_manager.py", line 20, in _get_required_string_env
    raise Exception(f"missing required env variable: {name}")
    Exception: missing required env variable: GRADIENT_ACCESS_TOKEN
michaelfeil commented 9 months ago

Solved! Thanks @mhaligowski

mhaligowski commented 9 months ago

In case anyone stumbles upon this thread, this issue was fixed with 1.1.0 release!