nowfound

Dev tools · alternatives · 2026

24 alternatives to Rust-like error handling in Python thanks to PEP 622

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.

Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. Rust-like error handling in Python thanks to PEP 622 launched in 2020; newer entries below may have overtaken it.

  1. 1PA

    I’m sure many of you are familiar, but there’s a treacherous gap between finding (or building) a model that works in PyTorch, and getting that deployed into your application, especially in consumer-facing applications. I’ve been very interested in solving this problem with a great developer experience. Over time, I gradually realized that the highest-impact thing to have was a way to go from existing Python code to a self-contained native binary—in other words, a Python compiler. I was already pretty familiar with a successful attempt: when Apple introduced armv8 on the iPhone 5s, they…

    2025 · blog.fxn.ai · its alternatives →

  2. 2

    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 →

  3. 3

    Cannoli Programming Language. Contribute to joncatanio/cannoli development by creating an account on GitHub.

    2018 · github.com · its alternatives →

  4. 4

    A Python Interpreter written in Rust. Contribute to coolcoder613eb/RustPython development by creating an account on GitHub.

    2023 · github.com · its alternatives →

  5. 5

    Traits for Python3. Contribute to xrudelis/pytrait development by creating an account on GitHub.

    2021 · github.com · its alternatives →

  6. 6

    Common rust command-line macros and utilities, to write shell-script like tasks in a clean, natural and rusty way - rust-shell-script/rust_cmd_lib

    2020 · github.com · its alternatives →

  7. 7

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

    2019 · github.com · its alternatives →

  8. 8

    SIMD-accelerated UTF-8 validation for Rust. Contribute to rusticstuff/simdutf8 development by creating an account on GitHub.

    2021 · github.com · its alternatives →

  9. 9

    Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy - ijl/orjson

    2018 · github.com · its alternatives →

  10. 10

    An implementation of a dynamic programming language in Rust. Includes: Parser/Compiler, REPL, Virtual Machine, Bytecode Disassembler This started out as a learning project to teach myself Rust. It has grown into a decently substantial piece of software and I've learned quite a bit in the process! Some neat things: + A garbage collector that can store dynamically sized types without any double-indirection (i.e. I have my own Box implementation with manual alloc/dealloc) + The smart pointer used to reference GCed data is a thin pointer. The ptr metadata needed for DSTs is stored in…

    2022 · github.com · its alternatives →

  11. 11

    I've created cppmatch, a lightweight, header-only C++ library that brings Rust-inspired pattern matching and error handling to C++. It tries to imitate the functionality of the questionmark (?) operator in C++ by using a macro that uses the gcc extension https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html This allows to create exceptionless code with non-intrusive error-as-value that unlike Exceptions, makes it clear which kinds of error a function can generate and forces you to handle (or ignore) them. The ? operator translates to *expect* To handle the errors I…

    2025 · github.com · its alternatives →

  12. 12

    A library adding some anti-Pythonic syntatic sugar to Python - czheo/syntax_sugar_python

    2017 · github.com · its alternatives →

  13. 13

    An example GraphQL server written in Rust. Contribute to lucperkins/rust-graphql-juniper-actix-diesel-postgres development by creating an account on GitHub.

    2020 · github.com · its alternatives →

  14. 14

    Recently, I write an interpreter for subset of Python using Go. I haven't seen source code of CPython, all is just written according to my understanding of Python so there may be some unusual things. Hope you can play fun with it. Any suggestion is welcome, glad to get some feedback.

    2023 · github.com · its alternatives →

  15. 15

    This is a pet project of mine where I build a MCP with WASM plugin system (published to OCI). I added a new plugin today that use Rust, compiled to WebAssembly to run Python code securely.

    2025 · github.com · its alternatives →

  16. 16

    fast, rust based epub library for python. Contribute to arc53/fast-ebook development by creating an account on GitHub.

    Apr 2026 · github.com · its alternatives →

  17. 17

    Tach is a pip package that lets you define module boundaries, automatically detect all cross-module dependencies, and then validate and enforce those dependencies. It also supports strict interfaces for modules by overloading `__all__`. The core static analysis is done in Rust, so all Tach commands run quickly. The goal of Tach is to help eng teams maintain velocity while scaling quickly, something we've seen break down a number of times. Give it a try!

    2024 · github.com · its alternatives →

  18. 18AF

    Serialization framework with some interesting numbers: 10-20x faster on nested objects than json/protobuf. Technical approach: compile-time codegen (no reflection), compact binary protocol with meta-packing, little-endian layout optimized for modern CPUs. Unique features that other fast serializers don't have: - Cross-language without IDL files (Rust ↔ Python/Java/Go) - Trait object serialization (Box) - Automatic circular reference handling - Schema evolution without coordination Happy to discuss design trade-offs. Benchmarks:…

    Oct 2025 · fory.apache.org · its alternatives →

  19. 19

    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 →

  20. 20

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

    2022 · github.com · its alternatives →

  21. 21
  22. 22

    Hey! This is something i have been working on. A tiny neural networking lib to learn how something like pytorch works, and to improve my own coding standards.

    2025 · github.com · its alternatives →

  23. 23HT

    Basically wrap your data struct in Option>> Better yet, use your custom type that provides few helper functions that make using it as nice as old C++ pointers. Obviously there's no pointer arithmetic, but it works great for dynamically allocated structures like trees or linked lists. Please comment how it's a horrible idea that will bring doom to me and my family. fn main() { struct Data { pub number: i32 } // struct Data { int number; }; let mut p:Pointer = Pointer(None); // Data *p = NULL; println!("{}", p.is_none()); // printf(p == NULL ? "true\n" :…

    2022 · its alternatives →

  24. 24

    Stop half-done APIs! Cherrybomb is a CLI tool that helps you avoid undefined user behaviour by auditing your API specifications, validating them and running API security tests. - blst-security/cherrybomb

    2022 · 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 →