Skip to main content

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)

Source distribution for tmautils-core 0.2.0
File Size Uploaded
tmautils_core-0.2.0.tar.gz 42.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tmautils-core 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page