Metadata-Version: 2.4
Name: diagnostic
Version: 3.0.0
Summary: Present errors that contain causes better understand what happened.
Author-email: Pradyun Gedam <mail@pradyunsg.me>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Typing :: Typed
License-File: LICENSE
Requires-Dist: rich
Requires-Dist: markdown-it-py
Requires-Dist: docutils
Requires-Dist: docutils ; extra == "check-docs"
Project-URL: Documentation, https://diagnostic.readthedocs.io/en/stable/
Project-URL: GitHub, https://github.com/pradyunsg/diagnostic
Provides-Extra: check-docs

# diagnostic

<!-- start description -->

`diagnostic` makes it easier to build command line tools with great error reporting.

<!-- end description -->

![demo screenshot showing an error message with a header, a message, and a list of errors](docs/_static/demo-light.svg#gh-light-mode-only)

![demo screenshot showing an error message with a header, a message, and a list of errors](docs/_static/demo-dark.svg#gh-dark-mode-only)

## Features

- Unique `code`s on every `Diagnostic`
- Tooling to help ensure all `code`s in the codebase are documented
- Fancy graphical output, built on top of [`rich`](https://github.com/Textualize/rich), with graceful fallbacks to ASCII and plain strings
- Present a causal chain if needed

## Documentation

See the [documentation](https://diagnostic.readthedocs.io/en/latest/) for more information.

## License

This project is licensed under the terms of the MIT license.

