The STX Next development team’s love for Python is endless. But it’s not blind or toxic love. It’s a caring relationship between a beautiful programming language and passionate people.
Okay, maybe I started off too romantically. To show you why Python deserves all this love, I’ve prepared several examples of companies that use Python to achieve extraordinary outcomes.
This isn’t just another boring article about “Top Python Companies,” with the same old examples you already know. In this article, we’ll look at extraordinary examples of Python uses in the real world right now—to make drugs, run a huge MMO game, battle corruption, and disrupt markets.
Table of contents
If you’ve been reading our blog, then you know Python is the programming language of choice for academics. It is used all the time for groundbreaking scientific discoveries.
You may have heard that MIT researchers recently used a neural network to find a new drug that might help humanity in the battle against antibiotic resistance.
First, they trained a neural network model on a dataset of 2,500 FDA-approved drugs and bioactive molecules.
Next, they let the model run on a different dataset of 6,000 compounds. The model picked out a molecule that’s highly antibacterial and different from existing antibiotics.
The authors of the study named this molecule halicin. Initial tests show that it’s more powerful than any other antibiotic. Side note: scientists never miss a good pun, and the name “halicin” was chosen as a reference to HAL, the AI from 2001: A Space Odyssey.
To achieve this feat of scientific greatness, the authors of this study used the open-source software RDKit. As the RDKit GitHub page says, “RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python.”
From what I’ve gathered, the core algorithms are written in C++ with Python 3.x wrappers and a Python API.
Did you know? Wrappers mean that complex computational functions can be “wrapped” into a single, much simpler Python function. The wrapped code can be from another language, or it can be Python. C++ code is low-level, so essentially it has less ambiguity. Researchers often customize functions in order to run their experiments properly, and C++ allows the most customization. Python is a high-level language, and it swiftly executes the wrapped C++ functions, so researchers can take advantage of both languages.
Yet another big headline from just the first few weeks of 2020. It’s a success story about how AI drug discovery company Exscientia used Python to develop a new drug for OCD.
The whole process took them one year. Seems long, right? But in the medical world, this is an incredibly short time to take a drug from development to human testing. It usually takes companies at least five years to achieve this!
It wasn’t easy to find a source specifically stating that Exscientia is a Python company. They’re not on Stackshare and they don’t publish their codebase on Github. Which is understandable for a niche, high-tech, bleeding-edge company like this.
Luckily, there are several huge signs pointing to the fact that they are, in fact, a company that uses Python as their main tool for AI drug discovery.
Firstly, one of the software engineers working at Exscientia, Nathan Dedman, co-wrote a paper in 2016 entitled “Want Drugs? Use Python.”
If you ask me, no more proof is necessary. Exscientia is clearly a Python company.
At the risk of repeating myself, I can’t help but mention another drug company that uses Python to solve serious, real-world problems. This time, it’s the global pharmaceutical giant AstraZeneca.
In an effort to streamline the work of discovering new drug molecules, the company developed a piece of software that would help experimental chemists do their job.
The software was created in 2000 and the first version wasn’t in Python. But soon after, in 2001, a smart software consultant convinced the AstraZeneca team that Python is the best choice for their needs. This resulted in the creation of PyDrone, a “wonderful success for AstraZeneca,” which took only 6 months to create.
(Here’s a long piece about how AstraZeneca fell in love with Python, if you’re interested in more details.)
PyDrone was a revolution. Python is the easiest language to understand for researchers who aren’t software developers by trade, so chemists at AstraZeneca could focus on improving their experiments, instead of worrying if the code is computing correctly.
Plus, the codebase for PyDrone ended up being only 5,600 lines of code. If you think that’s a lot, it would actually take a lot more code to build similar software in other languages. Take Java, for example—as the Python Software Foundation states, “Python programs are typically 3–5 times shorter than equivalent Java programs.”
Okay, no more drug-making, because I’m starting to feel like Walter White here. Let’s turn to something a bit more pleasant—games!
One of the biggest free-to-play massively multiplayer online games in the world, Eve Online, is built by a company that uses Python.
Eve Online, for those who don’t know, is a universe simulator with a heckload of features and very complex gameplay. If the theory about our universe being a simulation is true, then Eve Online is a good example of what God (or other creator-entity you believe in) would be playing.
This is a bit of a longshot, because the only official developer blog post from the company about using Python is from 2010. It’s an article from their development team about using Stackless Python.
However, for a project as complex as this, migrating the whole game to a different programming language altogether would have been very difficult. If they were doing a migration like this, they would definitely write about it, and I didn’t find any such information.
There’s also an Eve Online forum thread from 2018, where one user states that the game uses C++ for low-level computations and Python for everything else, including the interface and graphic resource management.
So if you’re a fan of Eve Online, remember that you’re playing a game built by a Python company.
Let’s get back to serious business. Open Data Services is an institution that creates standards for data exchanges, promotes open data in contracts between the government and private software companies, and battles corruption in software development in a variety of different ways.
One of the brightest examples of their work is how their Open Contracting Data standard helped the Ukrainian government save $1.5 billion.
Their mission is a difficult one, but the tools they use aren’t as complex as, say, software for developing new drugs. This company uses Python for data analysis, and for one of their essential tools, the Flatten Tool, which is a Python library for converting large spreadsheets into JSON documents and vice versa.
Spreadsheets are a simple tool, right? Not when you use them with Python. Then they become a powerful weapon for doing great work, and this company proves it.
The added benefit of using Python is that both analysts and developers at Open Data are able to cooperate without miscommunication, because Python code is easy to read and understand.
The examples we’ve covered so far are just the tip of the iceberg.
According to the Stackshare page for Python, there are 6,200 companies using Python in the real world. Which is actually ~400 more than when we last mentioned it in an article from September 2019. And let’s not forget, these are just the companies that chose to publicize their tech stack.
Clearly, the number of Python companies is growing. It’s not just happening in niche markets. Some of your favorite, global market-leading companies use Python. Let’s explore!
“Zapier proudly supports Python and open source.” Need I say more?
Okay, I’ll say a bit more. First, if you don’t know Zapier, they are the leading provider of easy-to-use software automation. If you’re not a coder, you can use Zapier to send incoming customer support emails right to a spreadsheet, just to name one example. And if you’re a coder, you can do that—and much more—by writing your own integrations.
Zapier started out being a monolithic application running on Python and Django. There are two main ways to build apps today: monoliths and microservices. Monoliths are the natural opposite of microservices. Monoliths are built as a single codebase that contains all features of the application (I’ll explain how microservices are different in the next subsection about Uber).
According to their developer blog, the Zapier team has been slowly inching toward microservices since 2017. But it’s not an easy task when you’ve already dominated your market and want to change the fundamental design of your software.
Nonetheless, modifying the architecture doesn’t change the fact that they are a Python company. Zapier is proudly Python-powered.
The ride-hailing disruptor of the global taxi market doesn’t need an introduction. Uber’s architecture is based on microservices. This means that they use different languages for separate functions, and they “glue” them together. It’s not a single codebase, but a mix of different, smaller codebases that communicate with each other.
Python is one of the biggest components of their architecture. The core of Uber was written in Python from the start, and they haven’t stopped using it since.
According to Uber’s blog, they also use Python machine learning frameworks NumPy and PyTorch for a lot of their AI magic. They also keep creating different open-source Python tools, like Hypothesis GU Funcs, which helps them test their extensive machine learning models, or Michelangelo PyML, which enables them to build those models faster in the first place.
You can learn anything on Udemy, even how to code in Python. The company’s platform is built using Python on the backend, and it uses the Django web development framework.
Udemy delivers content to users, processes payments, and has several services, like an admin panel for teachers and such. It’s not AI drug development, but an educational project of this size is quite complicated and demanding in its own right.
There is a lot of content on their platform, and a lot of moving elements, and a ton of traffic. But the site works perfectly, it’s fast, smooth, and not laggy at all. If you ever find yourself appreciating the smoothness of Udemy while learning new skills, just remember that it’s thanks to the fact that the company uses Python.
One of the biggest companies in music streaming, Spotify uses Python on their backend, and for data analysis. Like Uber, Spotify’s architecture is based on microservices, and they say that 80% of their services are written in Python.
Why? One of the biggest reasons they mention is the speed of development that Python enables.
Python is also the greatest language out there for data analysis and Spotify knows it. Think of all the analyses going on at Spotify: your recommended playlists, automatic shuffle on Spotify radios, the Discover feature, yearly statistics of which artists you listened to the most. All of that is made possible thanks to Python’s data analysis power.
They also use Python for testing and a few APIs. In their own words, “There is even a Django app or two!”
If you’re interested in more examples of companies using Python, check out Python’s Stackshare page. You’ll find that a lot of your favorite web services use this powerful programming language.
If you’re considering whether Python is the right language for your company, now you know that it’s a great language for a really wide range of different real-world use cases.
You can use it to discover new drugs, simulate the universe, disrupt the taxi market or the music streaming market, or build a disruptive educational service with a huge library of content that works smoothly even under huge traffic loads.
To clarify, I’m not saying that Python is the best choice for every company. Such a statement will never be true about any programming language. Otherwise there wouldn’t be so many of them and there would be no sense comparing Python to other programming languages.
However, Python is the tool of choice for STX Next, and hopefully, after reading this article, you’ll understand why we love it so much.
If you’re looking for a Python company to build your software, we’re always up for a challenge! Let’s have a chat, tell us what you need.