Skip to content
technologies / python

Python where the ecosystem is the reason.

Data work, automation, integrations and services where the available libraries decide the language, not the other way round.

why python

What we use Python for.

We reach for it when the libraries do the heavy lifting, and say so when something else fits better.

Data

Analysis and pipelines

Cleaning, transforming and reporting on data, where the tooling is genuinely without equal.

Automation

Scripts that become services

Manual processes turned into scheduled jobs with logging and alerts, so they run without someone remembering.

Integration

Gluing systems together

Talking to APIs, files and databases that were never designed to work with each other.

Clarity

Readable by non-specialists

Python code can be reviewed by the analyst who owns the logic, not only by its author.

01

What we build with Python

Data work and reporting

Pulling numbers out of several systems, reconciling them and producing something a person can act on. This is where Python earns its place and where nothing else is as quick.

Automation of things people currently do by hand

Files that get moved, spreadsheets that get merged, reports that get assembled every Monday. Often the cheapest software a business ever buys.

Integrations between systems that were not designed to talk

Python has a library for almost every format and protocol, which turns a week of parsing into an afternoon.

Machine-learning features in a normal product

Classification, extraction, recommendations, wired into an existing application rather than sold as a project of their own.

Internal APIs and services

Small, well-defined services where being quick to write and easy to read matters more than raw speed.

the essentials

What Python actually is.

Written for someone deciding, not for someone who already knows. Skip it if you do.

What Python is

A general-purpose language designed to be readable, which is why it spread into places programming languages usually don't reach: research, finance, operations, science. If a task involves data, there's a good chance the best available library for it is Python.

Why we reach for it

Because of the ecosystem more than the language. For anything touching data, files, formats or machine learning, the mature tool already exists in Python and writing it again elsewhere is waste.

Where it doesn't belong

As the default for a web back end, in our view. It's perfectly capable of one, but if a system is mostly serving pages and calling a database we would rather use PHP or Node, where hosting is cheaper and maintainers are easier to find. We use Python where its libraries are the reason.

The version and packaging trap

Python 2 is long dead and 3.8 is now out of support. The other trap is dependency management: a Python project without a locked, reproducible environment works on one machine and fails on another. We pin everything and build in containers, which removes the entire class of problem.

Security

Running Python 3.8 or older

Out of support and no longer patched. The move to a current release is usually small and occasionally reveals one abandoned library.

Reliability

It works on one person's machine

The classic Python failure. It means the environment isn't described anywhere, and it's a day of work to fix permanently.

Risk

A critical script has no owner

Automation that quietly runs the business but was written by someone who left. Getting it into version control with a test is cheap insurance.

questions

Straight answers.

Would you build our whole web application in Python?

We can, with Django, and we'll tell you when Node or PHP is the better fit for the team who will keep it. For data-heavy products Python is often the right centre.

Can you productionise a script our analyst wrote?

Yes, and it's common work. It becomes a scheduled job with error handling, logging and alerts, and stops being one person’s laptop.

Do you do machine learning?

We build the pipelines, the data handling and the serving around models. For the modelling itself we're honest about where our expertise ends.

Should our whole back end be Python?

Probably not, unless data or machine learning is the core of it. For a normal web back end we would suggest PHP or Node and keep Python for what it's best at.

Can you productionise a script our analyst wrote?

Yes, and it's common work. It usually means pinning the environment, adding error handling and a schedule, and putting it somewhere it can be watched — not rewriting it.

Tell us what you want to build or improve.

A few lines are enough to start. You get a reply within two working days.

Discuss your project