Usiel opened a new issue, #40962:
URL: https://github.com/apache/superset/issues/40962

   ### Bug description
   
   A pip install of Superset 6.1.0 results in the following:
   
   ```
   google-auth>=1.23.0 (from 
shillelagh[gsheetsapi]<2.0,>=1.4.3->apache-superset==6.1.0->apache-superset[athena,clickhouse,druid,hive,mysql]==6.1.0)
   Downloading google_auth-2.53.0-py3-none-any.whl.metadata (5.5 kB)
   ```
   
   `google-auth` used to depend on `cachetools` ([ref v2.43.0, the version that 
is pinned in Superset's 
base.txt](https://github.com/googleapis/google-auth-library-python/blob/v2.43.0/setup.py#L23)),
 but its latest version v.2.53.0 [does 
not](https://github.com/googleapis/google-cloud-python/blob/google-auth-v2.53.0/packages/google-auth/setup.py).
   
   Unfortunately, `cachetools` seems to be a hard Superset requirement, leading 
to the stacktrace below:
   
https://github.com/apache/superset/blob/6.1.0/superset/db_engine_specs/aws_iam.py#L35
   
   I believe we should include an explicit dependency on `cachetools` in 
Superset's pyproject to ensure the package is installed.
   
   ### Screenshots/recordings
   
   _No response_
   
   ### Superset version
   
   6.1.0
   
   ### Python version
   
   3.11
   
   ### Node version
   
   Not applicable
   
   ### Browser
   
   Not applicable
   
   ### Additional context
   
   ```
   superset-web-dev-574ffb5b9-gf95z web 2026-06-11 
03:18:04,089:ERROR:superset.views.error_handling:No module named 'cachetools'
   superset-web-dev-574ffb5b9-gf95z web Traceback (most recent call last):
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/views/error_handling.py",
 line 100, in wraps
   superset-web-dev-574ffb5b9-gf95z web     return f(self, *args, **kwargs)
   superset-web-dev-574ffb5b9-gf95z web            ^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/utils/log.py",
 line 301, in wrapper
   superset-web-dev-574ffb5b9-gf95z web     value = f(*args, **kwargs)
   superset-web-dev-574ffb5b9-gf95z web             ^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/datasets/api.py",
 line 1248, in get
   superset-web-dev-574ffb5b9-gf95z web     response[API_RESULT_RES_KEY] = 
show_model_schema.dump(table, many=False)
   superset-web-dev-574ffb5b9-gf95z web                                    
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/schema.py",
 line 621, in dump
   superset-web-dev-574ffb5b9-gf95z web     result = 
self._serialize(processed_obj, many=many)
   superset-web-dev-574ffb5b9-gf95z web              
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/schema.py",
 line 589, in _serialize
   superset-web-dev-574ffb5b9-gf95z web     value = 
field_obj.serialize(attr_name, obj, accessor=self.get_attribute)
   superset-web-dev-574ffb5b9-gf95z web             
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/fields.py",
 line 348, in serialize
   superset-web-dev-574ffb5b9-gf95z web     return self._serialize(value, attr, 
obj, **kwargs)
   superset-web-dev-574ffb5b9-gf95z web            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/fields.py",
 line 656, in _serialize
   superset-web-dev-574ffb5b9-gf95z web     return schema.dump(nested_obj, 
many=many)
   superset-web-dev-574ffb5b9-gf95z web            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/schema.py",
 line 621, in dump
   superset-web-dev-574ffb5b9-gf95z web     result = 
self._serialize(processed_obj, many=many)
   superset-web-dev-574ffb5b9-gf95z web              
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/schema.py",
 line 589, in _serialize
   superset-web-dev-574ffb5b9-gf95z web     value = 
field_obj.serialize(attr_name, obj, accessor=self.get_attribute)
   superset-web-dev-574ffb5b9-gf95z web             
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/fields.py",
 line 340, in serialize
   superset-web-dev-574ffb5b9-gf95z web     value = self.get_value(obj, attr, 
accessor=accessor)
   superset-web-dev-574ffb5b9-gf95z web             
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/fields.py",
 line 270, in get_value
   superset-web-dev-574ffb5b9-gf95z web     return accessor_func(obj, 
check_key, default)
   superset-web-dev-574ffb5b9-gf95z web            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/schema.py",
 line 554, in get_attribute
   superset-web-dev-574ffb5b9-gf95z web     return get_value(obj, attr, default)
   superset-web-dev-574ffb5b9-gf95z web            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/utils.py",
 line 283, in get_value
   superset-web-dev-574ffb5b9-gf95z web     return _get_value_for_key(obj, key, 
default)
   superset-web-dev-574ffb5b9-gf95z web            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/marshmallow/utils.py",
 line 296, in _get_value_for_key
   superset-web-dev-574ffb5b9-gf95z web     return getattr(obj, key, default)
   superset-web-dev-574ffb5b9-gf95z web            ^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/models/core.py",
 line 267, in allow_multi_catalog
   superset-web-dev-574ffb5b9-gf95z web     return 
self.get_extra().get("allow_multi_catalog", False)
   superset-web-dev-574ffb5b9-gf95z web            ^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/models/core.py",
 line 1052, in get_extra
   superset-web-dev-574ffb5b9-gf95z web     return 
self.db_engine_spec.get_extra_params(self, source)
   superset-web-dev-574ffb5b9-gf95z web            ^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/models/core.py",
 line 1024, in db_engine_spec
   superset-web-dev-574ffb5b9-gf95z web     return self.get_db_engine_spec(url)
   superset-web-dev-574ffb5b9-gf95z web            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/models/core.py",
 line 1038, in get_db_engine_spec
   superset-web-dev-574ffb5b9-gf95z web     return 
db_engine_specs.get_engine_spec(backend, driver)
   superset-web-dev-574ffb5b9-gf95z web            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/db_engine_specs/__init__.py",
 line 99, in get_engine_spec
   superset-web-dev-574ffb5b9-gf95z web     engine_specs = load_engine_specs()
   superset-web-dev-574ffb5b9-gf95z web                    ^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/db_engine_specs/__init__.py",
 line 71, in load_engine_specs
   superset-web-dev-574ffb5b9-gf95z web     module = 
import_module(module_info.name, package=__name__)
   superset-web-dev-574ffb5b9-gf95z web              
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/lib/python3.11/importlib/__init__.py", line 126, 
in import_module
   superset-web-dev-574ffb5b9-gf95z web     return 
_bootstrap._gcd_import(name[level:], package, level)
   superset-web-dev-574ffb5b9-gf95z web            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   superset-web-dev-574ffb5b9-gf95z web   File "<frozen importlib._bootstrap>", 
line 1204, in _gcd_import
   superset-web-dev-574ffb5b9-gf95z web   File "<frozen importlib._bootstrap>", 
line 1176, in _find_and_load
   superset-web-dev-574ffb5b9-gf95z web   File "<frozen importlib._bootstrap>", 
line 1147, in _find_and_load_unlocked
   superset-web-dev-574ffb5b9-gf95z web   File "<frozen importlib._bootstrap>", 
line 690, in _load_unlocked
   superset-web-dev-574ffb5b9-gf95z web   File "<frozen 
importlib._bootstrap_external>", line 940, in exec_module
   superset-web-dev-574ffb5b9-gf95z web   File "<frozen importlib._bootstrap>", 
line 241, in _call_with_frames_removed
   superset-web-dev-574ffb5b9-gf95z web   File 
"/opt/.pyenv/versions/3.11.4/envs/superset/lib/python3.11/site-packages/superset/db_engine_specs/aws_iam.py",
 line 35, in <module>
   superset-web-dev-574ffb5b9-gf95z web     from cachetools import TTLCache
   superset-web-dev-574ffb5b9-gf95z web ModuleNotFoundError: No module named 
'cachetools'
   ```
   
   ### Checklist
   
   - [x] I have searched Superset docs and Slack and didn't find a solution to 
my problem.
   - [x] I have searched the GitHub issue tracker and didn't find a similar bug 
report.
   - [x] I have checked Superset's logs for errors and if I found a relevant 
Python stacktrace, I included it here as text in the "additional context" 
section.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to