Skip to main content

Cookiecutter template for Thoughtful pip package

Project description

A lightweight Python library for robust record tracing, status tracking, and detailed logging — built for automation pipelines and data integrity.

Features

  • ThoughtfulRecord model Track each record’s status, lifecycle, and traces with robust JSON-serializable objects.

  • Automatic history Dumps detailed logs, merges previous runs seamlessly, preserving full audit history.

  • Enhanced HTML reports Auto-generates beautiful HTML reports with status summary, traces, diffs, and screenshots.

  • Portable archive Packs all data (logs + images + HTML) into a shareable ZIP file.

  • Fail-safe logging Internally uses try/except to ensure tracing never crashes your main process.

Installation

Install via pip:

pip install t-record-lib

Or for local development:

git clone https://github.com/YOUR_ORG/t_record.git
cd t_record
pip install -e .

Quickstart

from t_record.record import configure_records_tracing, ThoughtfulRecord, dump_records, pack_sharable_zip, RecordStatus

# 1. Configure
configure_records_tracing("records_folder")

# 2. Create your record
class MyRecord(ThoughtfulRecord):
    id: str
    status: RecordStatus = ""

record = MyRecord(id="rec_001")

# 3. Change status or add traces
record.status = Status.RUNNING
record.log_trace("Started processing", reason="Data loaded")

# 4. Save everything
dump_records()

# 5. Create shareable ZIP
pack_sharable_zip("records.zip")

Output files

By default, each run will produce:

/records_folder/{process_name}/{run_id}/
    records_logs.json     # full structured logs (merged from previous runs)
    records_report.html   # human-readable dashboard
    /images/              # attached screenshots

Plus a zip archive on demand.

Advanced usage

  • Continue an existing run (merges history automatically):

    configure_record_tracing("records_folder")
    record = MyRecord(id="rec_001")  # picks up previous traces
    record.status = Status.COMPLETED
    dump_records()
  • Add an image trace:

    record.log_trace("Reviewed", reason="Visual QC", image="path/to/image.png")

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

t_record_lib-0.1.1.tar.gz (14.3 kB view details)

Uploaded Source

File details

Details for the file t_record_lib-0.1.1.tar.gz.

File metadata

  • Download URL: t_record_lib-0.1.1.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for t_record_lib-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e2937a724a05e23e37dd0830a47b5052682915664cc2ca4a6b71bc534dd3b8f0
MD5 af03aef167895fa5f05ea9c8b0445b32
BLAKE2b-256 e9c8453f427bd5e2bb8143510fd6b1bf8557f16258de9b257189b27e71c96b10

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