Do you know what connects Instagram, Google and Sunscrapers? Your first answer is probably - here at Sunscrapers we use their services, or they use ours. The answer is correct, but we have one more thing in common that may surprise you - we share love of the Python programming language.
Same as the world tech giants, we develop our and our client’s services with this language.
According to this year's Stack Overflow survey, it is the 3rd most popular programming language in the world. It feels like the language has never lost its momentum and is constantly growing as more companies decide to build their projects with it.
One of Python's best advantages is multipurposity. You may find Python being used in the following sectors and areas:
- Mobile apps
- Cloud storage
- Machine learning
Python is all around you. Today I want to show you how it can be used and utilised in your project by presenting to you the most interesting examples and cases of apps, websites and services where Python was the best solution.
Web apps and web development
Same as in the 90s, having your business listed in Yellow Pages was a must. Having a well-designed website presenting your business is obligatory these days. Wordpress may be the most popular CMS in the world, but if you are thinking of something safer or more advanced than a simple blog, Python is your choice. To be more specific - Django framework.
Django works great with highly scalable web apps or websites with a constantly growing audience. It defines itself as a “batteries included” framework – it means that it has “everything” included, and there is no need to get other solutions for common tasks. There are more than 160 django packages which may contribute to your project, like Allauth (great package for user authentication) or django-cms (an open source CMS platform).The core framework has most of the required tools and libraries, so developers can complete a wide range of projects. It allows developers to focus on coding and writing instead of reinventing the wheel.
If you need more information about the framework and what is included, we recommend you check the documentation page.
Top 3 websites built with Django
The sky is not the limit anymore. The website of the Space Agency may not be the most popular on the internet. But still, more than 42 million people visit it each month. The website contains high-resolution images and illustrations. When we add up these two together, it is clear that Django is the most reliable and proven solution.
The Washington Post
One of the most important daily newspapers started using Django in 2005. The app “The U.S. Congress Votes Database” created with Django allows users to browse every vote in the U.S. Congress since 1991. Currently known as GovTrack is also one of the oldest government transparency websites in the world. Their repositories are available on Github.
Launched in 2006 Eventbrite is an American event management and ticketing website. At first, the platform was using in-house frameworks. Four years later their engineering team began an effort of moving to the Django web framework. The company noticed immediate benefits of Django like:
- unit-test framework
- database model abstraction (Django ORM)
- request middleware
- URL routing
- form building
Backend of your favourite App
You are probably using it while reading this article. An app that needs no introduction - Spotify. The app which revolutionized how we listen to music and consume the paid content uses Python at the backend services and data analysis. According to Geoff van der Meer from Spotify - Spotify’s backend is made from many independent services - 80% of them are written in Python.
To handle workflow management and integrations, Spotify has its own Luigi (a Python package similar to GNU Make) which repository is available on Github. The streaming app uses Luigi to run thousands of tasks every day, organized in complex dependency graphs.
That is not everything, Python is used by the music giant to prototype services and build processes.
Top 3 Apps build with Python
According to Instagram’s engineers’ team:
Their server is fully coded in Python. To be more detailed, Instagram's server contains a several-million-lines of code. Each day it experiences hundreds of commits, which are deployed to production every few minutes.
Uber engineers use Python, Node.js, Go, and Java. The app’s business logic lives in an API built on Python, MySQL and Mongo. Calculations and mathematics of ETA’s, surge pricing, demand and supply prediction are done entirely in Python.
Reddit is a platform which aggregates social news, web content rating, and discussions. Originally it was built in Common Lisp, but in December 2005 the developers decided to rewrite it in Python to get more development freedom.
You Can Build Blockchains In Python
Since the last few years blockchain is one of the most popular and desired technologies on the market. Developing a blockchain app is not a piece of cake. With Python's framework and free blockchain packages, it is possible to write the code more efficiently and easier. To create a blockchain you need to meet specific code and language requirements. The language allows rapid prototyping while the code is clean and comprehensible. The language has to be secure, efficient and scalable.
Thanks to Python syntax, developers are even able to create a simple blockchain in less than 50 lines of code. Github is full of blockchain repositories built on Python. You may find Python libraries for such blockchains like Bitcoin, Ethereum, Stellar or EOS.
Machine Learning & Data Science
Machine learning is a method of data analysis - a combination of computer science and artificial intelligence. Machine learning focuses on the use of data to find patterns from past experiences and improve how specific tasks perform.
Big companies apply machine learning algorithms to:
- Recommendations systems - your social media feeds, Youtube or Netflix profiles;
- Face recognition - that is how Facebook knows which friend to tag whenever you add a new photo
Python and its framework Matplotlib are irreplaceable even at big companies like Google when it comes to visualisation and data analysis.
Python has also become a critical technology for building AI-powered software.
From the beginning, Python has played an important role at Google, and the strong connection between these two lasts till now. According to one of the early Google employees, they use Python whenever they can and C++ whenever they must.
When Google was still under development in the late ‘90s the choice of which language to use was between Python and Perl. Perl was a much more mature language, but Python from the beginning was more readable and maintainable. Also, the creator of Python Guido van Rossum worked for Google between 2005-2012.
Currently, Python is one of the four most used languages inside the company. The other three common programming languages are C++, Java and Go (a programming language developed by Google).
Where you may find Python in Google Services?
- Google App Engine
- Open-source libraries
Hear what Google employees say about Python
"Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language."
Peter Norvig, director of search quality at Google, Inc.
Cuong Do, Software Architect, YouTube.com.
World’s largest social network
More than half of Facebook Infrastructure’s codebase is programmed in C++, but 21 percent of the codebase belongs to the Python language. Same as experts from other companies and industries - developers at Facebook value Python for its simplicity in writing and maintenance.
Python is involved at Mark Zuckerberg’s company in technologies like:
- Network switch setup and imaging (TORconfig);
- Whitebox switch CLIs (FBOSS);
- Core services (DNS, Chef, etc.) via Kobold.
One of the reasons why companies choose Python over other languages is the large number of libraries available for different types of applications and projects. As you can see, there are never-ending possibilities of what you can build with Python language - from a small blockchain, through a space agency website to the largest video platform in the world.
Python may be the ideal option for content management systems (CMS), e-commerce apps, static websites, design systems, banking websites, and more. Everything relies on the requirements of your project, the size of your organization, and the scope of your product.
Contact us if you want to discuss how Python or our Python engineers can meet your project needs.