Skip to main content

A Tabular Helper meta-package that bundles the full tha-* library family in a single install.

Project description

tha-wright-stuff

PyPI dep floors

Install the entire Tabular Helper (tha-*) library family in one shot.

pip install tha-wright-stuff[all]   # recommended: core family + all optional extras
pip install tha-wright-stuff        # core family only

What is this?

tha-wright-stuff serves two purposes at once:

1. Meta-package

One install pulls in every tha-* library and re-exports all of their public symbols from a single namespace. Instead of installing and importing from eight separate packages, you can just do:

# AWS
from tha_wright_stuff import ThaDdb, ThaGsi, ThaS3, ThaSSM, DdbCostTracker, cli_auth_check, current_identity, parse_arn, parse_assumed_role_arn
# CSV
from tha_wright_stuff import ThaCSV
# Ed-Fi
from tha_wright_stuff import ThaEdfiBase, ThaStudentAssessment
# Google
from tha_wright_stuff import ThaSheets, ThaDocs, ThaDrive, ThaSlides, ThaGmail
# Map
from tha_wright_stuff import ThaMap
# Requests
from tha_wright_stuff import ThaReq
# Snowflake
from tha_wright_stuff import ThaSnowflake, Session, list_profiles
# Utils
from tha_wright_stuff import ThaStr, ThaNum, ThaDT, ThaDict, ThaList, ThaType

Every public class, function, and error type from all eight libraries is available at the top level.

2. Cross-family integration canary

uv.lock is intentionally not committed to this repo. That means every CI run resolves all eight libraries fresh from PyPI — no pinned snapshot. If any two libraries in the family ship incompatible dependency requirements, this repo's CI will fail, surfacing the conflict before users hit it.


Included libraries

Package PyPI GitHub What it does
tha-csv-runner PyPI tha-csv-runner Read and write CSVs with progress bars, header validation, chunking, sort/filter, and an optional per-row validator callback.
tha-map-runner PyPI tha-map-runner Enrich and join dicts using dotted-path projection and O(n+m) index-based lookups. Supports left / inner / anti joins and DynamoDB result shapes.
tha-req-runner PyPI tha-req-runner Transport layer for API runners — session management, retries, safe_call, and a normalized parse_response dict. Supports both requests and httpx backends.
tha-aws-runner PyPI tha-aws-runner DynamoDB (ThaDdb), GSI queries (ThaGsi), S3 (ThaS3), SSM Parameter Store (ThaSSM), a DdbCostTracker context manager that tallies RCU/WCU and USD cost per run, and standalone helpers (cli_auth_check, current_identity, parse_arn, parse_assumed_role_arn).
tha-utils-helper PyPI tha-utils-helper Zero-dependency utilities: ThaStr (slugify, format), ThaNum (currency, parens-as-negative, cast), ThaDT (auto-detect date formats), ThaDict (pick, omit, rename), ThaList (chunk, flatten), ThaType (bool/int/float coercion). All include matching *_rows batch methods.
tha-edfi-runner PyPI tha-edfi-runner Ed-Fi ODS API client — OAuth client-credentials auth, pagination, and chunked parallel posting via ThreadPoolExecutor.
tha-google-runner PyPI tha-google-runner Typed wrappers for Google Sheets (ThaSheets), Docs (ThaDocs), Drive (ThaDrive), Slides (ThaSlides), and Gmail (ThaGmail) — OAuth2 or ADC auth, read/write/upsert rows, file download, presentation creation, and email sending.
tha-snowflake-runner PyPI tha-snowflake-runner Snowflake query runner (ThaSnowflake) — named connection profiles, query execution to row dicts, and chunked parallel inserts.

Requirements

  • Python 3.10+

All eight libraries are installed automatically as dependencies. The [all] extra additionally installs optional extras across the family (currently tha-req-runner[httpx] for the httpx transport backend).


License

MIT

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

tha_wright_stuff-0.1.9.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

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

tha_wright_stuff-0.1.9-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file tha_wright_stuff-0.1.9.tar.gz.

File metadata

  • Download URL: tha_wright_stuff-0.1.9.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tha_wright_stuff-0.1.9.tar.gz
Algorithm Hash digest
SHA256 2895bc284cfe07dd74d35b9da351918cf71b57d3bda601bad3f119966b974de6
MD5 21ee5f332a539a7a8a6db494e6acc64b
BLAKE2b-256 ed5cd2faff9a03d39e13bfb9ce53ea7731598f73493c93cea20f88006c7e1330

See more details on using hashes here.

File details

Details for the file tha_wright_stuff-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: tha_wright_stuff-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tha_wright_stuff-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 c635f6871afdff20ff7885fbff18633d250d0724411ac683dccad1736cf36058
MD5 dafabcd3f462b5df795eb395a0752b43
BLAKE2b-256 a36d60310fdf7567d7879cc5b37cf515507523d1bdab08cb45aff295cd427ac8

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