brynq-sdk-bob 1.1.0__tar.gz → 1.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/PKG-INFO +1 -1
  2. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/__init__.py +2 -1
  3. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/bank.py +1 -1
  4. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/company.py +2 -2
  5. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/documents.py +4 -3
  6. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/payments.py +1 -1
  7. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/people.py +3 -2
  8. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/timeoff.py +2 -1
  9. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob.egg-info/PKG-INFO +1 -1
  10. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/setup.py +1 -1
  11. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/custom_tables.py +0 -0
  12. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/employment.py +0 -0
  13. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/named_lists.py +0 -0
  14. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/salaries.py +0 -0
  15. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/__init__.py +0 -0
  16. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/bank.py +0 -0
  17. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/custom_tables.py +0 -0
  18. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/employment.py +0 -0
  19. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/named_lists.py +0 -0
  20. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/payments.py +0 -0
  21. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/people.py +0 -0
  22. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/salary.py +0 -0
  23. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/timeoff.py +0 -0
  24. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/schemas/work.py +0 -0
  25. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob/work.py +0 -0
  26. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob.egg-info/SOURCES.txt +0 -0
  27. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob.egg-info/dependency_links.txt +0 -0
  28. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob.egg-info/not-zip-safe +0 -0
  29. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob.egg-info/requires.txt +0 -0
  30. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/brynq_sdk_bob.egg-info/top_level.txt +0 -0
  31. {brynq_sdk_bob-1.1.0 → brynq_sdk_bob-1.1.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: brynq_sdk_bob
3
- Version: 1.1.0
3
+ Version: 1.1.2
4
4
  Summary: Bob wrapper from BrynQ
5
5
  Home-page: UNKNOWN
6
6
  Author: BrynQ
@@ -18,6 +18,7 @@ from .work import Work
18
18
  class Bob(BrynQ):
19
19
  def __init__(self, label: Union[str, List], test_environment: bool = True, debug: bool = False, target_system: str = None):
20
20
  super().__init__()
21
+ self.timeout = 3600
21
22
  self.headers = self._get_request_headers(label=label)
22
23
  if test_environment:
23
24
  self.base_url = "https://api.sandbox.hibob.com/v1/"
@@ -53,7 +54,7 @@ class Bob(BrynQ):
53
54
  while has_next_page:
54
55
  prepped = request.prepare()
55
56
  prepped.headers.update(self.session.headers)
56
- resp = self.session.send(prepped)
57
+ resp = self.session.send(prepped, timeout=self.timeout)
57
58
  resp.raise_for_status()
58
59
  response_data = resp.json()
59
60
  result_data += response_data['results']
@@ -10,7 +10,7 @@ class Bank:
10
10
  def get(self, person_ids: pd.Series) -> (pd.DataFrame, pd.DataFrame):
11
11
  data = []
12
12
  for person_id in person_ids:
13
- resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/bank-accounts")
13
+ resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/bank-accounts", timeout=self.bob.timeout)
14
14
  resp.raise_for_status()
15
15
  temp_data = resp.json()['values']
16
16
  # when an employee has one or more bank accounts, the response is a list of dictionaries.
@@ -9,12 +9,12 @@ class Company:
9
9
  values = {}
10
10
 
11
11
  if list_name is not None:
12
- resp = self.bob.session.get(url=f"{self.bob.base_url}company/named-lists/{list_name}")
12
+ resp = self.bob.session.get(url=f"{self.bob.base_url}company/named-lists/{list_name}", timeout=self.bob.timeout)
13
13
  resp.raise_for_status()
14
14
  data = resp.json()
15
15
  values.update({data["name"]: [value['id'] for value in data['values']]})
16
16
  else:
17
- resp = self.bob.session.get(url=f"{self.bob.base_url}company/named-lists")
17
+ resp = self.bob.session.get(url=f"{self.bob.base_url}company/named-lists", timeout=self.bob.timeout)
18
18
  resp.raise_for_status()
19
19
  data = resp.json()
20
20
  for list_key, list_data in data.items():
@@ -13,7 +13,7 @@ class CustomDocuments:
13
13
  # self.headers_upload['Accept'] = 'application/json'
14
14
 
15
15
  def get(self, person_id: datetime) -> pd.DataFrame:
16
- resp = self.bob.session.get(url=f"{self.bob.base_url}docs/people/{person_id}")
16
+ resp = self.bob.session.get(url=f"{self.bob.base_url}docs/people/{person_id}", timeout=self.bob.timeout)
17
17
  resp.raise_for_status()
18
18
  data = resp.json()['documents']
19
19
  df = pd.DataFrame(data)
@@ -29,7 +29,7 @@ class CustomDocuments:
29
29
  return df
30
30
 
31
31
  def get_folders(self) -> dict:
32
- resp = self.bob.session.get(url=f"{self.bob.base_url}docs/folders/metadata")
32
+ resp = self.bob.session.get(url=f"{self.bob.base_url}docs/folders/metadata", timeout=self.bob.timeout)
33
33
  resp.raise_for_status()
34
34
  data = resp.json()
35
35
 
@@ -42,5 +42,6 @@ class CustomDocuments:
42
42
  file_object: BytesIO):
