What we build with it

Python covers three distinct jobs for us. Product backends, usually with Django. Data and integration work — the scripts and pipelines that move data between systems and clean it up on the way. And AI integrations, because that is where the client libraries and tooling actually live.

It is also the language we expose things through. When we build something in another language that data teams need to use, Python bindings are how they get it.

Where we have shipped it

Formtastic runs Python and Django services behind a platform built for growth and high load.

dxpdf, our Rust DOCX-to-PDF converter, ships as a Python package on PyPI as well as a CLI and a Rust crate — so a Python service can convert documents in-process without shelling out or calling a cloud API.

When we recommend it

Python is the right default for backends where development speed matters more than raw throughput, for anything touching data or machine learning, and for glue between systems.

It is the wrong default for latency-critical paths and for CPU-bound work — that is what Rust and Go are for. The pattern we like: build in Python, measure, and move only the hot part.