GeistHaus
log in · sign up

GitHub - PyO3/pyo3: Rust bindings for the Python interpreter

github.com

Rust bindings for the Python interpreter. Contribute to PyO3/pyo3 development by creating an account on GitHub.

35 pages link to this URL
batteryinfo: A Rust-Powered Python Package for Laptop Battery Monitoring

My journey into learning Rust led me down an interesting path: the desire to gain deeper insights into my laptop’s battery. Existing options typically provide a limited view, and I was seeking a more comprehensive solution accessible through Python. This led to the creation of batteryinfo, a cross-platform Python package built upon the excellent Rust battery crate. This module empowers Python developers to go beyond simple battery percentages and access a wealth of information, including status, capacity, temperature, and even more granular details. Let’s explore how batteryinfo can provide you with a richer understanding of your laptop’s power source.

0 inbound links article en articles rustpythonIoT
Apache OpenDAL™ Graduates from ASF Incubator

Apache OpenDAL is a data access layer provided in the form of a software library. This post discusses the history of OpenDAL, its graduation process, and the challenges faced during the graduation process.

0 inbound links article en CC BY-NC-SA 4.0
Python Bindings for Ammonia (HTML sanitization library) :: Brain Dump — Geoff's Technical Notebook

It's not a super-frequent need for me, but sometimes I'd like to be able to accept markdown from users and include the rendered output on my site. This is risky, because markdown can include arbitrary html, and libraries that process it may not focus on making sure it's safe to include in a site. For a while, bleach was the common recommendation, but it's deprecated. Since then, the ammonia library, which is written in rust, has emerged as a good functional equivalent of bleach, with a very similar interface.

0 inbound links article en
Rewriting the santa-lang Interpreter in Rust, Part 2 - Runtimes

With the core language library now written, I could go about building the desired (delivery) runtimes. In this post within the series, I will delve into my experience integrating the core language library with these chosen runtimes, documenting some of the challenges that I faced along the way.

0 inbound links article en posts RustSanta-LangInterpreterSanta-Lang-in-Rust-Series
Rust for a Pythonista #3: Python bindings

Sometimes we need to extend existing Python projects with other languages to solve performance issues or to include some functionality already written in another language. In this chapter, we will create a full-featured Python integration for a Rust crate we built in the previous article. As the primary goal, I want to focus on a pleasant end-user experience and share tips on improving the usability and debuggability of the resulting library.

0 inbound links article en ProgrammingPythonRust
Optimization story - quantum mechanics simulation speedup

As part of my PhD I do computational modeling of quantum-biological systems. One of my simulations was misbehaving and in certain cases could take 8 hours to complete. That's really bad when you're trying to iterate quickly. This post describes how I made a series of optimizations to reduce the runtime by 250x via profiler driven algorithmic improvements, rewriting the core in Rust, and making use of parallelism.

1 inbound link article en
Fossil Data Platform Rewritten in Rust 🦀

My data engineering team at Fossil recently released some of Rust-based components of our Data Platform after faced performance and maintenance challenges of the old Python codebase. I would like to share the insights and lessons learned during the process of migrating Fossil's Data Platform from Python to Rust.

Creating Python packages using Rust

How do you create Python packages using Rust? A step-by-step guide using PyO3 and maturin, with examples from Ruff, uv and Polars.

0 inbound links article en CC BY-SA 4.0
Rust in anger

TL,DR: if you’d like to quickly call Rust code from Python, TypeScript or Node.

0 inbound links article en post