060e3b4afe30d2009fad60010b28bec34db54857
pytest added for dev. Move all the test run python scripts into the "test-run" folder, so we can use the tests/ folder for just tests. Setup one test for the TimestampStrings class with pytests in tests/unit/string_handling/test_timestamp_strings.py
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 --native-tls
uv publish --index egra-gitea --token <gitea token> --native-tls
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 --native-tls -- python -c "import corelibs"
Python tests
All python tests are the tests/ folder. They are structured by the source folder layout
Other tests
In the test-run folder usage and run tests are located
uv run --native-tls test-run/progress/progress_test.py
uv run --native-tls test-run/double_byte_string_format/double_byte_string_format.py
uv run --native-tls 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/ --native-tls
Python venv setup
In the folder where the script will be located
uv venv --python 3.13
Install all neded dependencies
uv sync
Description
Languages
Python
100%