Skip to content

Commit

Permalink
refactor!: rename top-level package to openfeature (#192)
Browse files Browse the repository at this point in the history
Signed-off-by: Federico Bond <federicobond@gmail.com>
  • Loading branch information
federicobond authored Sep 20, 2023
1 parent 25f6a87 commit 51f0d26
Show file tree
Hide file tree
Showing 31 changed files with 85 additions and 85 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
import typing
from functools import reduce

from open_feature.evaluation_context import EvaluationContext
from open_feature.flag_evaluation import FlagEvaluationDetails, FlagType
from open_feature.hook import Hook, HookContext, HookType
from openfeature.evaluation_context import EvaluationContext
from openfeature.flag_evaluation import FlagEvaluationDetails, FlagType
from openfeature.hook import Hook, HookContext, HookType


def error_hooks(
Expand Down
14 changes: 7 additions & 7 deletions open_feature/api.py → openfeature/api.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import typing

from open_feature.client import OpenFeatureClient
from open_feature.evaluation_context import EvaluationContext
from open_feature.exception import GeneralError
from open_feature.hook import Hook
from open_feature.provider.metadata import Metadata
from open_feature.provider.no_op_provider import NoOpProvider
from open_feature.provider.provider import AbstractProvider
from openfeature.client import OpenFeatureClient
from openfeature.evaluation_context import EvaluationContext
from openfeature.exception import GeneralError
from openfeature.hook import Hook
from openfeature.provider.metadata import Metadata
from openfeature.provider.no_op_provider import NoOpProvider
from openfeature.provider.provider import AbstractProvider

_provider: AbstractProvider = NoOpProvider()

Expand Down
16 changes: 8 additions & 8 deletions open_feature/client.py → openfeature/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,30 @@
import typing
from dataclasses import dataclass

from open_feature import api
from open_feature.evaluation_context import EvaluationContext
from open_feature.exception import (
from openfeature import api
from openfeature.evaluation_context import EvaluationContext
from openfeature.exception import (
ErrorCode,
GeneralError,
OpenFeatureError,
TypeMismatchError,
)
from open_feature.flag_evaluation import (
from openfeature.flag_evaluation import (
FlagEvaluationDetails,
FlagEvaluationOptions,
FlagType,
Reason,
FlagResolutionDetails,
)
from open_feature.hook import Hook, HookContext
from open_feature.hook.hook_support import (
from openfeature.hook import Hook, HookContext
from openfeature.hook.hook_support import (
after_all_hooks,
after_hooks,
before_hooks,
error_hooks,
)
from open_feature.provider.no_op_provider import NoOpProvider
from open_feature.provider.provider import AbstractProvider
from openfeature.provider.no_op_provider import NoOpProvider
from openfeature.provider.provider import AbstractProvider

GetDetailCallable = typing.Union[
typing.Callable[
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
import typing
from dataclasses import dataclass, field

from open_feature._backports.strenum import StrEnum
from open_feature.exception import ErrorCode
from openfeature._backports.strenum import StrEnum
from openfeature.exception import ErrorCode

if typing.TYPE_CHECKING: # resolves a circular dependency in type annotations
from open_feature.hook import Hook
from openfeature.hook import Hook


class FlagType(StrEnum):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
from dataclasses import dataclass
from enum import Enum

from open_feature.evaluation_context import EvaluationContext
from open_feature.flag_evaluation import FlagEvaluationDetails, FlagType
from openfeature.evaluation_context import EvaluationContext
from openfeature.flag_evaluation import FlagEvaluationDetails, FlagType


class HookType(Enum):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
import typing
from functools import reduce

from open_feature.evaluation_context import EvaluationContext
from open_feature.flag_evaluation import FlagEvaluationDetails, FlagType
from open_feature.hook import Hook, HookContext, HookType
from openfeature.evaluation_context import EvaluationContext
from openfeature.flag_evaluation import FlagEvaluationDetails, FlagType
from openfeature.hook import Hook, HookContext, HookType


def error_hooks(
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class MappingProxyType(dict):
When upgrading to Python 3.12, you can update all references
from:
`from open_feature.immutable_dict.mapping_proxy_type import MappingProxyType`
`from openfeature.immutable_dict.mapping_proxy_type import MappingProxyType`
to:
`from types import MappingProxyType`
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from dataclasses import dataclass
import typing

from open_feature._backports.strenum import StrEnum
from open_feature.evaluation_context import EvaluationContext
from open_feature.exception import ErrorCode
from open_feature.flag_evaluation import FlagResolutionDetails, Reason
from open_feature.hook import Hook
from open_feature.provider.metadata import Metadata
from open_feature.provider.provider import AbstractProvider
from openfeature._backports.strenum import StrEnum
from openfeature.evaluation_context import EvaluationContext
from openfeature.exception import ErrorCode
from openfeature.flag_evaluation import FlagResolutionDetails, Reason
from openfeature.hook import Hook
from openfeature.provider.metadata import Metadata
from openfeature.provider.provider import AbstractProvider

PASSED_IN_DEFAULT = "Passed in default"

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from dataclasses import dataclass

from open_feature.provider.metadata import Metadata
from openfeature.provider.metadata import Metadata


@dataclass
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import typing

from open_feature.evaluation_context import EvaluationContext
from open_feature.flag_evaluation import FlagResolutionDetails, Reason
from open_feature.hook import Hook
from open_feature.provider.metadata import Metadata
from open_feature.provider.no_op_metadata import NoOpMetadata
from open_feature.provider.provider import AbstractProvider
from openfeature.evaluation_context import EvaluationContext
from openfeature.flag_evaluation import FlagResolutionDetails, Reason
from openfeature.hook import Hook
from openfeature.provider.metadata import Metadata
from openfeature.provider.no_op_metadata import NoOpMetadata
from openfeature.provider.provider import AbstractProvider

PASSED_IN_DEFAULT = "Passed in default"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import typing
from abc import abstractmethod

from open_feature.evaluation_context import EvaluationContext
from open_feature.flag_evaluation import FlagResolutionDetails
from open_feature.hook import Hook
from open_feature.provider.metadata import Metadata
from openfeature.evaluation_context import EvaluationContext
from openfeature.flag_evaluation import FlagResolutionDetails
from openfeature.hook import Hook
from openfeature.provider.metadata import Metadata


class AbstractProvider:
Expand Down
10 changes: 5 additions & 5 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ pip install requirements.txt
In order to use the sdk there is some minor configuration. Follow the script below:

```python
from open_feature import api
from open_feature.provider.no_op_provider import NoOpProvider
from openfeature import api
from openfeature.provider.no_op_provider import NoOpProvider

api.set_provider(NoOpProvider())
open_feature_client = api.get_client()
Expand Down Expand Up @@ -103,7 +103,7 @@ In OpenFeature, we refer to this as [`targeting`](https://openfeature.dev/specif
If the flag system you're using supports targeting, you can provide the input data using the `EvaluationContext`.

```python
from open_feature.api import (
from openfeature.api import (
get_client,
get_provider,
set_provider
Expand Down Expand Up @@ -142,15 +142,15 @@ See [here](https://openfeature.dev/ecosystem) for a catalog of available provide
A hook is a mechanism that allows for adding arbitrary behavior at well-defined points of the flag evaluation life-cycle. Use cases include validating the resolved flag value, modifying or adding data to the evaluation context, logging, telemetry, and tracking.

```python
from open_feature.hook import Hook
from openfeature.hook import Hook

class MyHook(Hook):
def after(self, hook_context: HookContext, details: FlagEvaluationDetails, hints: dict):
print("This runs after the flag has been evaluated")


# set global hooks at the API-level
from open_feature.api import add_hooks
from openfeature.api import add_hooks
add_hooks([MyHook()])

# or configure them in the client
Expand Down
4 changes: 2 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import pytest

from open_feature import api
from open_feature.provider.no_op_provider import NoOpProvider
from openfeature import api
from openfeature.provider.no_op_provider import NoOpProvider


@pytest.fixture(autouse=True)
Expand Down
2 changes: 1 addition & 1 deletion tests/evaluation_context/test_evaluation_context.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from open_feature.evaluation_context import EvaluationContext
from openfeature.evaluation_context import EvaluationContext


def test_empty_evaluation_context_can_be_merged_with_non_empty_context():
Expand Down
6 changes: 3 additions & 3 deletions tests/features/data.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from open_feature.evaluation_context import EvaluationContext
from open_feature.flag_evaluation import FlagResolutionDetails, Reason
from open_feature.provider.in_memory_provider import InMemoryFlag
from openfeature.evaluation_context import EvaluationContext
from openfeature.flag_evaluation import FlagResolutionDetails, Reason
from openfeature.provider.in_memory_provider import InMemoryFlag


def context_func(flag: InMemoryFlag, evaluation_context: EvaluationContext):
Expand Down
12 changes: 6 additions & 6 deletions tests/features/steps/steps.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

from behave import given, then, when

from open_feature.api import get_client, set_provider
from open_feature.client import OpenFeatureClient
from open_feature.evaluation_context import EvaluationContext
from open_feature.exception import ErrorCode
from open_feature.flag_evaluation import FlagEvaluationDetails, Reason
from open_feature.provider.in_memory_provider import InMemoryProvider
from openfeature.api import get_client, set_provider
from openfeature.client import OpenFeatureClient
from openfeature.evaluation_context import EvaluationContext
from openfeature.exception import ErrorCode
from openfeature.flag_evaluation import FlagEvaluationDetails, Reason
from openfeature.provider.in_memory_provider import InMemoryProvider
from tests.features.data import IN_MEMORY_FLAGS

# Common step definitions
Expand Down
2 changes: 1 addition & 1 deletion tests/hook/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest

from open_feature.evaluation_context import EvaluationContext
from openfeature.evaluation_context import EvaluationContext


@pytest.fixture()
Expand Down
8 changes: 4 additions & 4 deletions tests/hook/test_hook_support.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
from unittest.mock import ANY

from open_feature.flag_evaluation import FlagEvaluationDetails, FlagType
from open_feature.hook import HookContext
from open_feature.hook.hook_support import (
from openfeature.flag_evaluation import FlagEvaluationDetails, FlagType
from openfeature.hook import HookContext
from openfeature.hook.hook_support import (
after_all_hooks,
after_hooks,
before_hooks,
error_hooks,
)
from open_feature.immutable_dict.mapping_proxy_type import MappingProxyType
from openfeature.immutable_dict.mapping_proxy_type import MappingProxyType


def test_error_hooks_run_error_method(mock_hook):
Expand Down
6 changes: 3 additions & 3 deletions tests/provider/test_in_memory_provider.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from numbers import Number

from open_feature.exception import ErrorCode
from open_feature.flag_evaluation import FlagResolutionDetails, Reason
from open_feature.provider.in_memory_provider import InMemoryProvider, InMemoryFlag
from openfeature.exception import ErrorCode
from openfeature.flag_evaluation import FlagResolutionDetails, Reason
from openfeature.provider.in_memory_provider import InMemoryProvider, InMemoryFlag


def test_should_return_in_memory_provider_metadata():
Expand Down
2 changes: 1 addition & 1 deletion tests/provider/test_no_op_provider.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from numbers import Number

from open_feature.provider.no_op_provider import NoOpProvider
from openfeature.provider.no_op_provider import NoOpProvider


def test_should_return_no_op_provider_metadata():
Expand Down
12 changes: 6 additions & 6 deletions tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest

from open_feature.api import (
from openfeature.api import (
get_client,
get_provider,
set_provider,
Expand All @@ -13,11 +13,11 @@
add_hooks,
clear_hooks,
)
from open_feature.evaluation_context import EvaluationContext
from open_feature.exception import ErrorCode, GeneralError
from open_feature.hook import Hook
from open_feature.provider.metadata import Metadata
from open_feature.provider.no_op_provider import NoOpProvider
from openfeature.evaluation_context import EvaluationContext
from openfeature.exception import ErrorCode, GeneralError
from openfeature.hook import Hook
from openfeature.provider.metadata import Metadata
from openfeature.provider.no_op_provider import NoOpProvider


def test_should_not_raise_exception_with_noop_client():
Expand Down
12 changes: 6 additions & 6 deletions tests/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

import pytest

from open_feature.api import add_hooks, clear_hooks
from open_feature.client import OpenFeatureClient
from open_feature.exception import ErrorCode, OpenFeatureError
from open_feature.flag_evaluation import Reason
from open_feature.hook import Hook
from open_feature.provider.no_op_provider import NoOpProvider
from openfeature.api import add_hooks, clear_hooks
from openfeature.client import OpenFeatureClient
from openfeature.exception import ErrorCode, OpenFeatureError
from openfeature.flag_evaluation import Reason
from openfeature.hook import Hook
from openfeature.provider.no_op_provider import NoOpProvider


@pytest.mark.parametrize(
Expand Down
4 changes: 2 additions & 2 deletions tests/test_flag_evaluation.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from open_feature.exception import ErrorCode
from open_feature.flag_evaluation import FlagEvaluationDetails, Reason
from openfeature.exception import ErrorCode
from openfeature.flag_evaluation import FlagEvaluationDetails, Reason


def test_evaulation_details_reason_should_be_a_string():
Expand Down

0 comments on commit 51f0d26

Please sign in to comment.