Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
185 changes: 93 additions & 92 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,30 @@
## Contents

- [Why Rust for Python](#why-rust-for-python)
- [Package Management & Tooling](#package-management--tooling)
- [Rust-Python Interop](#rust-python-interop)
- [Linting, Formatting & Type Checking](#linting-formatting--type-checking)
- [Web Frameworks & Servers](#web-frameworks--servers)
- [Data Processing & DataFrames](#data-processing--dataframes)
- [Serialization & Parsing](#serialization--parsing)
- [Validation & Data Modeling](#validation--data-modeling)
- [Tokenization & ML](#tokenization--ml)
- [Cryptography & Hashing](#cryptography--hashing)
- [Search & Indexing](#search--indexing)
- [Arrow & Columnar Data](#arrow--columnar-data)
- [Bioinformatics & Astronomy](#bioinformatics--astronomy)
- [Cloud Storage](#cloud-storage)
- [Cryptography & Hashing](#cryptography--hashing)
- [Data Processing & DataFrames](#data-processing--dataframes)
- [Date & Time](#date--time)
- [Data Structures](#data-structures)
- [File Watching & System Utilities](#file-watching--system-utilities)
- [Date & Time](#date--time)
- [Web Scraping & HTML](#web-scraping--html)
- [HTTP Clients](#http-clients)
- [Graph Libraries](#graph-libraries)
- [Visualization](#visualization)
- [Scientific Computing](#scientific-computing)
- [Bioinformatics & Astronomy](#bioinformatics--astronomy)
- [Finance](#finance)
- [Geospatial](#geospatial)
- [Graph Libraries](#graph-libraries)
- [HTTP Clients](#http-clients)
- [Linting, Formatting & Type Checking](#linting-formatting--type-checking)
- [Miscellaneous](#miscellaneous)
- [Package Management & Tooling](#package-management--tooling)
- [Rust-Python Interop](#rust-python-interop)
- [Scientific Computing](#scientific-computing)
- [Search & Indexing](#search--indexing)
- [Serialization & Parsing](#serialization--parsing)
- [Tokenization & ML](#tokenization--ml)
- [Validation & Data Modeling](#validation--data-modeling)
- [Visualization](#visualization)
- [Web Frameworks & Servers](#web-frameworks--servers)
- [Web Scraping & HTML](#web-scraping--html)

## Why Rust for Python

Expand All @@ -38,29 +38,26 @@ This list tracks the growing movement of Python projects leveraging Rust for the

---

## Package Management & Tooling
## Arrow & Columnar Data

- [uv](https://github.com/astral-sh/uv) - An extremely fast Python package and project manager. 10-100x faster than pip, replaces pip-tools, poetry, pyenv, pipx, and virtualenv in a single tool.
- [maturin](https://github.com/PyO3/maturin) - Build and publish Rust-based Python packages with pyo3, cffi, and uniffi bindings.
- [pixi](https://github.com/prefix-dev/pixi) - A fast conda/pip package manager.
- [rye](https://github.com/astral-sh/rye) - A Python project management tool (largely succeeded by uv).
- [arro3](https://github.com/kylebarron/arro3) - A minimal Python library for Apache Arrow, binding to the Rust Arrow crate.

## Rust-Python Interop
## Bioinformatics & Astronomy

- [PyO3](https://github.com/PyO3/pyo3) - Rust bindings for the Python interpreter. The foundation for most projects on this list.
- [setuptools-rust](https://github.com/PyO3/setuptools-rust) - Setuptools plugin for Rust extensions.
- [RustPython](https://github.com/RustPython/RustPython) - A Python 3 interpreter written entirely in Rust.
- [bed-reader](https://github.com/fastlmm/bed-reader) - Read and write the PLINK BED format, simply and efficiently.
- [haem](https://github.com/BooleanCat/haem) - A Python library for working on bioinformatics problems.
- [mocpy](https://github.com/cds-astro/mocpy) - Astronomical Python library for describing coverage regions on the unit sphere.

## Linting, Formatting & Type Checking
## Cloud Storage

- [ruff](https://github.com/astral-sh/ruff) - An extremely fast Python linter and code formatter.
- [ty](https://github.com/astral-sh/ty) - An extremely fast Python type checker and language server by Astral.
- [pyrefly](https://github.com/facebook/pyrefly) - A fast Python type checker and language server from Meta.
- [obstore](https://github.com/developmentseed/obstore) - High-throughput Python interface to S3, GCS, and Azure Storage.
- [opendal](https://github.com/apache/opendal) - Apache OpenDAL: unified data access layer for all storage services.

## Web Frameworks & Servers
## Cryptography & Hashing

- [granian](https://github.com/emmett-framework/granian) - A Rust HTTP server for Python WSGI/ASGI/RSGI apps, built on Hyper and Tokio.
- [robyn](https://github.com/sansyrox/robyn) - A super fast async Python web framework with a Rust runtime.
- [cryptography](https://github.com/pyca/cryptography) - The standard Python cryptographic library, with performance-critical parts in Rust.
- [blake3-py](https://github.com/oconnor663/blake3-py) - Python bindings for the BLAKE3 cryptographic hash function.
- [johnnycanencrypt](https://github.com/kushaldas/johnnycanencrypt) - OpenPGP library with Yubikey support.

## Data Processing & DataFrames

Expand All @@ -72,41 +69,9 @@ This list tracks the growing movement of Python projects leveraging Rust for the
- [hudi-rs](https://github.com/apache/hudi-rs) - Native Rust implementation for Apache Hudi with Python bindings.
- [sail](https://github.com/lakehq/sail) - Unifying stream, batch, and AI workloads with Apache Spark compatibility.

## Serialization & Parsing

- [orjson](https://github.com/ijl/orjson) - Fast, correct JSON library supporting dataclasses, datetimes, and numpy.
- [jiter](https://github.com/pydantic/jiter) - Fast iterable JSON parser, used by pydantic and the OpenAI Python SDK.
- [ormsgpack](https://github.com/aviramha/ormsgpack) - Fast MessagePack serialization/deserialization, derived from orjson.

## Validation & Data Modeling

- [pydantic-core](https://github.com/pydantic/pydantic-core) - Core validation logic for pydantic, written in Rust.
- [jsonschema-rs](https://github.com/Stranger6667/jsonschema) - A high-performance JSON Schema validator.

## Tokenization & ML

- [tokenizers](https://github.com/huggingface/tokenizers) - Hugging Face's fast tokenizer library with Python bindings.
- [tiktoken](https://github.com/openai/tiktoken) - A fast BPE tokenizer for use with OpenAI's models.
- [safetensors](https://github.com/huggingface/safetensors) - A safe and fast format for storing and loading tensors.

## Cryptography & Hashing

- [cryptography](https://github.com/pyca/cryptography) - The standard Python cryptographic library, with performance-critical parts in Rust.
- [blake3-py](https://github.com/oconnor663/blake3-py) - Python bindings for the BLAKE3 cryptographic hash function.
- [johnnycanencrypt](https://github.com/kushaldas/johnnycanencrypt) - OpenPGP library with Yubikey support.

## Search & Indexing

- [tantivy-py](https://github.com/quickwit-oss/tantivy-py) - Python bindings for Tantivy, a full-text search engine library (Lucene alternative).

## Arrow & Columnar Data

- [arro3](https://github.com/kylebarron/arro3) - A minimal Python library for Apache Arrow, binding to the Rust Arrow crate.

## Cloud Storage
## Date & Time

- [obstore](https://github.com/developmentseed/obstore) - High-throughput Python interface to S3, GCS, and Azure Storage.
- [opendal](https://github.com/apache/opendal) - Apache OpenDAL: unified data access layer for all storage services.
- [pendulum](https://github.com/python-pendulum/pendulum) - Python datetimes made easy; performance-critical parts rewritten from C to Rust in v3.

## Data Structures

Expand All @@ -119,29 +84,49 @@ This list tracks the growing movement of Python projects leveraging Rust for the
- [watchfiles](https://github.com/samuelcolvin/watchfiles) - Simple, modern, fast file watching and code reload, powered by Rust's `notify` crate.
- [cramjam](https://github.com/milesgranger/cramjam) - Thin Python bindings to de/compression algorithms (snappy, brotli, lz4, zstd, etc.).

## Date & Time
## Finance

- [pendulum](https://github.com/python-pendulum/pendulum) - Python datetimes made easy; performance-critical parts rewritten from C to Rust in v3.
- [finalytics](https://github.com/Nnamdi-sys/finalytics) - Investment analysis library.
- [rateslib](https://github.com/attack68/rateslib) - A fixed income library for Python using Rust extensions.

## Web Scraping & HTML
## Geospatial

- [css-inline](https://github.com/Stranger6667/css-inline) - CSS inlining implemented in Rust, for fast HTML email preparation.
- [selectolax](https://github.com/rushter/selectolax) - Fast HTML5 parser with CSS selectors, using Rust's html5ever engine.
- [html2text-rs](https://github.com/deedy5/html2text_rs) - Python library for converting HTML to markup or plain text.
- [html-py-ever](https://github.com/SimonSapin/html5ever-python) - Fast HTML parsing and CSS selecting via html5ever.
- [geo-index](https://github.com/kylebarron/geo-index) - Packed, immutable, zero-copy spatial indexes.
- [tzfpy](https://github.com/ringsaturn/tzfpy) - Fast longitude/latitude to timezone name conversion.
- [utiles](https://github.com/jessekrubin/utiles) - Fast web-map tile utilities.

## Graph Libraries

- [rustworkx](https://github.com/Qiskit/rustworkx) - A high-performance Python graph library (originally created for Qiskit).

## HTTP Clients

- [primp](https://github.com/deedy5/primp) - Fast HTTP client that can impersonate browsers by mimicking TLS/JA3/HTTP2 fingerprints.
- [rnet](https://github.com/0x676e67/rnet) - Asynchronous Python HTTP client powered by Rust.

## Graph Libraries
## Linting, Formatting & Type Checking

- [rustworkx](https://github.com/Qiskit/rustworkx) - A high-performance Python graph library (originally created for Qiskit).
- [ruff](https://github.com/astral-sh/ruff) - An extremely fast Python linter and code formatter.
- [ty](https://github.com/astral-sh/ty) - An extremely fast Python type checker and language server by Astral.
- [pyrefly](https://github.com/facebook/pyrefly) - A fast Python type checker and language server from Meta.

## Visualization
## Miscellaneous

- [rerun](https://github.com/rerun-io/rerun) - Visualize streams of multimodal data. Built in Rust with a Python SDK.
- [pycrdt](https://github.com/jupyter-server/pycrdt) - Python bindings for the Yrs Rust CRDT implementation (collaborative editing).
- [pyxel](https://github.com/kitao/pyxel) - A retro game engine for Python, with core written in Rust.

## Package Management & Tooling

- [uv](https://github.com/astral-sh/uv) - An extremely fast Python package and project manager. 10-100x faster than pip, replaces pip-tools, poetry, pyenv, pipx, and virtualenv in a single tool.
- [maturin](https://github.com/PyO3/maturin) - Build and publish Rust-based Python packages with pyo3, cffi, and uniffi bindings.
- [pixi](https://github.com/prefix-dev/pixi) - A fast conda/pip package manager.
- [rye](https://github.com/astral-sh/rye) - A Python project management tool (largely succeeded by uv).

## Rust-Python Interop

- [PyO3](https://github.com/PyO3/pyo3) - Rust bindings for the Python interpreter. The foundation for most projects on this list.
- [setuptools-rust](https://github.com/PyO3/setuptools-rust) - Setuptools plugin for Rust extensions.
- [RustPython](https://github.com/RustPython/RustPython) - A Python 3 interpreter written entirely in Rust.

## Scientific Computing

Expand All @@ -151,27 +136,43 @@ This list tracks the growing movement of Python projects leveraging Rust for the
- [cellular_raza](https://github.com/jonaspleyer/cellular_raza) - A cellular agent-based simulation framework.
- [feos](https://github.com/feos-org/feos) - Lightning fast thermodynamic modeling with a fully developed Python interface.

## Bioinformatics & Astronomy
## Search & Indexing

- [bed-reader](https://github.com/fastlmm/bed-reader) - Read and write the PLINK BED format, simply and efficiently.
- [haem](https://github.com/BooleanCat/haem) - A Python library for working on bioinformatics problems.
- [mocpy](https://github.com/cds-astro/mocpy) - Astronomical Python library for describing coverage regions on the unit sphere.
- [tantivy-py](https://github.com/quickwit-oss/tantivy-py) - Python bindings for Tantivy, a full-text search engine library (Lucene alternative).

## Finance
## Serialization & Parsing

- [finalytics](https://github.com/Nnamdi-sys/finalytics) - Investment analysis library.
- [rateslib](https://github.com/attack68/rateslib) - A fixed income library for Python using Rust extensions.
- [orjson](https://github.com/ijl/orjson) - Fast, correct JSON library supporting dataclasses, datetimes, and numpy.
- [jiter](https://github.com/pydantic/jiter) - Fast iterable JSON parser, used by pydantic and the OpenAI Python SDK.
- [ormsgpack](https://github.com/aviramha/ormsgpack) - Fast MessagePack serialization/deserialization, derived from orjson.

## Geospatial
## Tokenization & ML

- [geo-index](https://github.com/kylebarron/geo-index) - Packed, immutable, zero-copy spatial indexes.
- [tzfpy](https://github.com/ringsaturn/tzfpy) - Fast longitude/latitude to timezone name conversion.
- [utiles](https://github.com/jessekrubin/utiles) - Fast web-map tile utilities.
- [tokenizers](https://github.com/huggingface/tokenizers) - Hugging Face's fast tokenizer library with Python bindings.
- [tiktoken](https://github.com/openai/tiktoken) - A fast BPE tokenizer for use with OpenAI's models.
- [safetensors](https://github.com/huggingface/safetensors) - A safe and fast format for storing and loading tensors.

## Miscellaneous
## Validation & Data Modeling

- [pycrdt](https://github.com/jupyter-server/pycrdt) - Python bindings for the Yrs Rust CRDT implementation (collaborative editing).
- [pyxel](https://github.com/kitao/pyxel) - A retro game engine for Python, with core written in Rust.
- [pydantic-core](https://github.com/pydantic/pydantic-core) - Core validation logic for pydantic, written in Rust.
- [jsonschema-rs](https://github.com/Stranger6667/jsonschema) - A high-performance JSON Schema validator.

## Visualization

- [rerun](https://github.com/rerun-io/rerun) - Visualize streams of multimodal data. Built in Rust with a Python SDK.


## Web Frameworks & Servers

- [granian](https://github.com/emmett-framework/granian) - A Rust HTTP server for Python WSGI/ASGI/RSGI apps, built on Hyper and Tokio.
- [robyn](https://github.com/sansyrox/robyn) - A super fast async Python web framework with a Rust runtime.

## Web Scraping & HTML

- [css-inline](https://github.com/Stranger6667/css-inline) - CSS inlining implemented in Rust, for fast HTML email preparation.
- [selectolax](https://github.com/rushter/selectolax) - Fast HTML5 parser with CSS selectors, using Rust's html5ever engine.
- [html2text-rs](https://github.com/deedy5/html2text_rs) - Python library for converting HTML to markup or plain text.
- [html-py-ever](https://github.com/SimonSapin/html5ever-python) - Fast HTML parsing and CSS selecting via html5ever.

---

Expand Down