Skip to main content

Utilities to manage Arrays

Project description

Overview

Utilities to manage Arrays

Installation

Package ka_uts_array can be installed from PyPI or Anaconda.

To install with pip:

$ python -m pip install ka_uts_arr

To install with conda:

$ conda install -c conda-forge ka_uts_arr

Package logging

(c.f.: Appendix: Package Logging)

Package files

Classification

The Files of Package ka_uts_arr could be classified into the follwing file types (c.f.: Appendix: Python Terminology):

  1. Special files

    1. py.typed

  2. Special modules

    1. __init__.py

    2. __version__.py

  3. Modules

    1. Modules for dictionaries

      1. dic.py

    2. Modules for dictionaries of arrays

      1. doaod.py

      2. doa.py

    3. Modules for dictionaries of callables

      1. doc.py*

    4. Modules for dictionaries of dataframes

      1. dopddf.py

Package Modules

Overview

The Modules of Package ka_uts_arr could be classified into the follwing module types:

  1. Modules for arrays

  2. Modules for arrays of arrays

  3. Modules for arrays of basic objects

Modules for arrays

The Module type Modules for arrays contains only the module arr.py.

Module: arr.py

The Module arr.py contains only the static class Arr.

Class: Arr

The Class Arr contains the following methods:

Arr Methods
Arr methods

Name

Short description

append

Append item to the array

append_unique

Append item to the array if the item is not in the array.

apply_function

Apply function with the keyword arguments to all non empty array elements.

apply_replace

Replace source by target to all array elements.

apply_str

Apply function str to all non empty array elements.

encode

Join array elements with blank separator and encode result string.

ex_intersection

Intersection of first array with second array.

extend

Extend first array with second array.

get_key_value

Get next array item value without line feed for the given index or the given default value if the item value is identical to the given value without line feeds.

get_item

Extend array of dicts. with non empty dict.

get_text

Extend array of dicts. with non empty dict.

get_text_spli

Extend array of dicts. with non empty dict.

intersection

Extend array of dicts. with non empty dict.

is_empty

Extend array of dicts. with non empty dict.

is_not_empty

Extend array of dicts. with non empty dict.

join_not_none

Extend array of dicts. with non empty dict.

length

Extend array of dicts. with non empty dict.

merge

Extend array of dicts. with non empty dict.

sh_dic_from_keys_values

Extend array of dicts. with non empty dict.

sh_dic_zip

Join elements of array of dicts.

sh_item

Show True if an element exists in the array

sh_item_if

Show True if an element exists in the array

sh_item_lower

Show True if an element exists in the array

sh_item_str

Show True if an element exists in the array

sh_item0

Deduplicate array of dicts.

sh_item0_if

Deduplicate array of dicts.

sh_subarray

Deduplicate array of dicts.

to_dic

Show arr. of arrays created from arr. of dict. by using any key- and all value-arrays

yield_items

Convert array of dictionaries to array of arrays controlled by key- and value-switch.

Modules for array of arrays

The Module type Modules for array of arrays contains only the module aoa.py.

Module: aoa.py

The Module aoa.py contains only the static class AoA.

aoa.py Class: AoA

The static Class AoA contains the subsequent methods.

AoA Methods
AoA Methods

Name

Short description

concatinate

Concatinate all arrays of array of arrays

csv_writerows

Write array of arrays to csv file

nvl

Replace empty array of arrays

to_aod

Convert array of arrays to array of dictionaries using an array of keys

to_arr_from_2cols

Convert array of arrays to array using a 2-dimensional index array

to_doa_from_2cols

Convert array of arrays to dictionary of arrays using a 2-dimensionl index array

to_dic_from_2cols

Convert array of arrays to dictionary by using a 2-dimensional index array

AoA Method: concatinate
Description

Concatinate all arrays of array of arrays.

Parameter
Parameter of: AoA Method: concatinate

Name

Type

Default

Description

aoa

TyAoA

Array of arrays

Return Value
Return Value of: AoA Method: concatinate

Name

Type

Description

arr_new

TyArr

new array

AoA Method: csv_writerows
Description

Write Array of Arrays to Csv file defined by the path string using the function “writerows” of module “csv”.

Parameter
Parameter of: AoA Method: csv_writerows

Name

Type

Description

aoa

TyAoA

Array of arrays

path

TyPath

Path string

kwargs

TyDic

Keyword aruments

Return Value
Return Value of: AoA Method: csv_writerows

Name

Type

Description

None

AoA Method: nvl
Description

Return the empty array if the Array of Arrays is None.

