Skip to content

Commit

Permalink
lazily connect
Browse files Browse the repository at this point in the history
  • Loading branch information
adisunw committed Mar 4, 2024
1 parent 689f949 commit 19e75a6
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions provider.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from abc import ABCMeta, abstractmethod
from typing import Tuple, Dict, Any, Optional, Union, List


class Provider(metaclass=ABCMeta):
"""Abstract provider class
"""
@abstractmethod
def __init__(self, *args: Tuple[Any], **kwargs: Dict[Any, Any]):
"""Abstract initializer for the Provider class with ProviderConfig
Args:
config (ProviderConfig): config for the provider
"""
pass

@abstractmethod
def get(self, key: str, path: str, filter: str,
sep: Optional[str]) -> Union[str, int, float, bool, List[Any]]:
"""Abstract method to get a value from the provider
"""
pass

@property
@abstractmethod
def scheme(self) -> str:
"""Returns scheme of provider
"""
pass

0 comments on commit 19e75a6

Please sign in to comment.