Metadata-Version: 2.4
Name: crashprobe
Version: 0.2.0
Summary: Python error reporter that generates detailed HTML/TXT crash reports.
Author: Andrey Egupov (11-year-old-developer)
Author-email: and302014@gmail.com
License: MIT
Keywords: debugg-tool,error-reporting,traceback,html-reports,txt-reports,zero-dependency
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-python
Dynamic: summary

# 🛡️Crashprobe - makes errors simple, understandable, and beautiful, and generates HTML/TXT reports about them. 

![Python](https://img.shields.io/badge/python-3.6%2B-blue)
![License](https://img.shields.io/badge/license-MIT-green)

Examples:

Crashprobe HTML report example:

![Crashprobe HTML report example](https://i.ibb.co/9m1f8sLN/screen.png)

Crashprobe TXT report example:

![Crashprobe TXT report example](https://i.ibb.co/pBcSTZfW/2026-03-17-121622.png)

A library that intercepts errors and creates beautiful, detailed HTML reports.
## 📦Installation
```bash
pip install crashprobe
```
## 🚀Quick Start
```python
import crashprobe
crashprobe.start()
print(1/0) # ZeroDivisionError - watch the magic!
```
## ✨Crashprobe Features
- No dependencies
- Beautiful, easy-to-read dark theme in reports
- System information
- Very easy to use
- Copy report button
- Useful links with error information
- Support for text reports (TXT)
- Ability to disable auto-opening of the browser
- Reports are saved in a separate folder for each file
## 📃Usage
Library import:
```python
import crashprobe
```
Start the error catcher. If the program crashes with an error, the library will intercept it, generate an HTML report, automatically open it, and save it in the nameOfYourFile_crash_dir folder:
```python
crashprobe.start()
```
The generated page is saved in the automatically created nameOfYourFile_crash_dir folder as a file named crash_Y-M-D_H-M-S.
**Read the details below 👇🏻**

### ⚙️crashprobe.start() - Method Settings
The crashprobe.start() method contains 2 optional arguments: 'auto_open' and 'file_format'.

Auto_open is a method that controls whether the report file is automatically opened. It can take the values True or False.(by default auto_open = True)
File_format is a method that controls the type of report file. It can take the values 'html' or 'txt' (case-insensitive).(by default file_format = 'html')

The HTML page includes a beautiful dark theme, emoji, as well as the error title, error text, exact date and time, path to the file containing the error, the line containing the error and its closest links, values ​​and types of local variables, system information and Python version, links to Google and the Python documentation for information about the error, and a copy report button.

The TXT file includes an error title, error text, exact date and time, path to the file containing the error, the line containing the error and its closest links, values and types of local variables, system information, and Python version, links to Google and the Python documentation for information about the error.

Example (All defaults): 
```python
import crashprobe
crashprobe.start()
def example(x, y):
    one = x
    two = y
    return x / y
print(example(1, "Hello"))
```
The library will create a folder named nameOfYourFile_crash_dir, save an HTML (if file_format = 'html') or TXT (if file_format = 'txt') report there, and automatically open it in the browser (if file_format = 'html') or display it in the console (if file_format = 'txt') if auto_open = True, and not open it if auto_open = False

Example (auto_open = False, file_format = 'txt'): 
```python
import crashprobe
crashprobe.start(auto_open = False, file_format = 'txt')
def example(x, y):
    one = x
    two = y
    return x / y
print(example(1, "Hello"))
```

## ❔Why is it convenient?
To get started, you only need to write two lines of code, and in the event of an error, you get a beautiful HTML report instead of a console message. 

Without crashprobe:

![Before crashprobe](https://i.ibb.co/cKQ0QPYZ/screen-before.png)

With crashprobe:

![With crashprobe](https://i.ibb.co/9m1f8sLN/screen.png)

## ❔Whats new in 0.2.0?
- Fixed minor bugs.
- Added support for TXT reports.
- Added the ability to disable auto-opening of the report file.
- The report folder now contains the name of the file where the error occurred.

## 👦🏻 About the developer
My name is Andrey Egupov, I'm 11 years old. I've been programming for several years. I started in Scratch, now I write in Python, JavaScript, and I'm working with Arduino.
I got tired of seeing red error messages and having to print variable values, so I decided to create a truly useful tool that would help me and others!

## 📄 License
MIT © 2026 Andrey Egupov (11-year-old-developer)
