Skip to main content

light dal package

Project description

banner.connection:
  • Connection(Object):
    • ABS class

  • CacheConnection(Connection):
    • ABS class

  • MySqlConnection(Connection)(host, user, passwd, db, ssl_key, ssl_cert, name):
    • Create Connection object compatible with banner.queries

    • raises MySQLError for bad connection

  • RedisConnection(CacheConnection)(host, port, passwd, db, ssl_key, ssl_cert, name, ttl):
    • Create CacheConnection object compatible with banner.queries

banner.queries.Queries:
  • CONNECTIONS(conns: Dict[str, Connection] = {}) -> :
    • Getter/Setter for known(default) Connections dict

  • CACHE(con: CacheConnection = None):
    • Getter/Setter for known(default) CacheConnection

  • simple_query(query: str, connection=None, cache_connection=None, ttl=None) -> pd.DataFrame:
    • run a simple string query for Connection

    • connection=None try to get first known connection, raise KeyError if None found

    • Cache the result if cache_connection or Queries.CACHE exists (ttl if provided otherwise use CACHE.ttl)

    • w2p_parse=True - should parse query according to w2p syntax

  • table_query(table: str, columns: Union[list, str] = ‘*’, condition: str = ‘1’, connection=None, cache_connection=None, ttl=None, raw=False) -> pd.DataFrame:
    • Queries a given connection for ‘SELECT {columns} FROM {table} WHERE {condition}’

    • Accepts both column values and labels

    • raw=True - column names as in db

    • Queries a given Connection(ip)/str of a known connection (or first known) return result as DataFrame

    • Cache the result if cache_connection or Queries.CACHE exists (ttl if provided otherwise use CACHE.ttl)

    • Raises OperationalError and KeyError(Failed to find a connection for given key)

  • def neware_query(device: int, unit: int, channel: int, test: int, connection: Union[Connection, str] = None, cache_connection=None, ttl=None, raw=False, dqdv=False, condition: str = ‘1’, temperature: bool = True, cache_data: pd.DataFrame = pd.DataFrame()) -> pd.DataFrame:
    • query Connection for device, unit, channel, test

    • connection=None try to get first known connection, raise KeyError if None found

    • temperature=True - fetch temperature data

    • raw=False - compute temperature, voltage, current aswell as grouping by auxchl_id

    • dqdv=True -> banner.neware.calc_dq_dv

    • Cache the result if cache_connection or Queries.CACHE exists (ttl if provided otherwise use CACHE.ttl)

    • raises Type err if no data exists

  • def neware_tests_query(table: str, experiments: Union[list, Number, str] = [], templates: Union[list, Number, str] = [], tests: Union[list, Number, str] = [], cells: Union[list,Number, str] = [], condition: str = ‘cycle < 2’, raw=False, dqdv=False, temperature: bool = True, connection: Union[Connection, str] = None, cache_connection=None, ttl=None):
    • Multi Process Queries.neware_query (number of processes = number of distinct connections found for input)

    • Queries all available tests for given table AND experiments AND templates AND tests AND cells

    • Union[list, Number, str] - single/list of numbers or a valid query

    • temperature=True - fetch temperature data

    • raw=False - compute temperature, voltage, current aswell as grouping by auxchl_id

    • dqdv=True -> banner.neware.calc_dq_dv

    • Cache the result if cache_connection or Queries.CACHE exists (ttl if provided otherwise use CACHE.ttl)

    • raises Type err if no data exists

  • describe_table(table, connection: Union[Connection, str] = None)
    • Returns a series of table columns

    • connection=None try to get first known connection, raise KeyError if None found

  • describe(table, connection: Union[Connection, str] = None)
    • Returns a series of db tables

    • connection=None try to get first known connection, raise KeyError if None found

banner.neware:
-calc_neware_cols(data: pd.DataFrame):
  • calculate neware columns for a valid neware DataFrame

  • calc_dq_dv(data: pd.DataFrame, raw=False):
    • Calculate DQ/DV for a valid neware df

    • raw=False: remove outliers

  • merge_cache(data: pd.DataFrame, cache_data: pd.DataFrame):
    • Given data(neware df), cache_data(neware_cache df), tries to merge cache_data into data

    • ** Raises TypeError and Index Error**

banner.pandas_decorator:
  • DataFrame.calculate_current

  • DataFrame.calculate_neware_timestamp

  • DataFrame.calculate_temperature

  • DataFrame.calculate_voltage

  • DataFrame.calculate_neware_columns

  • DataFrame.calculate_dq_dv

  • DataFrame.group_by_auxchl

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

banner-storedot-1.7.1.tar.gz (49.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page