Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,3 @@ exclude = (?x)(
)
show_error_codes = True
pretty = True

# suppress error on conditional import of typing_extensions module
[mypy-optimizely.helpers.types]
no_warn_unused_ignores = True
9 changes: 1 addition & 8 deletions optimizely/bucketer.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,12 @@
# limitations under the License.

from __future__ import annotations
from typing import Optional, TYPE_CHECKING, cast
from typing import Optional, TYPE_CHECKING, cast, Final
import math
from sys import version_info

from .lib import pymmh3 as mmh3


if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final


if TYPE_CHECKING:
# prevent circular dependenacy by skipping import at runtime
from .project_config import ProjectConfig
Expand Down
7 changes: 1 addition & 6 deletions optimizely/decision/optimizely_decide_option.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from sys import version_info

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final
from typing import Final


class OptimizelyDecideOption:
Expand Down
7 changes: 1 addition & 6 deletions optimizely/decision/optimizely_decision_message.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from sys import version_info

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final
from typing import Final


class OptimizelyDecisionMessage:
Expand Down
8 changes: 1 addition & 7 deletions optimizely/entities.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import annotations
from typing import TYPE_CHECKING, Any, Optional, Sequence
from sys import version_info

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final
from typing import TYPE_CHECKING, Any, Optional, Sequence, Final


if TYPE_CHECKING:
Expand Down
8 changes: 1 addition & 7 deletions optimizely/event/event_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
# limitations under the License.

from __future__ import annotations
from typing import TYPE_CHECKING, Optional, Sequence, cast, List
from sys import version_info
from typing import TYPE_CHECKING, Optional, Sequence, cast, List, Final
from optimizely import entities
from optimizely.helpers import enums
from optimizely.helpers import event_tag_utils
Expand All @@ -23,11 +22,6 @@
from . import payload
from . import user_event

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final

if TYPE_CHECKING:
# prevent circular dependenacy by skipping import at runtime
from optimizely.project_config import ProjectConfig
Expand Down
9 changes: 1 addition & 8 deletions optimizely/event/event_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,9 @@
import threading
import time

from typing import Optional
from typing import Optional, Final
from datetime import timedelta
import queue
from sys import version_info

from optimizely import logger as _logging
from optimizely import notification_center as _notification_center
Expand All @@ -31,12 +30,6 @@
from .user_event import UserEvent


if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final


class BaseEventProcessor(ABC):
""" Class encapsulating event processing. Override with your own implementation. """

Expand Down
9 changes: 1 addition & 8 deletions optimizely/event/log_event.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,10 @@
# limitations under the License.

from __future__ import annotations
from typing import Optional, Any
from sys import version_info
from typing import Optional, Any, Literal
from optimizely import event_builder


if version_info < (3, 8):
from typing_extensions import Literal
else:
from typing import Literal


class LogEvent(event_builder.Event):
""" Representation of an event which can be sent to Optimizely events API. """

Expand Down
9 changes: 1 addition & 8 deletions optimizely/event/user_event.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,11 @@
from __future__ import annotations
import time
import uuid
from typing import TYPE_CHECKING, Optional
from sys import version_info
from typing import TYPE_CHECKING, Optional, Final

from optimizely import version


if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final


if TYPE_CHECKING:
# prevent circular dependenacy by skipping import at runtime
from optimizely.entities import Experiment, Variation, Event, Holdout
Expand Down
8 changes: 1 addition & 7 deletions optimizely/event_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,15 @@

from __future__ import annotations
import time
from typing import TYPE_CHECKING, Any, Optional
from typing import TYPE_CHECKING, Any, Optional, Final, Literal
import uuid
from sys import version_info

from . import version
from .event import event_id_normalizer
from .helpers import enums
from .helpers import event_tag_utils
from .helpers import validator

if version_info < (3, 8):
from typing_extensions import Final, Literal
else:
from typing import Final, Literal

if TYPE_CHECKING:
# prevent circular dependenacy by skipping import at runtime
from .entities import Experiment
Expand Down
7 changes: 1 addition & 6 deletions optimizely/event_dispatcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

import json
import logging
from sys import version_info
from typing import Protocol

import requests
from requests import exceptions as request_exception
Expand All @@ -23,11 +23,6 @@
from . import event_builder
from .helpers.enums import HTTPVerbs, EventDispatchConfig

if version_info < (3, 8):
from typing_extensions import Protocol
else:
from typing import Protocol


