Skip to content

Trying to import latest version of FEAST is failing #3538

@malavika-menon

Description

@malavika-menon

Expected Behavior

After pip installing the feast package, I expect to be able to import feast in the next cell in order to develop with the FEAST python sdk

Current Behavior

Right now it throws this error: ValueError: tuple.index(x): x not in tuple

With this stack trace:

----> 1 import feast

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/__init__.py:7
      4 except ModuleNotFoundError:
      5     from importlib_metadata import PackageNotFoundError, version as _version  # type: ignore
----> 7 from feast.infra.offline_stores.bigquery_source import BigQuerySource
      8 from feast.infra.offline_stores.contrib.athena_offline_store.athena_source import (
      9     AthenaSource,
     10 )
     11 from feast.infra.offline_stores.file_source import FileSource

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/infra/offline_stores/bigquery_source.py:8
      6 from feast.data_source import DataSource
      7 from feast.errors import DataSourceNoNameException, DataSourceNotFoundException
----> 8 from feast.feature_logging import LoggingDestination
      9 from feast.protos.feast.core.DataSource_pb2 import DataSource as DataSourceProto
     10 from feast.protos.feast.core.FeatureService_pb2 import (
     11     LoggingConfig as LoggingConfigProto,
     12 )

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/feature_logging.py:14
      8 from feast.embedded_go.type_map import FEAST_TYPE_TO_ARROW_TYPE, PA_TIMESTAMP_TYPE
      9 from feast.errors import (
     10     FeastObjectNotFoundException,
     11     FeatureViewNotFoundException,
     12     OnDemandFeatureViewNotFoundException,
     13 )
---> 14 from feast.feature_view import DUMMY_ENTITY_ID
     15 from feast.protos.feast.core.FeatureService_pb2 import (
     16     LoggingConfig as LoggingConfigProto,
     17 )
     19 if TYPE_CHECKING:

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/feature_view.py:22
     19 from google.protobuf.duration_pb2 import Duration
     20 from typeguard import typechecked
---> 22 from feast import utils
     23 from feast.base_feature_view import BaseFeatureView
     24 from feast.data_source import DataSource, KafkaSource, KinesisSource, PushSource

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/utils.py:15
     12 from pytz import utc
     14 from feast.constants import FEAST_FS_YAML_FILE_PATH_ENV_NAME
---> 15 from feast.entity import Entity
     16 from feast.protos.feast.types.EntityKey_pb2 import EntityKey as EntityKeyProto
     17 from feast.protos.feast.types.Value_pb2 import Value as ValueProto

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/feast/entity.py:28
     23 from feast.usage import log_exceptions
     24 from feast.value_type import ValueType
     27 @typechecked
---> 28 class Entity:
     29     """
     30     An entity defines a collection of entities for which features can be defined. An
     31     entity can also contain associated metadata.
   (...)
     43         last_updated_timestamp: The time when the entity was last updated.
     44     """
     46     name: str

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/typeguard/_decorators.py:142, in typechecked(target)
    140 for key, attr in target.__dict__.items():
    141     if is_method_of(attr, target):
--> 142         retval = instrument(attr)
    143         if isfunction(retval):
    144             setattr(target, key, retval)

File ~/.pyenv/versions/3.8.13/envs/sandbox-py38/lib/python3.8/site-packages/typeguard/_decorators.py:88, in instrument(f)
     85 elif f.__closure__ is not None:
     86     # Existing closure needs modifications
     87     cell = make_cell()
---> 88     index = new_code.co_freevars.index(f.__name__)
     89     closure = f.__closure__[:index] + (cell,) + f.__closure__[index:]
     90 else:
     91     # Make a brand new closure

ValueError: tuple.index(x): x not in tuple

Steps to reproduce

  • pip install feast
  • import feast

Specifications

  • FEAST Version: 0.29.0
  • Platform: MacOSx (12.6)
  • Subsystem:
  • Python version: 3.8.13

Possible Solution

  • Pinning typeguard to a specific version?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions