85 lines
2.2 KiB
Markdown
85 lines
2.2 KiB
Markdown
# 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
|
|
|
|
## How to publish
|
|
|
|
Have the following setup in `project.toml`
|
|
|
|
```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
|
|
```
|
|
|
|
```sh
|
|
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"
|
|
|
|
```sh
|
|
uv run --with corelibs --index egra-gitea=https://git.egplusww.jp/api/packages/PyPI/pypi/simple/ --no-project --native-tls -- python -c "import corelibs"
|
|
```
|
|
|
|
### Other tests
|
|
|
|
In the test folder other tests are located.
|
|
|
|
At the moment only a small test for the "progress" and the "double byte string format" module is set
|
|
|
|
```sh
|
|
uv run --native-tls tests/progress/progress_test.py
|
|
```
|
|
|
|
```sh
|
|
uv run --native-tls tests/double_byte_string_format/double_byte_string_format.py
|
|
```
|
|
|
|
## How to install in another project
|
|
|
|
This will also add the index entry
|
|
|
|
```sh
|
|
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
|
|
|
|
```sh
|
|
uv venv --python 3.13
|
|
```
|
|
|
|
Install all neded dependencies
|
|
|
|
```sh
|
|
uv sync
|
|
```
|