Clemens Schwaighofer fd5e1db22b Change Log class and add simple Logger class without the init work
This Logger class can be used after the main Log class has been setup, eg in workers
inside pool/fork/thread runs

A new parent class holds all the public methods

init Logger class with "get_logger_settings" or with a dictionary Type LoggerInit that has
logger with type logging.Logger as mandatory and optional Queue entry
2025-07-18 14:15:00 +09:00
2025-07-08 15:59:53 +09:00
2025-07-17 15:22:12 +09:00
2025-07-17 15:29:49 +09:00

CoreLibs for Python

This is a pip package that can be installed into any project and covers the following pars

  • logging update with exception logs
  • requests wrapper for easier auth pass on access
  • dict fingerprinting
  • jmespath search
  • dump outputs for data
  • progress printing
  • string formatting, time creation, byte formatting

Current list

  • config_handling: simple INI config file data loader with check/convert/etc
  • csv_handling: csv dict writer helper
  • debug_handling: various debug helpers like data dumper, timer, utilization, etc
  • file_handling: crc handling for file content and file names, progress bar
  • json_handling: jmespath support and json date support
  • iterator_handling: list and dictionary handling support (search, fingerprinting, etc)
  • logging_handling: extend log and also error message handling
  • requests_handling: requests wrapper for better calls with auth headers
  • script_handling: pid lock file handling, abort timer
  • string_handling: byte format, datetime format, hashing, string formats for numbrers, double byte string format, etc

UV setup

uv must be installed

How to publish

Have the following setup in project.toml

[[tool.uv.index]]
name = "egra-gitea"
url = "https://git.egplusww.jp/api/packages/PyPI/pypi/simple/"
publish-url = "https://git.egplusww.jp/api/packages/PyPI/pypi"
explicit = true
uv build
uv publish --index egra-gitea --token <gitea token>

Test package

We must set the full index URL here because we run with "--no-project"

uv run --with corelibs --index egra-gitea=https://git.egplusww.jp/api/packages/PyPI/pypi/simple/ --no-project -- python -c "import corelibs"

Python tests

All python tests are the tests/ folder. They are structured by the source folder layout

run them with

uv run pytest

Get a coverate report

uv run pytest --cov=corelibs

Other tests

In the test-run folder usage and run tests are located

Progress

uv run test-run/progress/progress_test.py

Double byte string format

uv run test-run/double_byte_string_format/double_byte_string_format.py

Strings helpers

uv run test-run/timestamp_strings/timestamp_strings.py
uv run test-run/string_handling/string_helpers.py

Log

uv run test-run/logging_handling/log.py

How to install in another project

This will also add the index entry

uv add corelibs --index egra-gitea=https://git.egplusww.jp/api/packages/PyPI/pypi/simple/

Python venv setup

After clone, run the command below to install all dependenciss

uv sync

NOTE on TLS problems

[!warning] TLS problems with Netskope

If the Netskope service is running all uv runs will fail unless either --native-tls is set or the enviroment variable SSL_CERT_FILE is set, see blow

export SSL_CERT_FILE='/Library/Application Support/Netskope/STAgent/data/nscacert_combined.pem'
Description
Collection of methods and classes for quicker basic development
Readme 2.5 MiB
Languages
Python 100%