brynq-sdk-bob 2.6.2.dev6__tar.gz → 2.6.2.dev8__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.
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/PKG-INFO +2 -1
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/bank.py +9 -2
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/payments.py +9 -4
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob.egg-info/PKG-INFO +2 -1
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob.egg-info/requires.txt +1 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/setup.py +2 -1
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/__init__.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/company.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/custom_tables.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/documents.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/employment.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/named_lists.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/payroll_history.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/people.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/salaries.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/__init__.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/bank.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/custom_tables.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/employment.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/named_lists.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/payments.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/payroll_history.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/people.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/salary.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/timeoff.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/work.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/timeoff.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/work.py +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob.egg-info/SOURCES.txt +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob.egg-info/dependency_links.txt +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob.egg-info/not-zip-safe +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob.egg-info/top_level.txt +0 -0
- {brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/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.
|
|
3
|
+
Version: 2.6.2.dev8
|
|
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.
|
|
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,10 +1,12 @@
|
|
|
1
|
+
import time
|
|
2
|
+
from typing import List, Optional
|
|
3
|
+
|
|
1
4
|
import pandas as pd
|
|
2
|
-
from
|
|
5
|
+
from tqdm import tqdm
|
|
6
|
+
|
|
3
7
|
from brynq_sdk_functions import Functions
|
|
4
|
-
from .schemas.payments import VariablePaymentSchema, ActualPaymentsSchema
|
|
5
8
|
|
|
6
|
-
import
|
|
7
|
-
from tqdm import tqdm
|
|
9
|
+
from .schemas.payments import ActualPaymentsSchema, VariablePaymentSchema
|
|
8
10
|
|
|
9
11
|
|
|
10
12
|
class Payments:
|
|
@@ -31,6 +33,9 @@ class Payments:
|
|
|
31
33
|
for key, value in named_lists.items()
|
|
32
34
|
}
|
|
33
35
|
|
|
36
|
+
# rename payrollVariableType to variableType in named lists
|
|
37
|
+
named_lists['variableType'] = named_lists['payrollVariableType']
|
|
38
|
+
|
|
34
39
|
for field in df.columns:
|
|
35
40
|
# Fields in the response and in the named-list have different building blocks
|
|
36
41
|
# but they both end with the same last block
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: brynq_sdk_bob
|
|
3
|
-
Version: 2.6.2.
|
|
3
|
+
Version: 2.6.2.dev8
|
|
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
|
|
@@ -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.
|
|
5
|
+
version='2.6.2.dev8',
|
|
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
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/custom_tables.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob/schemas/payroll_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brynq_sdk_bob-2.6.2.dev6 → brynq_sdk_bob-2.6.2.dev8}/brynq_sdk_bob.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|