Parameter
Parameter of: AoA Method nvl

Name

Type

Default

Description

aoa

TyAoA

Array of arrays

Return Value
Return Value of: AoA Method: nvl

Name

Type

Description

aoa_new

TyAoA

new Array of arrays

AoA Method: to_aod
Description

Convert array of arrays to array of Dictionaries.

Parameter
Parameter of: AoA Method: to_aod

Name

Type

Default

Description

aoa

TyAoA

Array of arrays

keys

TyArr

Array of keys

Return Value
Return Value of: AoA Method: to_aod

Name

Type

Description

aod

TyAoD

array of dictionaries

AoA Method: to_arr_from_2cols
Description

Convert Array of Arrays to unique array with distinct elements by selecting 2 columns of each Array as elements of the new array using a 2-dimensional index-array.

Parameter
Parameter of: AoA Method: to_arr_from_2cols

Name

Type

Default

Description

aoa

TyAoA

Array of arrays

a_ix

TyAoI

Array of integer

Return Value
Return Value of: AoA Method: to_arr_from_2cols

Name

Type

Description

arr

TyArr

Array

AoA Method: to_doa_from_2cols
Description

Convert array of arrays to dictionary of unique arrays (array with distinct elements)

  1. Select 2 columns of each array as key-, value-candidates of the new dictionary using a 2-dimensional index-array.

  2. If the new key exists then the new value extends the key value as unique array,

# otherwise

the new value is assigned as unique array to the key.

Parameter
Parameter of: AoA Method: to_doa_from_2cols

Name

Type

Default

Description

aoa

TyAoA

Array of arrays

a_ix

TyAoI

Array of integer

Return Value
Return Value of: AoA Method: to_doa_from_2cols

Name

Type

Description

doa

TyDoA

Dictionry of arrays

AoA Method: to_dic_from_2cols
Description

Convert array of arrays to dictionary by selecting 2 columns of each array as key-, value-candidates of the new dictionary if the key is not none using a 2-dimensional index-array.

Parameter
Parameter of: AoA Method: to_dic_from_2cols

Name

Type

Default

Description

aoa

TyAoA

Array of arrays

a_ix

TyAoI

Array of integer

Return Value
Return Value of: AoA Method: to_dic_from_2col*

Name

Type

Description

dic

TyDic

Dictionary

Modules for array of objects

Modules-for-array-of-dictionaries

Name

Description

aoo.py

Array of objects

Module: aoo.py

The Module aoo.py contains the single static class AoO;

aoo.py Class: AoO

Methods
AoO Methods

Name

short Description

to_unique

Concatinate array arrays

AoO Method: to_unique

Deduplicate array of objects

Parameter
Parameter of: AoO Method: to_unique

Name

Type

Description

aoo

TyAoO

Array of objects

Return Value
Return Value of: AoO Method: to_unique

Name

Type

Description

aoo_new

TyAoO

New array of objects

Module: aos.py

Classes

The Module aos.py contains the single static class AoS;

Class: AoS

AoS Methods

AoS Methods

Name

short Description

nvl

Replace empty array of strings

sh_a_date

Convert array of strings to array of dates

to_lower

Convert array of strings to array of lowered strings.

to_unique

Deduplicate array of arrays

to_unique_lower

Convert array of strings to deduplicted array of lowered strings.

to_unique_lower_invariant

Convert array of arrays to array of arrays

Method: AoS.to_unique

Parameter
Parameter of: AoS Method: to_unique

Name

Type

Default

Description

aoo

TyAoO

array of objects

Return Value
Return Value of: AoS Method: to_unique

Name

Type

Description

aoo_new

TyAoO

new array of objects

Appendix

Package Logging

Description

The Standard or user specifig logging is carried out by the log.py module of the logging package ka_uts_log using the configuration files ka_std_log.yml or ka_usr_log.yml in the configuration directory cfg of the logging package ka_uts_log. The Logging configuration of the logging package could be overriden by yaml files with the same names in the configuration directory cfg of the application packages.

Log message types

Logging defines log file path names for the following log message types: .

  1. debug

  2. info

  3. warning

  4. error

  5. critical

Application parameter for logging
Application parameter used in log naming

Name

Decription

Values

Example

dir_dat

Application data directory

/otev/data

tenant

Application tenant name

UMH

package

Application package name

otev_xls_srr

cmd

Application command

evupreg

pid

Process ID

æevupreg

log_ts_type

Timestamp type used in logging files|ts, dt

ts, dt

ts

log_sw_single_dir

Enable single log directory or multiple log directories

True, False

True

Log type and Log directories

