{"id":455,"date":"2025-05-31T17:56:29","date_gmt":"2025-05-31T16:56:29","guid":{"rendered":"https:\/\/juanluisacebal.com\/?p=455"},"modified":"2025-05-31T17:56:29","modified_gmt":"2025-05-31T16:56:29","slug":"visualizando-relaciones-musicales-con-pyvis-y-streamlit","status":"publish","type":"post","link":"https:\/\/juanluisacebal.com\/index.php\/2025\/visualizando-relaciones-musicales-con-pyvis-y-streamlit\/","title":{"rendered":"Visualizando relaciones musicales con PyVis y Streamlit"},"content":{"rendered":"\n<p>\u00daltimamente he estado explorando los datos de MusicBrainz, una base de datos abierta sobre m\u00fasica, artistas y grabaciones. Para experimentar con estructuras en red, he hecho una visualizaci\u00f3n interactiva utilizando PyVis y Streamlit.<\/p>\n\n\n\n<p>La idea es sencilla: representar gr\u00e1ficamente las conexiones entre artistas y sus colaboraciones, con informaci\u00f3n contextual accesible desde cada nodo o enlace. Usando\u00a0pandas\u00a0para leer los datos,\u00a0networkx\u00a0para modelar el grafo, y\u00a0pyvis\u00a0para generar la visualizaci\u00f3n, el flujo fue bastante directo.<\/p>\n\n\n\n<p>Streamlit facilit\u00f3 mucho la integraci\u00f3n en una interfaz web sencilla y limpia. El resultado es una herramienta que permite explorar relaciones musicales de forma visual, r\u00e1pida y flexible.<\/p>\n\n\n\n<p>Por \u00faltimo, para la parte de extracci\u00f3n de datos, utilic\u00e9 la API, montada en un DAG:<\/p>\n\n\n\n<p><a href=\"https:\/\/airflow.juanluisacebal.com\/dags\/API_CSV_VDD_PEC4_musicbrainz_artist_collaborations\/grid\">https:\/\/airflow.juanluisacebal.com\/dags\/API_CSV_VDD_PEC4_musicbrainz_artist_collaborations\/grid<\/a><\/p>\n\n\n<script type=\"text\/javascript\">\/\/ <![CDATA[\njQuery(document).ready(function(){\n\tsetInterval( function() { AutoiFrameAdjustiFrameHeight( 'auto-iframe', 50); }, 1000 );\n});\n\/\/ ]]><\/script>\n<iframe loading=\"lazy\" id=\"auto-iframe\" name=\"auto-iframe\" src=\"https:\/\/streamlit3.juanluisacebal.com\" width=\"100%\" height=\"1300\" frameborder=\"0\" scrolling=\"no\"onload=\"AutoiFrameAdjustiFrameHeight('auto-iframe',50);\"><\/iframe>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00daltimamente he estado explorando los datos de MusicBrainz, una base de datos abierta sobre m\u00fasica, artistas y grabaciones. Para experimentar con estructuras en red, he hecho una visualizaci\u00f3n interactiva utilizando PyVis y Streamlit. La idea es sencilla: representar gr\u00e1ficamente las conexiones entre artistas y sus colaboraciones, con informaci\u00f3n contextual accesible desde cada nodo o enlace. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3,4,10],"tags":[],"class_list":["post-455","post","type-post","status-publish","format-standard","hentry","category-data","category-etl","category-visualizacion"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_shortlink":"https:\/\/wp.me\/pfPbyZ-7l","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/posts\/455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/comments?post=455"}],"version-history":[{"count":3,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/posts\/455\/revisions"}],"predecessor-version":[{"id":459,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/posts\/455\/revisions\/459"}],"wp:attachment":[{"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/media?parent=455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/categories?post=455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/tags?post=455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}