Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tmautils_core-0.2.0.tar.gz (42.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tmautils_core-0.2.0-py3-none-any.whl (51.1 kB view details)

Uploaded Python 3

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

Hashes for tmautils_core-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6e6a3179362b6a1eee6e18c891bd8a927dc32ef413ff2d01a2fc91b10f61ab3a
MD5 36b6170b733b27f5ba8feea37f3dcb00
BLAKE2b-256 93374cc0c772b9d8c212ebba995cf2edb68004bef4bd4ad610e680deb05321b8

See more details on using hashes here.

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

Hashes for tmautils_core-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 148865a0899f2b1de645cf5879613b490a1f5a9d783b7a6d82d60757df443c2b
MD5 b0e4e18376aad75defa2cde30a81164b
BLAKE2b-256 2b7bcb4a9cbc31ad5b61a75374f8cde89a26dc4f103d7714903237db44486f3b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page