Date: Mon, 17 Aug 2020 17:00:00 -0400
<div class="wp-block-jetpack-markdown"><h3>Summary</h3> <p>The Musicbrainz project was an early entry in the movement to build an open data ecosystem. In recent years, the Metabrainz Foundation has fostered a growing ecosystem of projects to support the contribution of, and access to, metadata, listening habits, and review of music. The majority of those projects are written in Python, and in this episode Param Singh explains how they are built, how they fit together, and how they support the goals of the Metabrains Foundation. This was an interesting exporation of the work involved in building an ecosystem of open data, the challenges of making it sustainable, and the benefits of building for the long term rather than trying to achieve a quick win.</p> <h3>Announcements</h3> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li> <li>When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!</li> <li>Before you put your code into production you need to make sure that it passes all of the tests, that it has been packaged with all of the dependencies, and that you haven’t introduced any security issues. Instead of running all of that on your laptop, let Codefresh handle it automatically with their continuous integration and continuous delivery platform. Built for the modern era of cloud-native computing, they make publishing to Kubernetes, serverless platforms, and virtual machines fast and seamless. With a growing library of pre-made steps, a flexible pipeline definition, and unlimited scale Codefresh lets you ship faster and safer than ever. Go to <a href="https://www.pythonpodcast.com/codefresh?utm_source=rss&utm_medium=rss">pythonpodcast.com/codefresh</a> today to get unlimited builds on your free account.</li> <li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li> <li>Your host as usual is Tobias Macey and today I’m interviewing Param Singh about the ways that Python is being used across the various Metabrainz projects</li> </ul> <h3>Interview</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>Can you start by giving an overview of what the Metabrainz organization is and the various projects that it encompasses? <ul> <li>What are the motivations for creating those projects and some of the origin story for Metabrainz?</li> </ul> </li> <li>The Musicbrainz server is the longest running project and is written in Perl. What was the reason for switching to Python for all of the other *brainz projects?</li> <li>How does the MetaBrainz Foundation sustain itself? Where do the funds come from? <ul> <li>How do you determine where and how to allocate the funding that you receive?</li> </ul> </li> <li>Which of the *brainz projects is the most complex or challenging to build, whether due to technical or sociological reasons?</li> <li>How do you source and manage the information that powers all of the Metabrainz projects?</li> <li>How is development of the various projects organized? <ul> <li>How does that influence the amount of code sharing that is possible between them?</li> </ul> </li> <li>Of the projects that you have been involved in, how are they architected? <ul> <li>What are the main ways that the projects differ in how they are implemented?</li> </ul> </li> <li>What are some of the ways that you are using Python in support of the various projects that you work on?</li> <li>What are some of the most interesting, innovative, or unexpected ways that you have seen the projects or data built by Metabrainz being used?</li> <li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while working as a contributor and maintainer of the Metabrainz projects?</li> <li>What is in store for the future of the existing Metabrainz projects?</li> <li>What are the next domains that are being considered for building a Metabrainz platform for?</li> </ul> <h3>Keep In Touch</h3> <ul> <li><a href="https://www.linkedin.com/in/prmsngh/?originalSubdomain=ie&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">LinkedIn</a></li> <li><a href="https://github.com/paramsingh?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">paramsingh</a> on GitHub</li> <li><a href="https://param.codes/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Website</a></li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="https://beets.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Beets</a> music library organizer <ul> <li><a href="https://www.pythonpodcast.com/beets-with-adrian-sampson-episode-152/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li> </ul> </li> </ul> </li> <li>Param <ul> <li><a href="https://open.spotify.com/artist/0tC995Rfn9k2l7nqgCZsV7?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Prateek Kuhad</a></li> </ul> </li> </ul> <h3>Links</h3> <ul> <li><a href="https://metabrainz.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Metabrainz</a> <ul> <li><a href="https://musicbrainz.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Musicbrainz</a></li> <li><a href="https://listenbrainz.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Listenbrainz</a></li> <li><a href="https://acousticbrainz.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Acousticbrainz</a></li> <li><a href="https://bookbrainz.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Bookbrainz</a></li> <li><a href="https://critiquebrainz.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Critiquebrainz</a></li> <li><a href="https://picard.musicbrainz.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Picard</a></li> </ul> </li> <li><a href="https://stripe.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Stripe</a></li> <li><a href="https://en.wikipedia.org/wiki/Himalayas?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Himalayas</a></li> <li><a href="https://en.wikipedia.org/wiki/Dublin?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Dublin Ireland</a></li> <li><a href="https://xkcd.com/353/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">XKCD Import Antigravity</a> <ul> <li><a href="http://python-history.blogspot.com/2010/06/import-antigravity.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Antigravity Python Module</a></li> </ul> </li> <li><a href="https://en.wikipedia.org/wiki/Last.fm?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Last.fm</a></li> <li><a href="https://summerofcode.withgoogle.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Google Summer of Code</a></li> <li><a href="https://en.wikipedia.org/wiki/CDDB?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CDDB</a></li> <li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Perl</a></li> <li><a href="https://flask.palletsprojects.com/en/1.1.x/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Flask</a></li> <li><a href="https://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">SQLAlchemy</a></li> <li><a href="https://boingboing.net/2013/12/04/charity-sends-amazon-a-cake-ce.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">3rd anniversary cake</a></li> <li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Redis</a></li> <li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">PostgreSQL</a></li> <li><a href="https://www.rabbitmq.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">RabbitMQ</a></li> <li><a href="https://spark.apache.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Spark</a></li> <li><a href="https://mtg.upf.edu?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Music Technology Group</a></li> <li><a href="https://www.splunk.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Splunk</a></li> <li><a href="https://listenbrainz.org/user/iliekcomputers/reports?range=all_time&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Artist Origins Map</a> on ListenBrainz</li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a></p> </div> <img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmetabrainz-open-data-episode-276%2F&action_name=Building+The+Open+Data+Ecosystem+For+Music+And+More+At+Metabrainz+-+Episode+276&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" />