brynq-sdk-bob 2.6.2.dev6__tar.gz → 2.6.2.dev7__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 (33) hide show
  1. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/PKG-INFO +2 -1
  2. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/bank.py +9 -2
  3. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob.egg-info/PKG-INFO +2 -1
  4. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob.egg-info/requires.txt +1 -0
  5. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/setup.py +2 -1
  6. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/__init__.py +0 -0
  7. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/company.py +0 -0
  8. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/custom_tables.py +0 -0
  9. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/documents.py +0 -0
  10. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/employment.py +0 -0
  11. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/named_lists.py +0 -0
  12. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/payments.py +0 -0
  13. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/payroll_history.py +0 -0
  14. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/people.py +0 -0
  15. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/salaries.py +0 -0
  16. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/__init__.py +0 -0
  17. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/bank.py +0 -0
  18. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/custom_tables.py +0 -0
  19. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/employment.py +0 -0
  20. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/named_lists.py +0 -0
  21. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/payments.py +0 -0
  22. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/payroll_history.py +0 -0
  23. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/people.py +0 -0
  24. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/salary.py +0 -0
  25. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/timeoff.py +0 -0
  26. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/schemas/work.py +0 -0
  27. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/timeoff.py +0 -0
  28. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob/work.py +0 -0
  29. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob.egg-info/SOURCES.txt +0 -0
  30. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob.egg-info/dependency_links.txt +0 -0
  31. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob.egg-info/not-zip-safe +0 -0
  32. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/brynq_sdk_bob.egg-info/top_level.txt +0 -0
  33. {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev7}/setup.cfg +0 -0
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: brynq_sdk_bob
3
- Version: 2.6.2.dev6
3
+ Version: 2.6.2.dev7
4
4
  Summary: Bob wrapper from BrynQ
5
5
  Author: BrynQ
6
6
  Author-email: support@brynq.com
7
7
  License: BrynQ License
8
8
  Requires-Dist: brynq-sdk-brynq<5,>=4
9
9
  Requires-Dist: pandas<3.0.0,>=2.2.0
10
+ Requires-Dist: tenacity==8.2.3
10
11
  Dynamic: author
11
12
  Dynamic: author-email
12
13
  Dynamic: description
@@ -4,17 +4,24 @@ from .schemas.bank import BankSchema
4
4
 
5
5
  import time
6
6
  from tqdm import tqdm
7
+ from tenacity import retry, stop_after_delay, wait_exponential
7
8
 
8
9
  class Bank:
9
10
  def __init__(self, bob):
10
11
  self.bob = bob
11
12
  self.schema = BankSchema
12
13
 
14
+ @retry(stop=stop_after_delay(120), wait=wait_exponential(multiplier=1, min=1, max=10))
15
+ def _get_bank_accounts(self, person_id: str):
16
+ """Fetch bank accounts for a person with retry logic (max 2 minutes)."""
17
+ resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/bank-accounts", timeout=self.bob.timeout)
18
+ resp.raise_for_status()
19
+ return resp
20
+
13
21
  def get(self, person_ids: pd.Series, field_selection: list[str] = []) -> (pd.DataFrame, pd.DataFrame):
14
22
  data = []
15
23
  for person_id in tqdm(person_ids, desc="Fetching bank accounts"):
16
- resp = self.bob.session.get(url=f"{self.bob.base_url}people/{person_id}/bank-accounts", timeout=self.bob.timeout)
17
- resp.raise_for_status()
24
+ resp = self._get_bank_accounts(person_id)
18
25
  temp_data = resp.json()['values']
19
26
  # when an employee has one or more bank accounts, the response is a list of dictionaries.
20
27
  for account in temp_data:
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: brynq_sdk_bob
3
- Version: 2.6.2.dev6
3
+ Version: 2.6.2.dev7
4
4
  Summary: Bob wrapper from BrynQ
5
5
  Author: BrynQ
6
6
  Author-email: support@brynq.com
7
7
  License: BrynQ License
8
8
  Requires-Dist: brynq-sdk-brynq<5,>=4
9
9
  Requires-Dist: pandas<3.0.0,>=2.2.0
10
+ Requires-Dist: tenacity==8.2.3
10
11
  Dynamic: author
11
12
  Dynamic: author-email
12
13
  Dynamic: description
@@ -1,2 +1,3 @@
1
1
  brynq-sdk-brynq<5,>=4
2
2
  pandas<3.0.0,>=2.2.0
3
+ tenacity==8.2.3
@@ -2,7 +2,7 @@ from setuptools import find_namespace_packages, setup
2
2
 
3
3
  setup(
4
4
  name='brynq_sdk_bob',
5
- version='2.6.2.dev6',
5
+ version='2.6.2.dev7',
6
6
  description='Bob wrapper from BrynQ',
7
7
  long_description='Bob wrapper from BrynQ',
8
8
  author='BrynQ',
@@ -12,6 +12,7 @@ setup(
12
12
  install_requires=[
13
13
  'brynq-sdk-brynq>=4,<5',
14
14
  'pandas>=2.2.0,<3.0.0',
15
+ 'tenacity==8.2.3',
15
16
  ],
16
17
  zip_safe=False,
17
18
  )