Skip to content

Commit

Permalink
Merge pull request #409 from pcattori/move-types
Browse files Browse the repository at this point in the history
Move all remaining types into _types package
  • Loading branch information
pcattori committed Jul 2, 2020
2 parents b0c2b66 + eaf03b5 commit f171252
Show file tree
Hide file tree
Showing 16 changed files with 72 additions and 59 deletions.
10 changes: 4 additions & 6 deletions tamr_client/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,15 @@
Attribute,
AttributeType,
Dataset,
Instance,
MasteringProject,
Operation,
Project,
Session,
SubAttribute,
UnifiedDataset,
URL,
UsernamePasswordAuth,
)

# functions
Expand All @@ -35,14 +39,9 @@
from tamr_client import response

# instance
from tamr_client.instance import Instance
from tamr_client import instance

# auth
from tamr_client.auth import UsernamePasswordAuth

# session
from tamr_client.session import Session
from tamr_client import session

# datasets
Expand All @@ -63,5 +62,4 @@
from tamr_client import project

# operations
from tamr_client.operation import Operation
from tamr_client import operation
4 changes: 4 additions & 0 deletions tamr_client/_types/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,11 @@
STRING,
SubAttribute,
)
from tamr_client._types.auth import UsernamePasswordAuth
from tamr_client._types.dataset import AnyDataset, Dataset, UnifiedDataset
from tamr_client._types.instance import Instance
from tamr_client._types.json import JsonDict
from tamr_client._types.operation import Operation
from tamr_client._types.project import MasteringProject, Project
from tamr_client._types.session import Session
from tamr_client._types.url import URL
File renamed without changes.
17 changes: 17 additions & 0 deletions tamr_client/_types/instance.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from dataclasses import dataclass
from typing import Optional


@dataclass(frozen=True)
class Instance:
"""Connection parameters for a running Tamr instance
Args:
protocol
host
port
"""

protocol: str = "http"
host: str = "localhost"
port: Optional[int] = None
23 changes: 23 additions & 0 deletions tamr_client/_types/operation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from dataclasses import dataclass
from typing import Dict, Optional

from tamr_client._types.url import URL


@dataclass(frozen=True)
class Operation:
"""A Tamr operation
See https://docs.tamr.com/new/reference/the-operation-object
Args:
url
type
status
description
"""

url: URL
type: str
status: Optional[Dict[str, str]] = None
description: Optional[str] = None
3 changes: 3 additions & 0 deletions tamr_client/_types/session.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import requests

Session = requests.Session
5 changes: 3 additions & 2 deletions tamr_client/_types/url.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from dataclasses import dataclass

from tamr_client import instance
from tamr_client.instance import Instance
from tamr_client._types.instance import Instance


@dataclass(frozen=True)
Expand All @@ -11,5 +10,7 @@ class URL:
base_path: str = "api/versioned/v1"

def __str__(self):
from tamr_client import instance

origin = instance.origin(self.instance)
return f"{origin}/{self.base_path}/{self.path}"
3 changes: 1 addition & 2 deletions tamr_client/attribute/_attribute.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
from typing import Optional, Tuple

from tamr_client import response
from tamr_client._types import Attribute, AttributeType, Dataset, JsonDict, URL
from tamr_client._types import Attribute, AttributeType, Dataset, JsonDict, Session, URL
from tamr_client.attribute import type as attribute_type
from tamr_client.session import Session


_RESERVED_NAMES = frozenset(
Expand Down
4 changes: 1 addition & 3 deletions tamr_client/dataset/_dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@
from copy import deepcopy

from tamr_client import response
from tamr_client._types import Dataset, JsonDict, URL
from tamr_client.instance import Instance
from tamr_client.session import Session
from tamr_client._types import Dataset, Instance, JsonDict, Session, URL


class NotFound(Exception):
Expand Down
3 changes: 1 addition & 2 deletions tamr_client/dataset/dataframe.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
import os
from typing import Optional, TYPE_CHECKING

from tamr_client._types import Dataset, JsonDict
from tamr_client._types import Dataset, JsonDict, Session
from tamr_client.dataset import record
from tamr_client.session import Session

BUILDING_DOCS = os.environ.get("TAMR_CLIENT_DOCS") == "1"
if TYPE_CHECKING or BUILDING_DOCS:
Expand Down
3 changes: 1 addition & 2 deletions tamr_client/dataset/record.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
from typing import cast, Dict, IO, Iterable, Iterator, Optional

from tamr_client import response
from tamr_client._types import AnyDataset, Dataset, JsonDict
from tamr_client.session import Session
from tamr_client._types import AnyDataset, Dataset, JsonDict, Session


class PrimaryKeyNotFound(Exception):
Expand Down
14 changes: 9 additions & 5 deletions tamr_client/dataset/unified.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,15 @@
from copy import deepcopy

from tamr_client import operation, response
from tamr_client._types import JsonDict, UnifiedDataset, URL
from tamr_client.instance import Instance
from tamr_client.operation import Operation
from tamr_client.project import Project
from tamr_client.session import Session
from tamr_client._types import (
Instance,
JsonDict,
Operation,
Project,
Session,
UnifiedDataset,
URL,
)


class NotFound(Exception):
Expand Down
10 changes: 1 addition & 9 deletions tamr_client/instance.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
from dataclasses import dataclass
from typing import Optional


@dataclass(frozen=True)
class Instance:
protocol: str = "http"
host: str = "localhost"
port: Optional[int] = None
from tamr_client._types import Instance


def origin(instance: Instance) -> str:
Expand Down
26 changes: 2 additions & 24 deletions tamr_client/operation.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@
See https://docs.tamr.com/new/reference/the-operation-object
"""
from copy import deepcopy
from dataclasses import dataclass
from time import sleep, time as now
from typing import Dict, Optional
from typing import Optional

import requests

from tamr_client import response
from tamr_client._types import JsonDict, URL
from tamr_client.instance import Instance
from tamr_client.session import Session
from tamr_client._types import Instance, JsonDict, Operation, Session, URL


class NotFound(Exception):
Expand All @@ -21,25 +18,6 @@ class NotFound(Exception):
pass


@dataclass(frozen=True)
class Operation:
"""A Tamr operation
See https://docs.tamr.com/new/reference/the-operation-object
Args:
url
type
status
description
"""

url: URL
type: str
status: Optional[Dict[str, str]] = None
description: Optional[str] = None


def poll(session: Session, operation: Operation) -> Operation:
"""Poll this operation for server-side updates.
Expand Down
4 changes: 1 addition & 3 deletions tamr_client/project.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
from tamr_client import response
from tamr_client._types import JsonDict, Project, URL
from tamr_client.instance import Instance
from tamr_client._types import Instance, JsonDict, Project, Session, URL
from tamr_client.mastering import project as mastering_project
from tamr_client.session import Session


class NotFound(Exception):
Expand Down
2 changes: 1 addition & 1 deletion tamr_client/session.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import requests

Session = requests.Session
from tamr_client._types import Session


def from_auth(auth: requests.auth.HTTPBasicAuth) -> Session:
Expand Down

0 comments on commit f171252

Please sign in to comment.