full docs here https://thanakijwanavit.github.io/villa-inventory-sdk/
pip install villaInventorySdk
Uploading a large amount of data
from villaInventorySdk.inventory import InventorySdk
from random import randrange
import boto3, time, json
from dataclasses import dataclass
from dataclasses_json import dataclass_json
from datetime import datetime
import pandas as pd
from nicHelper.dictUtil import printDict
sampleInput = [
{ 'iprcode': '0000009', 'brcode': '1000', 'ib_cf_qty': '50', 'new_ib_vs_stock_cv': '27' },
{ 'iprcode': '0000004', 'brcode': '1000', 'ib_cf_qty': '35', 'new_ib_vs_stock_cv': '33' },
{ 'iprcode': '0000003', 'brcode': '1003', 'ib_cf_qty': '36', 'new_ib_vs_stock_cv': '33' }
]
df = pd.DataFrame(sampleInput)
df
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
iprcode | brcode | ib_cf_qty | new_ib_vs_stock_cv | |
---|---|---|---|---|
0 | 0000009 | 1000 | 50 | 27 |
1 | 0000004 | 1000 | 35 | 33 |
2 | 0000003 | 1003 | 36 | 33 |
%%time
USER=None
PW = None
sdk = InventorySdk(user=USER, pw=PW, branchName = branch)
CPU times: user 34.2 ms, sys: 7.54 ms, total: 41.8 ms
Wall time: 40.8 ms
%%time
key = 'test'
r = sdk.uploadDf(df, key = key)
if r.status_code >= 400: raise Exception(r.json())
sdk.ingestData(key = key)
signed url is
url : https://in
fields
key : test
AWSAccessKeyId : ASIAVX4Z5T
x-amz-security-token : IQoJb3JpZ2
policy : eyJleHBpcm
signature : apy2TqqnY2
CPU times: user 54.7 ms, sys: 12.3 ms, total: 67 ms
Wall time: 628 ms
{'body': '{"iprcode":{"0":"0000009","1":"0000004","2":"0000003"},"brcode":{"0":"1000","1":"1000","2":"1003"},"ib_cf_qty":{"0":"50","1":"35","2":"36"},"new_ib_vs_stock_cv":{"0":"27","1":"33","2":"33"}}',
'statusCode': 200,
'headers': {'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': '*'}}
#### test uploading real data
# df = pd.read_csv('sampleData/inventory.csv', index_col=0, dtype=str).reset_index(drop=True)
# r = sdk.uploadDf(df, key = key)
# if r.status_code >= 400: raise Exception(r.json())
# sdk.ingestData(key = key)
%%time
sdk.querySingleProduct2(iprcode='1234')
succesfully get url, returning pandas
CPU times: user 103 ms, sys: 12.6 ms, total: 116 ms
Wall time: 799 ms
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
iprcode | brcode | ib_cf_qty | new_ib_vs_stock_cv |
---|
%%time
sdk.branchQuery(brcode='1000', iprcodes = [9])
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<timed eval> in <module>
~/SageMaker/.persisted_conda/python38/lib/python3.8/site-packages/nicHelper/wrappers.py in wrapper(self, *args, **kwargs)
12 @wraps(func)
13 def wrapper(self, *args, **kwargs):
---> 14 return func(self, *args, **kwargs)
15 setattr(cls, func.__name__, wrapper)
16 # Note we are not binding func, but wrapper which accepts self but does exactly the same as func
TypeError: branchQuery() got an unexpected keyword argument 'iprcodes'
%%time
sdk.queryAll2()
succesfully get url, returning pandas
CPU times: user 76.2 ms, sys: 24.1 ms, total: 100 ms
Wall time: 673 ms
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
iprcode | brcode | ib_cf_qty | new_ib_vs_stock_cv | |
---|---|---|---|---|
0 | 4 | 1000 | 35 | 33 |
1 | 9 | 1000 | 95 | 95 |
2 | 12 | 1000 | 36 | 36 |
3 | 26 | 1000 | 28 | 28 |
4 | 28 | 1000 | 9 | 9 |
... | ... | ... | ... | ... |
81551 | 244818 | 1000 | 0 | 0 |
81552 | 244820 | 1000 | 0 | 0 |
81553 | 244822 | 1000 | 0 | 0 |
81554 | 244823 | 1000 | 0 | 0 |
81555 | 3 | 1003 | 36 | 33 |
81556 rows ร 4 columns
sdk.querySingleProduct2()
succesfully get url, returning pandas
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
iprcode | brcode | ib_cf_qty | new_ib_vs_stock_cv |
---|