Who Uses Python
?I have always found myself highly involved and interested in music. Being a late 80’s and 90’s kid, I found myself spending most of my allowance on vinyl, cassettes, and compact disks. I attended many musicals, live performances, and even joined some bands during high school (including band). With technology growing and ways to listen to music evolving, I found myself interested in the world of technology and how it affected the music.?
We all grew up with preferences of how we wanted to hear our music. It was either headphones, stereo, or a sound system. Music was obtained through records stores, recording radio playing with a blank tape, or eventually downloading via online sources. Then we found ourselves purchasing digital companies of music to play on mp3 players. I remember wondering how mp3 and .wav files worked. I picked up books and read magazines on such topics. Learning how the music industry was moving from hardcopy to digital. Learning how even recording studios were updating how music was being produced and edited. I spend tons of research to figure out if I wanted to join the Apple iPod world or try their cheaper competitors. What would I do with all my current compact disks and cassette tapes? How would I turn them into digital versions?
A lot has changed since the 90’s when it came to how we listen and purchase music. Many of us still purchase music in digital form (some of us still purchase music in a physical format) and others choose to pay a streaming service to be able to stream digitally to our phones or players. As Laura Barret stated in her blog (https://www.townsendmusic.blog/post/to-strea-or-not-to-stream-streaming-music-vs-physical-formats) The difference is that you either own the music or you simply rent it.?
As some of you that connect with me here may know, I am about a year in my studies towards a career change. I pursued to re-enter the world of technology in the way of programming and XR development. So I found myself the other day just randomly asking my Google Home device, “What programming language were you developed in?”, which I learned that Google used C++. And I later found myself curious about what languages were mostly used and why. So, being that I am a Patreon to Spotify I began to research what languages were used for their platform and product. I was surprised to learn that Spotify uses C, C++, Java, and Python. Being that I spend a decent amount of time studying Python I began to dig a little deeper into how they were using it.?
Python is used by Spotify in two different places, their backend services, and data analysis. I found that Python, C, and C++ were used in many different ways, but Python was primarily used in the said places. One major framework of Python that is used is the Async Framework. The Asynchronous framework was used to help their services that were IO-bound. I learned that the Async framework was used to allow a program to juggle multiple operations without waiting or getting hung up on certain ones.?
Python use is apparently used for quick scripts and Spotify’s build process. Due to Spotify’s big use with Python, they sponsor conferences like PyCon, NYC PyLadies, Euro Python, and host hackathons.?
I wanted to learn a bit more about why Spotify used Python. So I began to do a bit more researching and Googling. Spotify likes how fast the development pipeline is when writing code in Python. One of their fast event loops with high-level synchronization API is using Gevent. This only pushed me into another rabbit hole.?I learned that Gevent is a coroutine-based Python networking library. It appears that some of the features that gevent offers are fast event loops, lightweight executions, SSL support, and thread pools just to name a few. Spotify also finds them self making a great use of Luigi, a python module that synchronizes with Hadoop. I found myself onto Luigi open source on GitHub. It was fund looking though it. Seeing how it handles how the libraries work together and consolidate error logs quickly, which allows troubleshooting and redeployment.?
This opened my eyes to interest of how many other products that I use that develop with Python. Companies and products like Google, Instagram, Facebook, Quora, Netflix, Dropbox, and Reddit. It was impressive to see how much Python has been used by the companies I follow and favor. I always heard that Python was one of the most accessible programming languages available due to it’s simplicity in syntax and it’s emphasis on natural language, but I did not know it was so used. I now find myself wanting to make a few interesting things with Python. I even grabbed myself an O’Riley book to reference as well.?
So many frameworks to consider in Python each designed for different needs. It appears there is much I can consider to use based on the projects I may desire to work on. Djano, Flask, Pyramid, CherryPy, WebPy, TurboGears, CubicWeb, Dash, Falcon, and Bottle are few to mention. To have a simple breakdown of each, I suggest you read an article from GeeksForGeeks mentioned at the end.?
I also found myself very curious about this PyCon. I immediately began to look for what it was and when it takes place. There is clearly a world I am not familiar with. PyCon is apparently one the the largest events for a community that uses Python as their programming language. I was not able to findout if it was always at the same venue but the next event will be April 27, 2022 through May 3 2022, held in Salt Lake City, Utah. It houses tutorials, Conferences, Job Fairs, and Sprints. I might just find myself attending the even one of these years to come.
Now apparently there is way to play around with Python and some Spotify API. You are provided full access to music data by the Spotify platform; Provided the library is a lightyweight version of the platform. As i read through some of how this works, I found myself very excited to try it on my own. There is fun code examples on how to get 30 seconds of samples and cover art for up to 10 tracks. There is information for how to install and obtain open source from GitHub. All very fun and interesting things to play and tweek with.??I love to find random open-source code or projects to read through or learn from. GitHub has so many great things to find.? I also find that GeekFor Geeks and W3Schools have some great projects to try and learn from.? As I progress in my skills in various languages I learn that practicing something over and over, then later adding a new challenge really helps.
I end this with saying that as I read more and more about how to decide the right language to use, it appears it is more about what you are looking to do. What are some of the languages you have found yourself curious about? What projects have you created with Python? What Frameworks have you used? What day to day technical product do you that you learned was developed with Python?
Sources:
-How we use Python at Spotify:
https://engineering.atspotify.com/2013/03/20/how-we-use-python-at-spotify/
领英推荐
-Spotify Luigi GitHub:
https://github.com/spotify/luigi
-To Stream or Not to Stream:
https://www.townsendmusic.blog/post/to-strea-or-not-to-stream-streaming-music-vs-physical-formats
-GeeksForGeeks:
https://www.geeksforgeeks.org/top-10-python-frameworks-that-you-should-try-in-2021/
-PyCon US 2022
https://us.pycon.org/2022/
-Spotipy
https://spotipy.readthedocs.io/en/2.19.0/