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

  • 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
  • list_dict_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

uv run test-run/progress/progress_test.py
uv run test-run/double_byte_string_format/double_byte_string_format.py
uv run test-run/timestamp_strings/timestamp_strings.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

In the folder where the script will be located

uv venv --python 3.13

Install all neded dependencies

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%