Skip to main content

Application Setup and Package Management Utilities

Project description

Overview

Utilities for Application Setup and Package Management

Installation

The package ka_uts_uts can be installed from PyPI or Anaconda.

To install with pip:

$ python -m pip install ka_uts_uts

To install with conda:

$ conda install -c conda-forge ka_uts_uts

Package logging

(c.f.: Appendix: Package Logging)

Package files

Classification

The Package ka_uts_uts consist of the following file types (c.f.: Appendix):

  1. Special files: (c.f.: Appendix: Special python package files)

  2. Dunder modules: (c.f.: Appendix: Special python package modules)

  3. Modules

    1. Control *Modules

      1. do.py

      2. parms.py

      3. task.py

    2. Application Modules

      1. setup.py

  4. Sub-packages

    1. ioc: (I/O Control)

      1. Special files: (c.f.: Appendix: Special python package files)

      2. Dunder modules: (c.f.: Appendix: Special python package modules)

      3. Modules

        1. jinja2.py

        2. yaml.py

    2. utils: (Utilities)

      1. Special files: (c.f.: Appendix: Special python package files)

      2. Dunder modules: (c.f.: Appendix: Special python package modules)

      3. Modules

        1. pacmod.py

        2. pac.py

Control Modules

The Package ka_uts_uts contains the following Control modules.

ka_uts_uts Control Modules

Name

Decription

do.py

Main control with Do class and do method

parms.py

Parameter control

task.py

Mail Task management

Application Modules

The Package ka_uts_uts contains the following Application modules.

ka_uts_uts Application Modules

Name

Decription

setup.py

Application Setup

Sub-package: ioc (I/O Control)

Modules

The Sub-package ioc contains the following modules.

ioc Modules

Name

Decription

jinja_.py

I/O Control methods for jinja2 files.

yaml_.py

I/O Control methods for yaml files.

Module: jinja2_.py

The Module jinja2_.py contains the static class Jinja2

jinja2_.py Class: Jinja2

The static Class Jinja2 provides I/O Control methods for Jinja2 files; it contains the subsequent methods.

Jinja2 Methods
Jinja2 Methods

Name

Description

read

Read log file path with jinja

read_template

Read log file path with jinja2

Jinja2 Method: read

Parameter

Jinja2 Method read: Parameter

Name

Type

Description

pacmod

TnDic

filename

str

Jinja2 Method: read_template
Parameter
Jinja2 Method read_template: Parameter

Name

Type

Description

path

TyPath

Path string

Return Value
Jinja2 Method read_template: Return Value

Name

Type

Description

TyJinja2Template

Jinja2 Template

Module: yaml_.py

The Module yaml_.py contains the static class Yaml.

yamml_.py Class: Yaml

The static Class Yaml provides I/O Control functions for Yaml files; it contains the subsequent methods

Yaml Methods
Yaml Methods

Name

Description

load

Load yaml string into any object using yaml loader; default loader is yaml.safeloader

read

Read yaml file path into any object using yaml loder; default loader is yaml.safeloader

Yaml Method: read_with_safeloader

Parameter

Yaml Method read_with_safeloader: Parameter

Name

Type

Description

path

TyPath

Path string

Yaml Method: write

Parameter

Yaml Method write: Parameter

Name

Type

Description

path

TyPath

Path string

obj

TyAny

Object

Sub package: utils

utils Modules

The Sub-package utils contains the following modules.

utils Modules

Name

Functionality

pacmod.py

Manage Packages and Modules

pac.py

Manage Packages

utils Module: pacmod.py

The Module pacmod.py contains the static class PacMod.

pacmod.py Class: PacMod

The static Class PacMod is used to get the Package- and Module-name. it contains the subsequent methods

PacMod Methods
PacMod Methods

Name

Description

sh_d_pacmod

Show (Get) package module dictionary for class.

sh_path_module_yaml

show package module yaml file path.

sh_path_keys_yml

show keys.yaml file path.

sh_path_cfg_yml

show cfg.yaml file path.

sh_dir_type

show type specific file directory.

sh_path_pattern

show pattern file path.

PacMod Method: sh_d_pacmod

Parameter

PacMode Method sh_d_pacmod: Parameter

Name

Type

Description

path

TyPath

Path string

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_uts-3.0.3.250509.tar.gz (43.7 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_uts-3.0.3.250509-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file ka_uts_uts-3.0.3.250509.tar.gz.

File metadata

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

File hashes

Hashes for ka_uts_uts-3.0.3.250509.tar.gz
Algorithm Hash digest
SHA256 8b8a6210360a1491ff0f3f15745f3e816abe2f021bdb7a4d978707959738685f
MD5 9ab7b62508d8fe0a4a99c5d01fb60b73
BLAKE2b-256 b777b1769e059acf3c66565774af1af3433e0d52f075b7adc27f46d2654e7ba5

See more details on using hashes here.

File details

Details for the file ka_uts_uts-3.0.3.250509-py3-none-any.whl.

File metadata

File hashes

Hashes for ka_uts_uts-3.0.3.250509-py3-none-any.whl
Algorithm Hash digest
SHA256 35ec0f6997baa9e9daec5cca2e8715a8a774172d958efea5a12fa01424116d07
MD5 644e6da0059e0442dec06d36ae0b94ab
BLAKE2b-256 6c6a236a86524e4f15c28b6ae6b65ff4912d9d6e59be78540b2bea0d1e960e2d

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