Metadata-Version: 2.4
Name: friendly-exceptions
Version: 0.0.1
Summary: Human-readable exception explanations in Russian and English with smart suggestions
Home-page: https://github.com/artemjs/Pythonlibs/tree/friendly_exceptions/friendly_exceptions%200.0.1
Author: artemjs
Author-email: artemjs <artemjson@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/artemjs/Pythonlibs/tree/friendly_exceptions/friendly_exceptions%200.0.1
Project-URL: Documentation, https://github.com/artemjs/Pythonlibs/tree/friendly_exceptions/friendly_exceptions%200.0.1
Project-URL: Repository, https://github.com/artemjs/Pythonlibs.git
Project-URL: Bug Tracker, https://github.com/artemjs/Pythonlibs/issues
Keywords: exceptions,error-handling,debugging,human-readable,russian,english
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: pytest-cov>=2.0; extra == "dev"
Requires-Dist: black>=21.0; extra == "dev"
Requires-Dist: flake8>=3.8; extra == "dev"
Requires-Dist: mypy>=0.800; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=4.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.0; extra == "docs"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Friendly Exceptions 🐍✨

**Automatic Python error explanations in simple language**

## 🚀 Quick Start

```python
import friendly_exceptions

# Now all errors are explained automatically!
data = {"name": "Alice"}
print(data["age"])  # Get detailed KeyError explanation
```

## ✨ Features

- 🔄 **Automatic interception** - works immediately after import
- 🌍 **2 languages** - Russian and English
- 📚 **25+ error types** - from KeyError to SystemError
- 🧠 **Smart suggestions** - similar variable and attribute recommendations
- 📖 **Documentation links** - direct links to Python docs
- ⚙️ **Flexible configuration** - configure via code or CLI
- 📊 **Detailed logging** - for debugging and monitoring

## 🌍 Multi-language Support

```python
import friendly_exceptions

# Russian (default)
friendly_exceptions.set_language("ru")

# English
friendly_exceptions.set_language("en")
```

## 📋 Supported Errors

### Basic
- KeyError, ValueError, TypeError, AttributeError, IndexError
- FileNotFoundError, ImportError, ZeroDivisionError, NameError
- AssertionError, SyntaxError, IndentationError

### System
- OSError, PermissionError, IsADirectoryError
- SystemError, RuntimeError, NotImplementedError

### Network
- ConnectionError, TimeoutError

### Data
- JSONDecodeError, UnicodeError

### Mathematical
- OverflowError, RecursionError, MemoryError

## ⚙️ Configuration

```python
from friendly_exceptions.config import set_config

# Disable original traceback
set_config("show_original_traceback", False)

# Change language
set_config("language", "en")
```

## 🛠️ CLI

```bash
# Installation
pip install friendly_exceptions

# Test
friendly-exceptions --test

# Configuration
friendly-exceptions --language en
friendly-exceptions --current-language
```

## 📚 Documentation

- [Full Guide](README_FULL.md)
- [Usage Examples](examples/)
- [Tests](tests/)

## 🤝 Contributing

We welcome contributions! Create Issues and Pull Requests.

## 📄 License

MIT License

---

**Friendly Exceptions** - making Python errors understandable for everyone! 🐍✨