Single or multiple Application log directories can be used for each message type:

Log types and directoriesg

Log type

Log directory

long

short

multiple

single

debug

dbqs

dbqs

logs

info

infs

infs

logs

warning

wrns

wrns

logs

error

errs

errs

logs

critical

crts

crts

logs

Log files naming
Naming Conventions
Naming conventions for logging file paths

Type

Directory

File

debug

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

info

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

warning

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

error

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

critical

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

Naming Examples
Naming examples for logging file paths

Type

Directory

File

debug

/data/otev/umh/RUN/otev_xls_srr/evupreg/logs

debs_1737118199_9470.log

info

/data/otev/umh/RUN/otev_xls_srr/evupreg/logs

infs_1737118199_9470.log

warning

/data/otev/umh/RUN/otev_xls_srr/evupreg/logs

wrns_1737118199_9470.log

error

/data/otev/umh/RUN/otev_xls_srr/evupreg/logs

errs_1737118199_9470.log

critical

/data/otev/umh/RUN/otev_xls_srr/evupreg/logs

crts_1737118199_9470.log

Python Terminology

Python packages

Python packages

Name

Definition

Python package

Python packages are directories that contains the special module __init__.py and other modules, packages files or directories.

Python sub-package

Python sub-packages are python packages which are contained in another pyhon package.

Python package Sub-directories
Python packages Sub-directories

Name

Definition

Python package sub-directory

Sub-directories are directories contained in python packages.

Special Python package sub-directory

Python package sub-directories with a special meaning.

Special python package Sub-directories
Special python Sub-directories

Name

Description

bin

Directory for package scripts.

cfg

Directory for package configuration files.

data

Directory for package data files.

service

Directory for systemd service scripts.

Python package files
Python package files

Name

Definition

Python package files

Files within a python package.

Special python package files

Package files which are not modules and used as python and used as python marker files like __init__.py.

Python package module

Files with suffix .py; they could be empty or contain python code; other modules can be imported into a module.

Special python package module

Modules like __init__.py or main.py with special names and functionality.

Special python package files
Special python package files

Name

Type

Description

py.typed

Type checking marker file

The py.typed file is a marker file used in Python packages to indicate that the package supports type checking. This is a part of the PEP 561 standard, which provides a standardized way to package and distribute type information in Python.

Special python package modules
Special Python package modules

Name

Type

Description

__init__.py

Package directory marker file

The dunder (double underscore) module __init__.py is used to execute initialisation code or mark the directory it contains as a package. The Module enforces explicit imports and thus clear namespace use and call them with the dot notation.

__main__.py

entry point for the package

The dunder module __main__.py serves as an entry point for the package. The module is executed when the package is called by the interpreter with the command python -m <package name>.

__version__.py

Version file

The dunder module __version__.py consist of assignment statements used in Versioning.

Python elements

Python elements

Name

Description

Python method

Python functions defined in python modules.

Special python method

Python functions with special names and functionalities.

Python class

Classes defined in python modules.

Python class method

Python methods defined in python classes

Special python methods
Special python methods

Name

Type

Description

__init__

class object constructor method

The special method __init__ is called when an instance (object) of a class is created; instance attributes can be defined and initalized in the method.

Table of Contents

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ka_uts_arr-4.0.1.250513.tar.gz (73.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ka_uts_arr-4.0.1.250513-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file ka_uts_arr-4.0.1.250513.tar.gz.

File metadata

  • Download URL: ka_uts_arr-4.0.1.250513.tar.gz
  • Upload date:
  • Size: 73.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for ka_uts_arr-4.0.1.250513.tar.gz
Algorithm Hash digest
SHA256 d6f4efd232befb93ad2257f8d72444e14708ad0ea3baa5794cc2b0c48f7b7c71
MD5 99cdd907ae3257feedb79e67c6f666e2
BLAKE2b-256 f5a3440656fc02feda9db054e75b27169237cea71399a8d02a52df16101051c7

See more details on using hashes here.

File details

Details for the file ka_uts_arr-4.0.1.250513-py3-none-any.whl.

File metadata

File hashes

Hashes for ka_uts_arr-4.0.1.250513-py3-none-any.whl
Algorithm Hash digest
SHA256 ffb1a50d8edd39fd60ba7777d1b610ed68d51085535d12650282e4b22b56c2aa
MD5 07b40f8bdda0e0677c1aff3bc02d33de
BLAKE2b-256 930648b934273a28a8a89c0f977c043f6d871c912b9aba0ba8d2f09e251670b2

See more details on using hashes here.

Supported by

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