nowfound

Dev tools · alternatives · 2026

24 alternatives to Use Python docstrings as exception messages

The following exception @dataclass class PodBayDoorsStillClosed(DocumentedError): """ I’m sorry, {self.user_name}. I’m afraid I can’t do that. """ user_name: str when raised as raise PodBayDoorsStillClosed('Dave') will print PodBayDoorsStillClosed: I’m sorry, Dave. I’m afraid I can’t do that. Reduce the boilerplate, use more exception classes to better express the business logic, or invent your own use cases :) Can be tried out as: pip install documented which works for Python ⩾ 3.8.1.

Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. Use Python docstrings as exception messages launched in 2023; newer entries below may have overtaken it.

  1. 1

    Contribute to fkhan0520/cgpt_exceptions development by creating an account on GitHub.

    2022 · github.com · its alternatives →

  2. 2

    Debugging-friendly exceptions for Python. Contribute to cknd/stackprinter development by creating an account on GitHub.

    2019 · github.com · its alternatives →

  3. 3IW

    My book titled "Python re(gex)?" is free to download through this weekend [1][2] The book covers both 're' and 'regex' modules, has plenty of examples and chapters also have cheatsheets and exercises. Code snippets, exercises, sample chapters, etc are available on GitHub repo [3] I used pandoc+xelatex [4] to generate the pdf. [1] https://gumroad.com/l/py_regex [2] https://leanpub.com/py_regex [3] https://github.com/learnbyexample/py_regular_expressions [4]…

    2019 · its alternatives →

  4. 4

    Learn about Python

    2018 · mindmajix.com · its alternatives →

  5. 5

    A simple way to write, maintain, and share documentation

    2021 · its alternatives →

  6. 6

    Greetings! A 2.5 weekends project to teach myself newer Python features (>= 3.10). Conditions are written as Lambda expressions that annotate parameters and return types, and coexist with type annotations. Symbols to share values between conditions are also supported to a limited extend.

    2022 · github.com · its alternatives →

  7. 7

    DEPCRECATED/UNMAINTAINED - A Python library to make debugging with print statements simpler and more effective. - alixander/PyScribe

    2015 · github.com · its alternatives →

  8. 8

    A linter to prevent exception handling antipatterns in Python (limited only for those who like dinosaurs). - guilatrova/tryceratops

    2021 · github.com · its alternatives →

  9. 9

    type-safe exceptions for Python 👷. Contribute to idmitrievsky/rescue development by creating an account on GitHub.

    2022 · github.com · its alternatives →

  10. 10

    "Did You Mean?" Functionality on AttributeLookup. Contribute to dutc/didyoumean development by creating an account on GitHub.

    2014 · github.com · its alternatives →

  11. 11

    I have created a Twitter API wrapper that works with just a username, email address, and password — no API key required. With this library, you can post tweets, search, and check trending topics for free. In addition, it supports both asynchronous and synchronous use, so it can be used in a variety of situations. Please send me your comments and suggestions. Additionally, if you're willing, kindly give me a star on GitHub.

    2024 · github.com · its alternatives →

  12. 12FA
  13. 13

    Stack Error is a pragmatic error handling library for Rust that provides helpful messages for debugging, and structured data for runtime error handling. Features: * Informative error messages: stack error messages and optionally add file/line context to your messages. This helps convey not just what went wrong, but also how it went wrong, making debugging faster. * Programmatic error handling: include optional error codes and URIs for robust runtime handling. * Library-Friendly: define custom error types easily while staying compatible with Rust’s error ecosystem. If designing good…

    2025 · github.com · its alternatives →

  14. 14

    Try/catch/finally in Go. This is an experiment that tries to bring the exception behaviour of java/python/c++ to Golang using the same syntax. - manucorporat/try

    2014 · github.com · its alternatives →

  15. 15AS

    Hi HN, Our Slovenia-based team has worked on numerous projects over the years, and we kept running into the same challenge—handling rare exceptions, edge cases, and one-off manual workflows. Instead of rebuilding the same tooling every time, we decided to create a dedicated solution: Exceptions Inbox. It's a container for your exceptions, rare manual workflows, or events that don't have an obvious home. You can submit an exception with a single HTTP request and get notified when they are collected. Take a look: https://wt.tools/home/exceptions-inbox Let us know if you…

    2025 · wt.tools · its alternatives →

  16. 16

    Unofficial Python wrapper for official Hacker News API - avinassh/haxor

    2015 · github.com · its alternatives →

  17. 17

    Manage your exceptions in Python like a PRO

    2021 · its alternatives →

  18. 18

    A free 14-part email course in Python regexps: character classes, quantifiers, groups, anchors, and re.search, re.findall and re.sub, with daily exercises.

    2020 · regexpcrashcourse.com · its alternatives →

  19. 19IM
  20. 20PP
  21. 21

    Python 3.10 alpha 0 with PEP 622 implementation. Contribute to mtasic85/cpython-3.10.0-alpha-0 development by creating an account on GitHub.

    2020 · github.com · its alternatives →

  22. 22

    2019 · colab.research.google.com · its alternatives →

  23. 23AC
  24. 24

    Hello HN, Pietro here! I've been really excited to see the recent buzz around MCP and all the cool things people are building with it. Though, the fact that you can use it only through desktop apps really seemed wrong and prevented me for trying most examples, so I wrote a simple client, then I wrapped into some class, and I ended up creating a python package that abstracts some of the async uglyness. You need: * one of those MCPconfig JSONs * 6 lines of code and you can have an agent use the MCP tools from python. The structure is simple: an MCP client creates and manages the connection and…

    2025 · github.com · its alternatives →

Also compare

Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →