tmautils-core
Core infrastructure for the tmautils package family.
Installation:
pip install tmautils-core
tmautils.core
| Utility / Function | What it does |
|---|---|
IOHelper |
Directory structure and logging for utilities |
LogHelper |
Logging configuration |
AsyncRateLimiter |
Rate limiter with concurrency and throughput limits |
RetryConfig |
Configuration for HTTP retry behavior |
get_logger_from_helper() |
Get the configured or no-op logger from LogHelper |
run_coro_sync() |
Run async code from sync context |
request_with_retry() |
HTTP requests with retry and backoff |
get_with_retry() |
Convenience wrapper for GET with retry |
gzip_file(), gunzip_file() |
Compress/decompress a file with gzip |
try_convert_ip() |
Try to convert an IP address string to an IP address object |
is_ipv4(), is_ipv6() |
Check if string is valid IPv4/IPv6 address |
tmautils.db
| Utility / Function | What it does |
|---|---|
BufferedWriter |
Batched writes to storage backends |
DuckDbStore |
DuckDB storage interface |
DuckDbBackend |
DuckDB backend for BufferedWriter |
DuckLakeStore |
DuckLake storage interface |
DuckLakeBackend |
DuckLake backend for BufferedWriter |
ParquetBackend |
Parquet backend for BufferedWriter |
DuckDbInetLpmIndex |
In-memory LPM index for fast IP lookups |
pydantic_to_arrow() |
Convert Pydantic models to Arrow tables |
License
This project is licensed under MPL-2.0 (Mozilla Public License 2.0).
What this means in practice:
- If you modify an existing file, your modifications must remain MPL-2.0.
- You can license new files however you want. (But I won't merge them unless they are MPL-2.0.)
- You can use this code alongside code under other licenses.
Contributing
Contributions are highly welcome! See the tmautils README for philosophy and design choices.
AI Policy: I don't consider AI tool usage any different from IDE usage. This also means that you are responsible for the code you write and you should inspect every line of code written by an LLM.
Metadata
Release files for tmautils-core 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tmautils_core-0.2.0.tar.gz | 42.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tmautils_core-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 93.5 kB
Release files / tmautils_core-0.2.0.tar.gz
| Download URL | tmautils_core-0.2.0.tar.gz |
|---|---|
| Size | 42.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e6a3179362b6a1eee6e18c891bd8a927dc32ef413ff2d01a2fc91b10f61ab3a
|
|
BLAKE2b-256 checksum How to use checksums |
93374cc0c772b9d8c212ebba995cf2edb68004bef4bd4ad610e680deb05321b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.3 Linux/6.19.6-200.fc43.x86_64
|
Release files / tmautils_core-0.2.0-py3-none-any.whl
| Download URL | tmautils_core-0.2.0-py3-none-any.whl |
|---|---|
| Size | 51.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
148865a0899f2b1de645cf5879613b490a1f5a9d783b7a6d82d60757df443c2b
|
|
BLAKE2b-256 checksum How to use checksums |
2b7bcb4a9cbc31ad5b61a75374f8cde89a26dc4f103d7714903237db44486f3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.3 Linux/6.19.6-200.fc43.x86_64
|