skilly. Buy ad slot
All skills
Software Development · Python / AGENT SKILL

dttb

rocky-d/dttb
0 installs 7 GitHub stars
0

Use dttb to add timestamps to Python exception tracebacks and diagnose error timing.
Guide for using dttb, a Python package that attaches timestamps to exception tracebacks. Use this when debugging Python scripts, working with unknown exception timings, or configuring error logging.

BEFORE YOU INSTALL

Understand the trade-offs.

SECURITY REVIEW

Not yet assessed

Review the original instructions and requested permissions before installing.

No security review is available for this catalog entry yet.

SKILL QUALITY

Not yet assessed

How clearly the skill guides your agent, how complete its workflow is, and how you can check the outcome.

No quality assessment is available for this catalog entry yet.

The full skill.

Original instructions from the publisher’s SKILL.md

# dttb

`dttb` (DateTime TraceBack) is a lightweight Python package that modifies exception handling to verify when an error occurred by attaching a timestamp to the traceback output.

## When to use dttb

Use `dttb` when you need to:
- Correlate console errors with log files.
- Debug long-running scripts where the time of failure is important.
- Monitor exception timing in multi-threaded applications.

## Basic Usage

To enable timestamped tracebacks, import `dttb` and call `apply()` at the start of your script:

```python
import dttb

dttb.apply()

# ... rest of your code ...
```

**Output example:**

```text
[2026-02-05 14:30:15.123456]
Traceback (most recent call last):
  ...
Error: something wrong
```

## Multi-threading Support

`dttb.apply()` automatically hooks both `sys.excepthook` and `threading.excepthook`, so uncaught exceptions in any thread are timestamped without additional configuration.

## Advanced Configuration

### Specifying Timezone

You can pass a timezone object to `apply()` to control the timestamp format:

```python
import datetime as dt
import dttb

dttb.apply(tz=dt.timezone.utc)
```

### Custom Callbacks

You can provide a custom callback function to execute additional logic (like sending alerts) when an exception occurs:

```python
import dttb

def my_callback(args: dttb.CallbackArgs) -> None:
    print(f"Exception occurred at {args.now}: {args.exc_value}")

dttb.apply(callback=my_callback)
```

The callback receives a `CallbackArgs` object containing:
- now: The timestamp when the exception was caught.
- exc_type: The type of the exception.
- exc_value: The exception instance, or `None` if not available.
- exc_traceback: The traceback object, or `None` if not available.
- thread: The thread in which the exception occurred, or `None` if it occurred in the main thread.

### Resetting

To restore the original exception hooks (remove timestamps):

```python
dttb.reset()
```

### Integration with Logging

`dttb` can log uncaught exceptions to a specific logger named `"dttb"`. By default, this logger has a `NullHandler`. To capture these logs:

```python
import logging
import dttb

# Configure the dttb logger
logger = logging.getLogger("dttb")
logger.setLevel(logging.ERROR)
handler = logging.FileHandler("errors.log")
logger.addHandler(handler)

dttb.apply()
```

This will ensure uncaught exceptions are written to `errors.log` as well as stderr.

Skill folder

Files included alongside SKILL.md in the publisher’s repository.