43
43
  files = {"file": (file_name, file_object, "application/pdf")}
44
44
  resp = self.bob.session.post(url=f"{self.bob.base_url}docs/people/{person_id}/folders/{folder_id}/upload",
45
- files=files)
45
+ files=files,
46
+ timeout=self.bob.timeout)
46
47
  resp.raise_for_status()
@@ -9,7 +9,7 @@ class Payments:
9
9
  self.bob = bob
10
10
 
11
11
  def get(self, person_id: str) -> (pd.DataFrame, pd.DataFrame):
12
- resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/variable")
12
+ resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/variable", timeout=self.bob.timeout)
13
13
  resp.raise_for_status()
14
14
  data = resp.json()
15
15
  df = pd.json_normalize(
@@ -18,7 +18,7 @@ class People:
18
18
  self.custom_tables = CustomTables(bob)
19
19
 
20
20
  def get(self) -> pd.DataFrame:
21
- resp = self.bob.session.get(url=f"{self.bob.base_url}profiles")
21
+ resp = self.bob.session.get(url=f"{self.bob.base_url}profiles", timeout=self.bob.timeout)
22
22
  # Bob sucks with default fields so you need to do a search call to retrieve additional fields.
23
23
  additional_fields = [
24
24
  "personal.birthDate",
@@ -49,7 +49,8 @@ class People:
49
49
  json={
50
50
  "fields": ["root.id"] + additional_fields,
51
51
  "filters": []
52
- })
52
+ },
53
+ timeout=self.bob.timeout)
53
54
  df_extra_fields = pd.json_normalize(resp_additional_fields.json()['employees'])
54
55
  resp.raise_for_status()
55
56
  data = resp.json()
@@ -10,7 +10,8 @@ class TimeOff:
10
10
 
11
11
  def get(self, since: datetime) -> (pd.DataFrame, pd.DataFrame):
12
12
  resp = self.bob.session.get(url=f"{self.bob.base_url}timeoff/requests/changes",
13
- params={'since': since.replace(tzinfo=timezone.utc).isoformat(timespec='milliseconds')})
13
+ params={'since': since.replace(tzinfo=timezone.utc).isoformat(timespec='milliseconds')},
14
+ timeout=self.bob.timeout)
14
15
  resp.raise_for_status()
15
16
  data = resp.json()['changes']
16
17
  # data = self.bob.get_paginated_result(request)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: brynq-sdk-bob
3
- Version: 1.1.0
3
+ Version: 1.1.2
4
4
  Summary: Bob wrapper from BrynQ
5
5
  Home-page: UNKNOWN
6
6
  Author: BrynQ
@@ -2,7 +2,7 @@ from setuptools import setup, find_namespace_packages
2
2
 
3
3
  setup(
4
4
  name='brynq_sdk_bob',
5
- version='1.1.0',
5
+ version='1.1.2',
6
6
  description='Bob wrapper from BrynQ',
7
7
  long_description='Bob wrapper from BrynQ',
8
8
  author='BrynQ',
File without changes