class CustomEventDispatcher(Protocol):
"""Interface for a custom event dispatcher and required method `dispatch_event`. """
Expand Down
9 changes: 1 addition & 8 deletions optimizely/helpers/condition.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
from __future__ import annotations
import json
import numbers
from typing import TYPE_CHECKING, Any, Callable, Optional
from sys import version_info
from typing import TYPE_CHECKING, Any, Callable, Optional, Literal, Final

from . import validator
from optimizely import optimizely_user_context
Expand All @@ -29,12 +28,6 @@
from optimizely.logger import Logger


if version_info < (3, 8):
from typing_extensions import Literal, Final
else:
from typing import Literal, Final


class ConditionOperatorTypes:
AND: Final = 'and'
OR: Final = 'or'
Expand Down
7 changes: 1 addition & 6 deletions optimizely/helpers/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,7 @@
# limitations under the License.

import logging
from sys import version_info

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final
from typing import Final


class CommonAudienceEvaluationLogs:
Expand Down
8 changes: 1 addition & 7 deletions optimizely/helpers/event_tag_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,10 @@
# limitations under the License.

from __future__ import annotations
from typing import TYPE_CHECKING, Any, Optional, NewType, Dict
from typing import TYPE_CHECKING, Any, Optional, NewType, Dict, Final
from . import enums
import math
import numbers
from sys import version_info

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final


if TYPE_CHECKING:
Expand Down
9 changes: 1 addition & 8 deletions optimizely/helpers/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,7 @@
# limitations under the License.
from __future__ import annotations

from typing import Literal, Optional, Any
from sys import version_info


if version_info < (3, 8):
from typing_extensions import TypedDict
else:
from typing import TypedDict # type: ignore
from typing import Literal, Optional, Any, TypedDict


# Intermediate types for type checking deserialized datafile json before actual class instantiation.
Expand Down
8 changes: 1 addition & 7 deletions optimizely/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import logging
from typing import Any, Optional, Union
from typing import Any, Optional, Union, Final
import warnings
from sys import version_info

from .helpers import enums

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final


_DEFAULT_LOG_FORMAT: Final = '%(levelname)-8s %(asctime)s %(filename)s:%(lineno)s:%(message)s'

Expand Down
8 changes: 1 addition & 7 deletions optimizely/notification_center.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,9 @@
# limitations under the License.

from __future__ import annotations
from typing import Any, Callable, Optional
from typing import Any, Callable, Optional, Final
from .helpers import enums
from . import logger as optimizely_logger
from sys import version_info

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final


NOTIFICATION_TYPES: Final = tuple(
Expand Down
8 changes: 1 addition & 7 deletions optimizely/odp/lru_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,7 @@
import threading
from time import time
from collections import OrderedDict
from typing import Optional, Generic, TypeVar, Hashable
from sys import version_info

if version_info < (3, 8):
from typing_extensions import Protocol
else:
from typing import Protocol
from typing import Optional, Generic, TypeVar, Hashable, Protocol

# generic type definitions for LRUCache parameters
K = TypeVar('K', bound=Hashable, contravariant=True)
Expand Down
7 changes: 1 addition & 6 deletions optimizely/odp/optimizely_odp_option.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from sys import version_info

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final
from typing import Final


class OptimizelyOdpOption:
Expand Down
8 changes: 1 addition & 7 deletions optimizely/project_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,14 @@
# limitations under the License.
from __future__ import annotations
import json
from typing import TYPE_CHECKING, Optional, Type, TypeVar, Union, cast, Any, Iterable, List
from sys import version_info
from typing import TYPE_CHECKING, Optional, Type, TypeVar, Union, cast, Any, Iterable, List, Final

from . import entities
from . import exceptions
from .helpers import condition as condition_helper
from .helpers import enums
from .helpers import types

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final

if TYPE_CHECKING:
# prevent circular dependenacy by skipping import at runtime
from .logger import Logger
Expand Down
16 changes: 5 additions & 11 deletions optimizely/user_profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,13 @@
# limitations under the License.

from __future__ import annotations
from typing import Any, Optional
from sys import version_info
from typing import Any, Optional, Final, TYPE_CHECKING
from . import logger as _logging

if version_info < (3, 8):
from typing_extensions import Final
else:
from typing import Final, TYPE_CHECKING

if TYPE_CHECKING:
# prevent circular dependenacy by skipping import at runtime
from .entities import Experiment, Variation
from optimizely.error_handler import BaseErrorHandler
if TYPE_CHECKING:
# prevent circular dependenacy by skipping import at runtime
from .entities import Experiment, Variation
from optimizely.error_handler import BaseErrorHandler


class UserProfile:
Expand Down
Loading