Skip to main content

debugscribe

PyPI version License: MIT Downloads LinkedIn

A small yet powerful helper package that turns error messages or unexpected program behaviour into structured, step‑by‑step troubleshooting guidance.
It sends your problem description to LLM7 (or any other LLM you provide), matches the LLM’s reply against a strict regex pattern using llmatch-messages, and returns a plain list of strings containing the recommended fix steps.

Main function – debugscribe().
Package name – debugscribe


Features

Feature Details
LLM‑agnostic Uses ChatLLM7 by default, but you can pass any langchain BaseChatModel.
Structured output Output is filtered through a regex; you get clean, consistently formatted text.
Quick installation One pip command.
Easy integration Works in scripts, Jupyter notebooks, or any Python project.

Installation

pip install debugscribe

The package pulls in its dependencies automatically:

  • langchain-core
  • langchain-llm7 – the default LLM7 wrapper
  • llmatch-messages – for regex‑based validation

Quick Start

Simple usage

from debugscribe import debugscribe

error_msg = """
Traceback (most recent call last):
  File "/home/user/app.py", line 5, in <module>
    main()
  File "/home/user/app.py", line 2, in main
    x = 1/0
ZeroDivisionError: division by zero
"""

steps = debugscribe(error_msg)
for i, step in enumerate(steps, 1):
    print(f"{i}. {step}")

Using a custom LLM instead of LLM7

You can hand‑off any langchain model.
Here are a few popular examples.

OpenAI

from langchain_openai import ChatOpenAI
from debugscribe import debugscribe

llm = ChatOpenAI()   # automatically picks up OpenAI API key from env
response = debugscribe(error_msg, llm=llm)

Anthropic

from langchain_anthropic import ChatAnthropic
from debugscribe import debugscribe

llm = ChatAnthropic()   # needs ANTHROPIC_API_KEY
response = debugscribe(error_msg, llm=llm)

Google Gemini

from langchain_google_genai import ChatGoogleGenerativeAI
from debugscribe import debugscribe

llm = ChatGoogleGenerativeAI()   # needs GOOGLE_API_KEY
response = debugscribe(error_msg, llm=llm)

Tip – The default ChatLLM7 is accessed with from langchain_llm7 import ChatLLM7; it will pick up the free‑tier rate limits unless you provide your own api_key or set LLM7_API_KEY in the environment.


Parameters

debugscribe(
    user_input: str,
    api_key: Optional[str] = None,
    llm: Optional[BaseChatModel] = None
) -> List[str]
Parameter Type Description
user_input str The raw error message or behaviour description you want to debug.
llm Optional[BaseChatModel] Any langchain LLM instance. If omitted, a ChatLLM7 instance is created.
api_key Optional[str] API key for LLM7. If omitted, the library checks the LLM7_API_KEY environment variable or falls back to the default free‑tier key.

Behind the scenes

  1. Prompt construction – The function stitches together a system prompt and the user input according to a pattern defined in prompts.py.
  2. LLM call – llmatch() from llmatch-messages sends the request via the chosen LLM.
  3. Regex validation – The LLM’s reply is matched against a compiled pattern; only well‑formed replies are surfaced.
  4. Return value – A list of strings, each a distinct step for resolution.

Getting an LLM7 API key

The default free tier offers generous limits suitable for most developers.
If you require higher limits, acquire an API key at https://token.llm7.io/ and either:

export LLM7_API_KEY="my_awesome_key"

or pass it directly:

response = debugscribe(error_msg, api_key="my_awesome_key")

Contributing & Issues

Pull requests are welcome! For bug reports, questions, or suggestions, open an issue in the dedicated GitHub Issues tracker:
https://github.com/chigwell/debugscribe/issues


Contact


License

MIT © Eugene Evstafev

Metadata

Release files for debugscribe 2025.12.21165719

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for debugscribe 2025.12.21165719
File Size Uploaded
debugscribe-2025.12.21165719.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for debugscribe 2025.12.21165719
File Interpreter ABI Platform
debugscribe-2025.12.21165719-py3-none-any.whl Python 3 none any Details

Total release size: 13.9 kB

Release files / debugscribe-2025.12.21165719.tar.gz

Download URL debugscribe-2025.12.21165719.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
34cc605c0f7551d1c96d67cf38c155e84e4f832e388c0051f7739a99018de022
BLAKE2b-256 checksum
How to use checksums
3332eeb9493d9aa253cad4e5a292f90136fda96ac0a13c3e293e548f928ceb74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release files / debugscribe-2025.12.21165719-py3-none-any.whl

Download URL debugscribe-2025.12.21165719-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d6813ed7793275d84c6231adafa14679393317f232cfb6fd087b65fd52d1684
BLAKE2b-256 checksum
How to use checksums
2ff49c425fe594dab68cea0be005bbe2adfe7f3f7548e362df91b2d667702e14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

2025.12.21165719 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