Core infrastructure for tmautils
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tmautils_core-0.2.0.tar.gz.
File metadata
- Download URL: tmautils_core-0.2.0.tar.gz
- Upload date:
- Size: 42.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.14.3 Linux/6.19.6-200.fc43.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e6a3179362b6a1eee6e18c891bd8a927dc32ef413ff2d01a2fc91b10f61ab3a
|
|
| MD5 |
36b6170b733b27f5ba8feea37f3dcb00
|
|
| BLAKE2b-256 |
93374cc0c772b9d8c212ebba995cf2edb68004bef4bd4ad610e680deb05321b8
|
File details
Details for the file tmautils_core-0.2.0-py3-none-any.whl.
File metadata
- Download URL: tmautils_core-0.2.0-py3-none-any.whl
- Upload date:
- Size: 51.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.14.3 Linux/6.19.6-200.fc43.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
148865a0899f2b1de645cf5879613b490a1f5a9d783b7a6d82d60757df443c2b
|
|
| MD5 |
b0e4e18376aad75defa2cde30a81164b
|
|
| BLAKE2b-256 |
2b7bcb4a9cbc31ad5b61a75374f8cde89a26dc4f103d7714903237db44486f3b
|