{"id":30859460,"url":"https://github.com/compmonk/songstats","last_synced_at":"2026-04-06T01:35:06.779Z","repository":{"id":65095210,"uuid":"581605043","full_name":"compmonk/SongStats","owner":"compmonk","description":"Song Stats is a web app where you can summarize and compare the Statistical Song data over the years in a visual manner using our dynamic charts","archived":false,"fork":false,"pushed_at":"2023-01-10T01:38:38.000Z","size":53172,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-07T15:00:05.378Z","etag":null,"topics":["api","bootstrap","bootstrap-icons","bootstrap5","css","d3","d3js","flask","flask-api","frozen-flask","html","javascript","jquery","plotly","plotlyjs","select2","songs"],"latest_commit_sha":null,"homepage":"https://compmonk.github.io/SongStats/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/compmonk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-23T17:34:29.000Z","updated_at":"2023-11-28T08:06:26.000Z","dependencies_parsed_at":"2023-01-12T08:00:31.398Z","dependency_job_id":null,"html_url":"https://github.com/compmonk/SongStats","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/compmonk/SongStats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compmonk%2FSongStats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compmonk%2FSongStats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compmonk%2FSongStats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compmonk%2FSongStats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/compmonk","download_url":"https://codeload.github.com/compmonk/SongStats/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compmonk%2FSongStats/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31456662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","bootstrap","bootstrap-icons","bootstrap5","css","d3","d3js","flask","flask-api","frozen-flask","html","javascript","jquery","plotly","plotlyjs","select2","songs"],"created_at":"2025-09-07T14:59:10.493Z","updated_at":"2026-04-06T01:35:06.757Z","avatar_url":"https://github.com/compmonk.png","language":"Jupyter Notebook","readme":"# Song Stats\n\n----------\n\n![visitors](https://visitor-badge.laobi.icu/badge?page_id=compmonk.SongStats) [![GitHub forks](https://img.shields.io/github/forks/compmonk/SongStats)](https://github.com/compmonk/SongStats/network) [![GitHub stars](https://img.shields.io/github/stars/compmonk/SongStats)](https://github.com/compmonk/SongStats/stargazers)\n\nSong Stats is a web app where you can summarize and compare the Statistical Song data over the years in a visual manner\nusing our dynamic charts. We use the data from\nthe [Spotify Datasets](https://www.kaggle.com/datasets/lehaknarnauli/spotify-datasets)\non [Kaggle](https://www.kaggle.com/) and created the plots based on yearly data for tracks (songs) from 1922 to 2021.\nSome of the metrics summarized and compared are Acousticness, Danceability, Energy, Instrumentalness, Liveness,\nSpeechiness, Valence. We also visualize Loudness, Tempo, Duration and comparison of Time Signatures and Keys.\n\n## Tools and Technology\n\n--------------------\n\nThere are many tools and technologies used to create this web app. Some of them are listed below:\n\n* [Flask](https://flask.palletsprojects.com/)\n* [PostgreSQL](https://www.postgresql.org/)\n* [SQL Alchemy](https://www.sqlalchemy.org/)\n* [D3 JS](https://d3js.org/)\n* [Plotly](https://plotly.com/javascript/)\n* [Bootstrap](https://getbootstrap.com/)\n* [jQuery](https://jquery.com/)\n* [Select 2](https://select2.org/)\n\n## Key in Music\n\n------------\n\nkey, in music, a system of functionally related chords deriving from the major and minor scales, with a central note,\ncalled the tonic (or keynote). The central chord is the tonic triad, which is built on the tonic note. Any of the 12\ntones of the chromatic scale can serve as the tonic of a key. Accordingly, 12 major keys and 12 minor keys are possible,\nand all are used in music. In musical notation, the key is indicated by the key signature, a group of sharp or flat\nsigns at the beginning of each staff.\n\n[Learn More about Keys in Music](https://www.britannica.com/art/key-music)\n\n## Time Signature\n\n--------------\n\nThe time signature (also known as meter signature, metre signature, or measure signature) is a notational convention\nused in Western musical notation to specify how many beats (pulses) are contained in each measure (bar), and which note\nvalue is equivalent to a beat.\n\n[Learn More about Time Signature](https://en.wikipedia.org/wiki/Time_signature)\n\n## Attribution and References\n\n--------------------------\n\nSpecial thanks to [Lehak Narnauli](https://www.kaggle.com/lehaknarnauli) for\nthe [Spotify Datasets](https://www.kaggle.com/datasets/lehaknarnauli/spotify-datasets)\nand [Story Set](https://storyset.com/) for the images.\n\n## Deploying to Github Pages using [Flask Frozen](https://pythonhosted.org/Frozen-Flask/)\n\n--------------------------\nPlease refer to Flask Frozen documentation for proper freezing of your Flask app. Please make sure to update `config.py`\nto reflect the Site Home Page\n\n```shell\n$ git checkout -b gh-pages\n$ python freeze.py\n$ rsync -r build/* . \n$ git add .\n$ git commit -m \"Deploy to Github Pages\"\n$ git push -u origin gh-pages\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompmonk%2Fsongstats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompmonk%2Fsongstats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompmonk%2Fsongstats/lists"}