Apeman DAL service client SDK
Project description
This library enables you to interact with DAL service to save and load your data
publish:
python setup.py sdist bdist_wheel
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
install: pip install apeman-dal-client==0.1.0
How to use
export apeman_dal_server_addr='localhost:9090'
Create Datafeed
from apeman.dal.tsdb.enum import DataAmount
from apeman.dal.tsdb.enum import DataType
from apeman.dal.tsdb.tsdb_client import ApemanDalTsdbClient
from apeman.dal.tsdb.proto_builder import ColumnDefinitionBuilder, CreateDatafeedRequestBuilder, \
DataAmountBuilder, DataTypeBuilder, UniqueKeyBuilder
# build create datafeed request
tag = ColumnDefinitionBuilder() \
.set_name(name='tag_nae') \
.set_non_null(non_null=True) \
.set_type(data_type=DataTypeBuilder().set_type(DataType.TEXT).build()) \
.set_limit(limit=100).build()
field = ColumnDefinitionBuilder() \
.set_name(name='field_name') \
.set_non_null(non_null=True) \
.set_type(data_type=DataTypeBuilder().set_type(DataType.TEXT).build()) \
.set_limit(limit=100).build()
unique_key = UniqueKeyBuilder().set_name('tag_name').build()
unique_key_2 = UniqueKeyBuilder().set_name('field_name').build()
data_amount = DataAmountBuilder().set_data_amount(DataAmount.BIG).build()
create_datafeed_request = CreateDatafeedRequestBuilder() \
.set_name(name='test') \
.add_tag(tag=tag) \
.add_field(field=field) \
.add_unique_key(unique_key=unique_key) \
.add_unique_key(unique_key=unique_key_2) \
.set_data_amount(data_amount=data_amount) \
.build()
client = ApemanDalTsdbClient()
# create datafeed
client.create_datafeed(request=create_datafeed_request)
#
Delete Datafeed
from apeman.dal.tsdb.tsdb_client import ApemanDalTsdbClient
client = ApemanDalTsdbClient()
# delete datafeed
client.delete_datafeed(datafeed='test')
Get Datafeed
from apeman.dal.tsdb.tsdb_client import ApemanDalTsdbClient
client = ApemanDalTsdbClient()
# delete datafeed
client.get_datafeed(datafeed='test')
List Datafeed
from apeman.dal.tsdb.tsdb_client import ApemanDalTsdbClient
client = ApemanDalTsdbClient()
# delete datafeed
client.list_datafeed(query_filter='')
Put Data
from apeman.dal.tsdb.tsdb_client import ApemanDalTsdbClient
from apeman.dal.tsdb.enum import DataType
from apeman.dal.tsdb.proto_builder import TabularDataBuilder, ColumnMetaBuilder, DataTypeBuilder, TupleBuilder, ValBuilder
client = ApemanDalTsdbClient()
column_a = ColumnMetaBuilder() \
.set_name(name='column_a') \
.set_data_type(DataTypeBuilder() \
.set_type(DataType.TEXT).build()) \
.build()
column_b = ColumnMetaBuilder() \
.set_name(name='column_b') \
.set_data_type(DataTypeBuilder() \
.set_type(DataType.TEXT).build()) \
.build()
tuple_a = TupleBuilder() \
.add_val(val = ValBuilder().set_i32(1000).build()) \
.add_val(val = ValBuilder().set_i32(1000).build()) \
.add_val(val = ValBuilder().set_i32(1000).build()) \
.add_val(val = ValBuilder().set_i32(1000).build()) \
.build()
tuple_b = TupleBuilder() \
.add_val(val = ValBuilder().set_i32(1000).build()) \
.add_val(val = ValBuilder().set_i32(1000).build()) \
.add_val(val = ValBuilder().set_i32(1000).build()) \
.add_val(val = ValBuilder().set_i32(1000).build()) \
.build()
data = TabularDataBuilder() \
.add_column(column_a) \
.add_column(column_b) \
.add_tuple(tuple=tuple_a) \
.add_tuple(tuple=tuple_b) \
.build()
client.put_data(datafeed='test', data=data)
Get Data
from apeman.dal.tsdb.tsdb_client import ApemanDalTsdbClient
from apeman.dal.tsdb.enum import DataType
from apeman.dal.tsdb.proto_builder import TabularDataBuilder, ColumnMetaBuilder, \
DataTypeBuilder, GetDataRequestBuilder
client = ApemanDalTsdbClient()
column_a = ColumnMetaBuilder() \
.set_name(name='column_a') \
.set_data_type(
DataTypeBuilder() \
.set_type(DataType.TEXT).build()
) \
.build()
column_b = ColumnMetaBuilder() \
.set_name(name='column_b') \
.set_data_type(
DataTypeBuilder() \
.set_type(DataType.TEXT).build()
) \
.build()
request = GetDataRequestBuilder() \
.add_column(column=column_a) \
.add_column(column_b) \
.set_datafeed(datafeed='test') \
.set_where(where='') \
.set_group_by(group_by='') \
.set_having(having='') \
.set_order_by(order_by='') \
.set_offset(offset=0) \
.set_limit(limit=100) \
.build()
data = TabularDataBuilder() \
.add_column(column_a) \
.add_column(column_b).build()
client.get_data(request=request)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for apeman_dal_client-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79b7645fa5a69e5a98d94c50aa4cf6a663c2b0b668d194d0399e7518bac653a6 |
|
MD5 | 8b2eb62c48c17977f8ed593fa17cf6c9 |
|
BLAKE2b-256 | 59b442238dbb880a7efa28f6bab6a7ebdeeb4e91dc4a16278523d5e893b57da6 |