84ce43ab93148f4f749451d1d90929ff01e9b4cf
This is a very basic class without many helper functions added yet Add to the CoreLibs so when we develop it further it can be used by all projects
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
Languages
Python
100%