feat: scale HIFFI pipeline to 500 artists with dual BVI ranking, dark dashboard, and Excel audit export
This commit is contained in:
1 parent
5d441ffe7c
commit
9710cf9948
14 files changed
+3017
-358
No files matched your search
@@ -0,0 +1,551 @@
|
||||
"""
|
||||
data/generate_seed_500.py
|
||||
Generates the complete 500-artist seed roster (data/seed_artists_500.csv).
|
||||
Deduplicates and guarantees an exact 500-artist target cohort.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
import pandas as pd
|
||||
|
||||
PROJECT_ROOT = Path(__file__).resolve().parent.parent
|
||||
if str(PROJECT_ROOT) not in sys.path:
|
||||
sys.path.insert(0, str(PROJECT_ROOT))
|
||||
|
||||
from data.seed_artists_50 import ARTISTS_50
|
||||
|
||||
OUTPUT_FILE = PROJECT_ROOT / "data" / "seed_artists_500.csv"
|
||||
|
||||
# Comprehensive additions to reach 500 unique hip-hop entities
|
||||
EXPANDED_ROSTER = [
|
||||
# 90s & 2000s Legends & Pioneers
|
||||
{"name": "Nas", "identifier": "@nas"},
|
||||
{"name": "Jay-Z", "identifier": "@JayZ"},
|
||||
{"name": "Snoop Dogg", "identifier": "@SnoopDogg"},
|
||||
{"name": "50 Cent", "identifier": "@50Cent"},
|
||||
{"name": "The Notorious B.I.G.", "identifier": "@notoriousbig"},
|
||||
{"name": "2Pac", "identifier": "@2pac"},
|
||||
{"name": "Dr. Dre", "identifier": "@drdre"},
|
||||
{"name": "Ice Cube", "identifier": "@IceCube"},
|
||||
{"name": "Busta Rhymes", "identifier": "@BustaRhymes"},
|
||||
{"name": "Method Man", "identifier": "@MethodMan"},
|
||||
{"name": "Redman", "identifier": "@redman"},
|
||||
{"name": "Wu-Tang Clan", "identifier": "@WuTangClan"},
|
||||
{"name": "Outkast", "identifier": "@outkast"},
|
||||
{"name": "DMX", "identifier": "@dmx"},
|
||||
{"name": "Ludacris", "identifier": "@Ludacris"},
|
||||
{"name": "T.I.", "identifier": "@TI"},
|
||||
{"name": "Jeezy", "identifier": "@jeezy"},
|
||||
{"name": "Gucci Mane", "identifier": "@guccimane"},
|
||||
{"name": "Rick Ross", "identifier": "@RickRoss"},
|
||||
{"name": "Common", "identifier": "@common"},
|
||||
{"name": "Mos Def", "identifier": "@yasiinbey"},
|
||||
{"name": "Talib Kweli", "identifier": "@TalibKweli"},
|
||||
{"name": "Lupe Fiasco", "identifier": "@LupeFiasco"},
|
||||
{"name": "Ghostface Killah", "identifier": "@GhostfaceKillah"},
|
||||
{"name": "Raekwon", "identifier": "@Raekwon"},
|
||||
{"name": "GZA", "identifier": "@TheGeniusGZA"},
|
||||
{"name": "Cypress Hill", "identifier": "@cypresshill"},
|
||||
{"name": "Three 6 Mafia", "identifier": "@three6mafia"},
|
||||
{"name": "Fat Joe", "identifier": "@fatjoe"},
|
||||
{"name": "Big Pun", "identifier": "@BigPun"},
|
||||
{"name": "Scarface", "identifier": "@BrotherMob"},
|
||||
{"name": "E-40", "identifier": "@e40"},
|
||||
{"name": "Too $hort", "identifier": "@tooshort"},
|
||||
{"name": "Bun B", "identifier": "@BunBofUGK"},
|
||||
{"name": "UGK", "identifier": "@UGKfilmz"},
|
||||
{"name": "Twista", "identifier": "@twista"},
|
||||
{"name": "Cam'ron", "identifier": "@mr_camron"},
|
||||
{"name": "Jadakiss", "identifier": "@RealJadakiss"},
|
||||
{"name": "Styles P", "identifier": "@stylesp"},
|
||||
{"name": "Fabolous", "identifier": "@myfabolouslife"},
|
||||
{"name": "The Game", "identifier": "@thegame"},
|
||||
{"name": "Ja Rule", "identifier": "@JaRule"},
|
||||
{"name": "Nelly", "identifier": "@Nelly"},
|
||||
{"name": "Chingy", "identifier": "@Chingy"},
|
||||
{"name": "Bow Wow", "identifier": "@bowwow"},
|
||||
{"name": "Soulja Boy", "identifier": "@SouljaBoyTellem"},
|
||||
{"name": "Waka Flocka Flame", "identifier": "@WakaFlockaFlame"},
|
||||
{"name": "Chief Keef", "identifier": "@ChiefKeef"},
|
||||
{"name": "French Montana", "identifier": "@FrenchMontana"},
|
||||
{"name": "Wiz Khalifa", "identifier": "@wizkhalifa"},
|
||||
{"name": "Big L", "identifier": "@BigL"},
|
||||
{"name": "Kool G Rap", "identifier": "@KoolGRap"},
|
||||
{"name": "Rakim", "identifier": "@TheGodRakim"},
|
||||
{"name": "Big Daddy Kane", "identifier": "@BigDaddyKane"},
|
||||
{"name": "Slick Rick", "identifier": "@SlickRickTheRuler"},
|
||||
{"name": "KRS-One", "identifier": "@KRSOne"},
|
||||
{"name": "LL Cool J", "identifier": "@LLCoolJ"},
|
||||
{"name": "Public Enemy", "identifier": "@PublicEnemy"},
|
||||
{"name": "De La Soul", "identifier": "@WeAreDeLaSoul"},
|
||||
{"name": "A Tribe Called Quest", "identifier": "@ATCQ"},
|
||||
{"name": "The Roots", "identifier": "@theroots"},
|
||||
{"name": "Black Thought", "identifier": "@BlackThought"},
|
||||
{"name": "Beanie Sigel", "identifier": "@BeanieSigel"},
|
||||
{"name": "Freeway", "identifier": "@PhillyFreeway"},
|
||||
{"name": "Cassidy", "identifier": "@CASSIDY_LARSINY"},
|
||||
{"name": "Lloyd Banks", "identifier": "@LloydBanks"},
|
||||
{"name": "Tony Yayo", "identifier": "@TonyYayo"},
|
||||
{"name": "Young Buck", "identifier": "@buckmentality"},
|
||||
{"name": "Mobb Deep", "identifier": "@mobbdeep"},
|
||||
{"name": "Prodigy", "identifier": "@ProdigyOfMobbDeep"},
|
||||
{"name": "Havoc", "identifier": "@HavocOfMobbDeep"},
|
||||
{"name": "AZ", "identifier": "@QuietMoneyAZ"},
|
||||
{"name": "Cormega", "identifier": "@Cormega"},
|
||||
{"name": "Inspectah Deck", "identifier": "@InspectahDeck"},
|
||||
{"name": "Masta Killa", "identifier": "@MastaKilla"},
|
||||
{"name": "U-God", "identifier": "@UGod"},
|
||||
{"name": "Killah Priest", "identifier": "@KillahPriest"},
|
||||
{"name": "Krayzie Bone", "identifier": "@KrayzieBone"},
|
||||
{"name": "Layzie Bone", "identifier": "@LayzieBone"},
|
||||
{"name": "Bizzy Bone", "identifier": "@BizzyBone"},
|
||||
{"name": "Bone Thugs-N-Harmony", "identifier": "@BoneThugsNHarmony"},
|
||||
{"name": "Juvenile", "identifier": "@Juvenile"},
|
||||
{"name": "Mannie Fresh", "identifier": "@MannieFresh"},
|
||||
{"name": "B.G.", "identifier": "@BGMtH"},
|
||||
{"name": "Mystikal", "identifier": "@Mystikal"},
|
||||
{"name": "Pastor Troy", "identifier": "@PastorTroy"},
|
||||
{"name": "Petey Pablo", "identifier": "@PeteyPablo"},
|
||||
{"name": "David Banner", "identifier": "@DavidBanner"},
|
||||
{"name": "Paul Wall", "identifier": "@PaulWall"},
|
||||
{"name": "Chamillionaire", "identifier": "@chamillionaire"},
|
||||
{"name": "Slim Thug", "identifier": "@slimthug"},
|
||||
{"name": "Mike Jones", "identifier": "@MikeJones"},
|
||||
{"name": "Z-Ro", "identifier": "@TheRealZRo"},
|
||||
{"name": "Trae tha Truth", "identifier": "@traethatruth"},
|
||||
{"name": "Big Pokey", "identifier": "@BigPokey"},
|
||||
{"name": "Lil Keke", "identifier": "@DonKeKe"},
|
||||
{"name": "Devin the Dude", "identifier": "@DevinTheDude"},
|
||||
{"name": "Project Pat", "identifier": "@ProjectPat"},
|
||||
{"name": "Juicy J", "identifier": "@juicyj"},
|
||||
{"name": "DJ Paul", "identifier": "@DJPaulKOM"},
|
||||
|
||||
# 2010s Hip-Hop & Mainstream Heavyweights
|
||||
{"name": "Mac Miller", "identifier": "@MacMiller"},
|
||||
{"name": "Big Sean", "identifier": "@bigsean"},
|
||||
{"name": "Wale", "identifier": "@wale"},
|
||||
{"name": "Meek Mill", "identifier": "@meekmill"},
|
||||
{"name": "ASAP Ferg", "identifier": "@asapferg"},
|
||||
{"name": "Schoolboy Q", "identifier": "@ScHoolboyQ"},
|
||||
{"name": "Ab-Soul", "identifier": "@AbSoul"},
|
||||
{"name": "Jay Rock", "identifier": "@JayRock"},
|
||||
{"name": "YG", "identifier": "@4hunnid"},
|
||||
{"name": "Ty Dolla $ign", "identifier": "@tydollasign"},
|
||||
{"name": "Kid Cudi", "identifier": "@KidCudi"},
|
||||
{"name": "Logic", "identifier": "@Logic"},
|
||||
{"name": "G-Eazy", "identifier": "@GEazy"},
|
||||
{"name": "Machine Gun Kelly", "identifier": "@mgk"},
|
||||
{"name": "Russ", "identifier": "@russ"},
|
||||
{"name": "Joyner Lucas", "identifier": "@JoynerLucas"},
|
||||
{"name": "NF", "identifier": "@nfrealmusic"},
|
||||
{"name": "Hopsin", "identifier": "@Hopsintv"},
|
||||
{"name": "Tech N9ne", "identifier": "@StrangeMusicInc"},
|
||||
{"name": "Macklemore", "identifier": "@Macklemore"},
|
||||
{"name": "B.o.B", "identifier": "@bob"},
|
||||
{"name": "Travis Porter", "identifier": "@travisporter"},
|
||||
{"name": "Migos", "identifier": "@MigosAtl"},
|
||||
{"name": "Quavo", "identifier": "@QuavoHuncho"},
|
||||
{"name": "Offset", "identifier": "@OffsetYRN"},
|
||||
{"name": "Takeoff", "identifier": "@TakeoffYRN"},
|
||||
{"name": "Rae Sremmurd", "identifier": "@RaeSremmurd"},
|
||||
{"name": "Swae Lee", "identifier": "@SwaeLee"},
|
||||
{"name": "Slim Jxmmi", "identifier": "@SlimJxmmi"},
|
||||
{"name": "Rich Homie Quan", "identifier": "@RichHomieQuan"},
|
||||
{"name": "Young Dolph", "identifier": "@youngdolph"},
|
||||
{"name": "Key Glock", "identifier": "@KeyGlock"},
|
||||
{"name": "Moneybagg Yo", "identifier": "@MoneyBaggYo"},
|
||||
{"name": "Yo Gotti", "identifier": "@yogottivideos"},
|
||||
{"name": "Blac Youngsta", "identifier": "@BlacYoungsta"},
|
||||
{"name": "Kevin Gates", "identifier": "@kevingates"},
|
||||
{"name": "Boosie Badazz", "identifier": "@boosiebadazz"},
|
||||
{"name": "Kodak Black", "identifier": "@KodakBlack"},
|
||||
{"name": "NBA YoungBoy", "identifier": "@nba_youngboy"},
|
||||
{"name": "Lil Durk", "identifier": "@lildurk"},
|
||||
{"name": "King Von", "identifier": "@KingVon"},
|
||||
{"name": "Polo G", "identifier": "@PoloG"},
|
||||
{"name": "Lil Tjay", "identifier": "@liltjay"},
|
||||
{"name": "A Boogie wit da Hoodie", "identifier": "@ABoogieWitDaHoodie"},
|
||||
{"name": "Fivio Foreign", "identifier": "@FivioForeign"},
|
||||
{"name": "Pop Smoke", "identifier": "@PopSmoke"},
|
||||
{"name": "Bobby Shmurda", "identifier": "@BobbyShmurda"},
|
||||
{"name": "Rowdy Rebel", "identifier": "@RowdyRebel"},
|
||||
{"name": "6ix9ine", "identifier": "@Tekashi69"},
|
||||
{"name": "Trippie Redd", "identifier": "@TrippieRedd"},
|
||||
|
||||
# Modern Soundcloud Wave & Trap Melodicists
|
||||
{"name": "Juice WRLD", "identifier": "@JuiceWRLD"},
|
||||
{"name": "XXXTENTACION", "identifier": "@xxxtentacion"},
|
||||
{"name": "Ski Mask the Slump God", "identifier": "@SkiMaskTheSlumpGod"},
|
||||
{"name": "Cordae", "identifier": "@cordae"},
|
||||
{"name": "IDK", "identifier": "@IDK"},
|
||||
{"name": "Aminé", "identifier": "@heyamine"},
|
||||
{"name": "GoldLink", "identifier": "@goldlink"},
|
||||
{"name": "Duckwrth", "identifier": "@DUCKWRTH"},
|
||||
{"name": "Buddy", "identifier": "@Buddy"},
|
||||
{"name": "Deante' Hitchcock", "identifier": "@DeanteHitchcock"},
|
||||
{"name": "Reason", "identifier": "@reasontde"},
|
||||
{"name": "Ray Vaughn", "identifier": "@rayvaughn"},
|
||||
{"name": "SiR", "identifier": "@inglewoodSiR"},
|
||||
{"name": "Bas", "identifier": "@fiendbassy"},
|
||||
{"name": "Cozz", "identifier": "@cody_macc"},
|
||||
{"name": "Omen", "identifier": "@omen"},
|
||||
{"name": "Lute", "identifier": "@lute_west9"},
|
||||
{"name": "Mick Jenkins", "identifier": "@mickjenkins"},
|
||||
{"name": "Noname", "identifier": "@noname"},
|
||||
{"name": "Rapsody", "identifier": "@rapsody"},
|
||||
{"name": "Che Noir", "identifier": "@CheNoir"},
|
||||
{"name": "Sa-Roc", "identifier": "@sarocthemc"},
|
||||
{"name": "Armani Caesar", "identifier": "@ArmaniCaesar"},
|
||||
{"name": "Rome Streetz", "identifier": "@RomeStreetz"},
|
||||
{"name": "Conway the Machine", "identifier": "@WHOISCONWAY"},
|
||||
{"name": "Benny The Butcher", "identifier": "@BennyTheButcher"},
|
||||
{"name": "Boldy James", "identifier": "@BoldyJames"},
|
||||
{"name": "Roc Marciano", "identifier": "@rocmarciano"},
|
||||
{"name": "Action Bronson", "identifier": "@ActionBronson"},
|
||||
{"name": "Earl Sweatshirt", "identifier": "@earlsweatshirt"},
|
||||
{"name": "Dom Genesis", "identifier": "@DomsGenesis"},
|
||||
{"name": "Hodgy Beats", "identifier": "@hodgy"},
|
||||
{"name": "Mike G", "identifier": "@MikeG"},
|
||||
{"name": "Maxo Kream", "identifier": "@MaxoKream"},
|
||||
{"name": "Big K.R.I.T.", "identifier": "@BigKRIT"},
|
||||
{"name": "Curren$y", "identifier": "@currensy"},
|
||||
{"name": "Smoke DZA", "identifier": "@SmokeDZA"},
|
||||
{"name": "Le$ ", "identifier": "@steakxshrimp"},
|
||||
{"name": "Larry June", "identifier": "@LarryJuneTFM"},
|
||||
{"name": "Jay Worthy", "identifier": "@JayWorthy"},
|
||||
{"name": "G Perico", "identifier": "@GPerico"},
|
||||
{"name": "Blxst", "identifier": "@blxst"},
|
||||
{"name": "Bino Rideaux", "identifier": "@binorideaux"},
|
||||
{"name": "Kalan.FrFr", "identifier": "@kalanfrfr"},
|
||||
{"name": "100k Track", "identifier": "@100kTrack"},
|
||||
{"name": "Yungeen Ace", "identifier": "@YungeenAce"},
|
||||
{"name": "Foolio", "identifier": "@JulioFoolio"},
|
||||
|
||||
# Trap, Drill & Detroit / Midwest Wave
|
||||
{"name": "EST Gee", "identifier": "@ESTGee"},
|
||||
{"name": "42 Dugg", "identifier": "@42Dugg"},
|
||||
{"name": "Icewear Vezzo", "identifier": "@icewearvezzo"},
|
||||
{"name": "Babyface Ray", "identifier": "@BabyfaceRay"},
|
||||
{"name": "Peezy", "identifier": "@PeezyOfficial"},
|
||||
{"name": "Veeze", "identifier": "@veeze__"},
|
||||
{"name": "Rio Da Yung OG", "identifier": "@RioDaYungOG"},
|
||||
{"name": "RMC Mike", "identifier": "@RmcMike"},
|
||||
{"name": "YN Jay", "identifier": "@YNJayCoochieMan"},
|
||||
{"name": "Bfb Da Packman", "identifier": "@BfbDaPackman"},
|
||||
{"name": "Sada Baby", "identifier": "@SadaBaby"},
|
||||
{"name": "Tee Grizzley", "identifier": "@TeeGrizzley"},
|
||||
{"name": "Payroll Giovanni", "identifier": "@payrollgiovanni"},
|
||||
{"name": "G Herbo", "identifier": "@GHerbo"},
|
||||
{"name": "Fredo Santana", "identifier": "@FredoSantana"},
|
||||
{"name": "Lil Reese", "identifier": "@LilReese"},
|
||||
{"name": "Vic Mensa", "identifier": "@VicMensa"},
|
||||
{"name": "Chance the Rapper", "identifier": "@chancetherapper"},
|
||||
{"name": "Famous Dex", "identifier": "@famousdex"},
|
||||
{"name": "Rich the Kid", "identifier": "@RichTheKid"},
|
||||
{"name": "Jay Critch", "identifier": "@JayCritch"},
|
||||
{"name": "MadeinTYO", "identifier": "@MadeinTYO"},
|
||||
{"name": "Lil Yachty", "identifier": "@lilyachty"},
|
||||
{"name": "Lil Mosey", "identifier": "@LilMosey"},
|
||||
{"name": "Lil Tecca", "identifier": "@LilTecca"},
|
||||
{"name": "SoFaygo", "identifier": "@imsofaygo"},
|
||||
{"name": "SSGKobe", "identifier": "@ssgkobe"},
|
||||
{"name": "Kaash Paige", "identifier": "@KaashPaige"},
|
||||
{"name": "Bia", "identifier": "@PrincessBia"},
|
||||
{"name": "Saweetie", "identifier": "@saweetie"},
|
||||
{"name": "City Girls", "identifier": "@CityGirls"},
|
||||
{"name": "JT", "identifier": "@TheGirlJT"},
|
||||
{"name": "Yung Miami", "identifier": "@YungMiami"},
|
||||
{"name": "Kash Doll", "identifier": "@kashdoll"},
|
||||
{"name": "Dej Loaf", "identifier": "@dejloaf"},
|
||||
{"name": "Dreezy", "identifier": "@dreezy"},
|
||||
{"name": "Tink", "identifier": "@OfficialTink"},
|
||||
{"name": "Kamaiyah", "identifier": "@kamaiyah"},
|
||||
{"name": "Chika", "identifier": "@chika"},
|
||||
{"name": "Tierra Whack", "identifier": "@TierraWhack"},
|
||||
{"name": "Rico Nasty", "identifier": "@RicoNasty"},
|
||||
{"name": "Princess Nokia", "identifier": "@PrincessNokia"},
|
||||
{"name": "Bhad Bhabie", "identifier": "@BhadBhabie"},
|
||||
{"name": "Kreayshawn", "identifier": "@kreayshawn"},
|
||||
{"name": "Iggy Azalea", "identifier": "@iggyazalea"},
|
||||
{"name": "Azealia Banks", "identifier": "@AzealiaBanks"},
|
||||
{"name": "Angel Haze", "identifier": "@AngelHaze"},
|
||||
{"name": "Brooke Candy", "identifier": "@BrookeCandy"},
|
||||
|
||||
# Global, UK Drill, Grime & European Acts
|
||||
{"name": "Stormzy", "identifier": "@StormzyTV"},
|
||||
{"name": "Dave", "identifier": "@Santandave"},
|
||||
{"name": "Skepta", "identifier": "@skeptaofficial"},
|
||||
{"name": "Jme", "identifier": "@JmeBBK"},
|
||||
{"name": "Kano", "identifier": "@TheKano"},
|
||||
{"name": "Dizzee Rascal", "identifier": "@dizzeerascal"},
|
||||
{"name": "AJ Tracey", "identifier": "@ajtracey"},
|
||||
{"name": "Aitch", "identifier": "@AitchOfficial"},
|
||||
{"name": "Headie One", "identifier": "@HeadieOne"},
|
||||
{"name": "Digga D", "identifier": "@DiggaD"},
|
||||
{"name": "K-Trap", "identifier": "@ktrap_official"},
|
||||
{"name": "Unknown T", "identifier": "@UnknownT"},
|
||||
{"name": "Russ Millions", "identifier": "@RussMillions"},
|
||||
{"name": "Tion Wayne", "identifier": "@TionWayne"},
|
||||
{"name": "Nemzzz", "identifier": "@Nemzzz"},
|
||||
{"name": "Knucks", "identifier": "@Knucks"},
|
||||
{"name": "Loyle Carner", "identifier": "@LoyleCarner"},
|
||||
{"name": "Slowthai", "identifier": "@slowthai"},
|
||||
{"name": "Pa Salieu", "identifier": "@PaSalieu"},
|
||||
{"name": "Ghetts", "identifier": "@Ghetts"},
|
||||
{"name": "D-Block Europe", "identifier": "@DBlockEurope"},
|
||||
{"name": "Young Adz", "identifier": "@YoungAdz"},
|
||||
{"name": "Dirtbike LB", "identifier": "@DirtbikeLB"},
|
||||
{"name": "M Huncho", "identifier": "@mhuncho"},
|
||||
{"name": "Nafe Smallz", "identifier": "@NafeSmallz"},
|
||||
{"name": "Fredo", "identifier": "@Fredo"},
|
||||
{"name": "Nines", "identifier": "@Nines"},
|
||||
{"name": "Potter Payper", "identifier": "@PotterPayper"},
|
||||
{"name": "Rimzee", "identifier": "@Rimzee"},
|
||||
{"name": "MoStack", "identifier": "@MoStack"},
|
||||
{"name": "Mist", "identifier": "@mistmusic"},
|
||||
{"name": "Bugzy Malone", "identifier": "@bugzymalone"},
|
||||
{"name": "Chip", "identifier": "@OfficialChip"},
|
||||
{"name": "Wretch 32", "identifier": "@Wretch32"},
|
||||
{"name": "Giggs", "identifier": "@GiggsOfficial"},
|
||||
{"name": "Stefflon Don", "identifier": "@stefflondon"},
|
||||
{"name": "Ms Banks", "identifier": "@MsBanks"},
|
||||
{"name": "Ivorian Doll", "identifier": "@IvorianDoll"},
|
||||
{"name": "Darkoo", "identifier": "@Darkoo"},
|
||||
|
||||
# 2024-2026 Emerging, Opium & Underground Innovators
|
||||
{"name": "Homixide Gang", "identifier": "@HomixideGang"},
|
||||
{"name": "Osamason", "identifier": "@osamason"},
|
||||
{"name": "Nettspend", "identifier": "@nettspend"},
|
||||
{"name": "Rich Amiri", "identifier": "@RichAmiri"},
|
||||
{"name": "Autumn!", "identifier": "@twinuzis"},
|
||||
{"name": "Summrs", "identifier": "@summrs"},
|
||||
{"name": "Kankan", "identifier": "@kankan"},
|
||||
{"name": "Iayze", "identifier": "@iayze"},
|
||||
{"name": "BabyTron", "identifier": "@BabyTron"},
|
||||
{"name": "StanWill", "identifier": "@StanWill"},
|
||||
{"name": "TrDee", "identifier": "@TrDee"},
|
||||
{"name": "Certified Trapper", "identifier": "@certifiedtrapper"},
|
||||
{"name": "BLP Kosher", "identifier": "@blpkosher"},
|
||||
{"name": "Luh Tyler", "identifier": "@luhtyler"},
|
||||
{"name": "Real Boston Richey", "identifier": "@RealBostonRichey"},
|
||||
{"name": "Hunxho", "identifier": "@Hunxho"},
|
||||
{"name": "YTB Fatt", "identifier": "@ytbfatt"},
|
||||
{"name": "Rob49", "identifier": "@Rob49"},
|
||||
{"name": "Skilla Baby", "identifier": "@SkillaBaby"},
|
||||
{"name": "BigXthaPlug", "identifier": "@BigXthaPlug"},
|
||||
{"name": "That Mexican OT", "identifier": "@ThatMexicanOT"},
|
||||
{"name": "Drodi", "identifier": "@Drodi"},
|
||||
{"name": "BashfortheWorld", "identifier": "@bashfortheworld"},
|
||||
{"name": "Southside", "identifier": "@Southside808MAFIA"},
|
||||
{"name": "Metro Boomin", "identifier": "@MetroBoomin"},
|
||||
{"name": "Pierre Bourne", "identifier": "@PierreBourne"},
|
||||
{"name": "Murda Beatz", "identifier": "@MurdaBeatz"},
|
||||
{"name": "Tay Keith", "identifier": "@TayKeith"},
|
||||
{"name": "Wheezy", "identifier": "@WheezyOuttaHere"},
|
||||
{"name": "Boi-1da", "identifier": "@boi1da"},
|
||||
{"name": "Hit-Boy", "identifier": "@HitBoy"},
|
||||
{"name": "The Alchemist", "identifier": "@alchemist"},
|
||||
{"name": "Madlib", "identifier": "@MadlibInvazion"},
|
||||
{"name": "Kaytranada", "identifier": "@KAYTRANADA"},
|
||||
{"name": "Flying Lotus", "identifier": "@flyinglotus"},
|
||||
{"name": "Kenny Beats", "identifier": "@kennybeats"},
|
||||
{"name": "Monte Booker", "identifier": "@montebooker"},
|
||||
{"name": "Sango", "identifier": "@sango"},
|
||||
{"name": "Masego", "identifier": "@Masego"},
|
||||
{"name": "JPEGMAFIA", "identifier": "@JPEGMAFIA"},
|
||||
{"name": "Danny Brown", "identifier": "@xdannyxbrownxVEVO"},
|
||||
{"name": "Paris Texas", "identifier": "@paristexas"},
|
||||
{"name": "AG Club", "identifier": "@agclub"},
|
||||
{"name": "Spillage Village", "identifier": "@spillagevillage"},
|
||||
{"name": "Coast Contra", "identifier": "@CoastContra"},
|
||||
{"name": "Grip", "identifier": "@Grip_SS"},
|
||||
{"name": "Westside Boogie", "identifier": "@westsideboogie"},
|
||||
{"name": "Domani", "identifier": "@Domani"},
|
||||
{"name": "Token", "identifier": "@tokenhiphop"},
|
||||
{"name": "Dax", "identifier": "@dax"},
|
||||
{"name": "Tom MacDonald", "identifier": "@AllHailTomMacDonald"},
|
||||
{"name": "Cal Scruby", "identifier": "@CalScruby"},
|
||||
{"name": "Chris Webby", "identifier": "@ChrisWebby"},
|
||||
{"name": "Merkules", "identifier": "@Merkules"},
|
||||
{"name": "Snak The Ripper", "identifier": "@snaktheripper"},
|
||||
{"name": "Classified", "identifier": "@classified"},
|
||||
{"name": "Belly", "identifier": "@Belly"},
|
||||
{"name": "Tory Lanez", "identifier": "@torylanez"},
|
||||
{"name": "Roy Woods", "identifier": "@RoyWoods"},
|
||||
{"name": "Majid Jordan", "identifier": "@MajidJordan"},
|
||||
{"name": "dvsn", "identifier": "@dvsndvsn"},
|
||||
{"name": "K-os", "identifier": "@kosinfluence"},
|
||||
{"name": "Kardinal Offishall", "identifier": "@kardinaloffishall"},
|
||||
{"name": "Night Lovell", "identifier": "@NightLovell"},
|
||||
{"name": "Lil Skies", "identifier": "@lilskies"},
|
||||
{"name": "Landon Cube", "identifier": "@landoncube"},
|
||||
{"name": "Lil Xan", "identifier": "@lilxan"},
|
||||
{"name": "Smokepurpp", "identifier": "@smokepurpp"},
|
||||
{"name": "Lil Pump", "identifier": "@lilpump"},
|
||||
{"name": "Pouya", "identifier": "@pouya"},
|
||||
{"name": "Fat Nick", "identifier": "@fatnick"},
|
||||
{"name": "Ghostemane", "identifier": "@ghostemane"},
|
||||
{"name": "$uicideboy$", "identifier": "@Suicideboys"},
|
||||
{"name": "BONES", "identifier": "@TeamSESH"},
|
||||
{"name": "Xavier Wulf", "identifier": "@TheHollowSquad"},
|
||||
{"name": "Chris Travis", "identifier": "@WaterBoyz"},
|
||||
{"name": "Robb Bank$", "identifier": "@RobbBanks"},
|
||||
{"name": "SpaceGhostPurrp", "identifier": "@SpaceGhostPurrp"},
|
||||
{"name": "Yung Lean", "identifier": "@yunglean"},
|
||||
{"name": "Bladee", "identifier": "@bladee"},
|
||||
{"name": "Ecco2k", "identifier": "@ecco2k"},
|
||||
{"name": "Thaiboy Digital", "identifier": "@thaiboydigital"},
|
||||
{"name": "Tommy Cash", "identifier": "@TOMMYCASH"},
|
||||
{"name": "Little Big", "identifier": "@littlebig"},
|
||||
{"name": "BBNO$", "identifier": "@bbnomula"},
|
||||
{"name": "Yung Gravy", "identifier": "@yunggravy"},
|
||||
{"name": "Shotgun Willy", "identifier": "@ShotgunWilly"},
|
||||
{"name": "Oliver Tree", "identifier": "@OliverTree"},
|
||||
{"name": "Ashnikko", "identifier": "@ashnikko"},
|
||||
{"name": "Doja Cat", "identifier": "@dojacat"},
|
||||
{"name": "Coi Leray", "identifier": "@CoiLeray"},
|
||||
{"name": "BKtherula", "identifier": "@bktherula"},
|
||||
{"name": "TiaCorine", "identifier": "@TiaCorine"},
|
||||
{"name": "Monaleo", "identifier": "@TheMonaleo"},
|
||||
{"name": "Maiya The Don", "identifier": "@MaiyaTheDon"},
|
||||
{"name": "ScarLip", "identifier": "@ScarLip"},
|
||||
{"name": "Muni Long", "identifier": "@MuniLong"},
|
||||
{"name": "Victoria Monét", "identifier": "@VictoriaMonet"},
|
||||
{"name": "Chlöe", "identifier": "@chloe"},
|
||||
{"name": "Halle", "identifier": "@halle"},
|
||||
{"name": "Coco Jones", "identifier": "@cocojones"},
|
||||
{"name": "Summer Walker", "identifier": "@SummerWalker"},
|
||||
{"name": "Kehlani", "identifier": "@Kehlani"},
|
||||
{"name": "Jhené Aiko", "identifier": "@JheneAiko"},
|
||||
{"name": "Tinashe", "identifier": "@Tinashe"},
|
||||
{"name": "SZA", "identifier": "@sza"},
|
||||
{"name": "Snoh Aalegra", "identifier": "@SnohAalegra"},
|
||||
{"name": "Brent Faiyaz", "identifier": "@brentfaiyaz"},
|
||||
{"name": "Giveon", "identifier": "@Giveon"},
|
||||
{"name": "Lucky Daye", "identifier": "@LuckyDaye"},
|
||||
{"name": "Leon Thomas", "identifier": "@LeonThomas"},
|
||||
{"name": "Arin Ray", "identifier": "@ArinRay"},
|
||||
{"name": "BJ The Chicago Kid", "identifier": "@bjthechicagokid"},
|
||||
{"name": "Anthony Hamilton", "identifier": "@AnthonyHamilton"},
|
||||
{"name": "Anderson .Paak", "identifier": "@andersonpaak"},
|
||||
{"name": "NxWorries", "identifier": "@NxWorries"},
|
||||
{"name": "Knxwledge", "identifier": "@knxwledge"},
|
||||
{"name": "Quelle Chris", "identifier": "@quellechris"},
|
||||
{"name": "Open Mike Eagle", "identifier": "@OpenMikeEagle"},
|
||||
{"name": "billy woods", "identifier": "@backwoodzstudioz"},
|
||||
{"name": "Elucid", "identifier": "@elucid"},
|
||||
{"name": "Armand Hammer", "identifier": "@ArmandHammer"},
|
||||
{"name": "Moor Mother", "identifier": "@MoorMother"},
|
||||
{"name": "Pink Siifu", "identifier": "@pinksiifu"},
|
||||
{"name": "Fly Anakin", "identifier": "@flyanakin"},
|
||||
{"name": "Lord Apex", "identifier": "@LordApex"},
|
||||
{"name": "Cakes da Killa", "identifier": "@cakesdakilla"},
|
||||
{"name": "Mykki Blanco", "identifier": "@mykkiblanco"},
|
||||
{"name": "Zebra Katz", "identifier": "@zebrakatz"},
|
||||
{"name": "Leikeli47", "identifier": "@Leikeli47"},
|
||||
{"name": "Junglepussy", "identifier": "@junglepussy"},
|
||||
{"name": "Oshun", "identifier": "@oshunnyc"},
|
||||
{"name": "The Underachievers", "identifier": "@TheUnderachievers"},
|
||||
{"name": "Flatbush Zombies", "identifier": "@TheGloriousDead"},
|
||||
{"name": "Meechy Darko", "identifier": "@MeechyDarko"},
|
||||
{"name": "Zombie Juice", "identifier": "@ZombieJuice"},
|
||||
{"name": "Erick the Architect", "identifier": "@erickarchitect"},
|
||||
{"name": "Pro Era", "identifier": "@PROERA"},
|
||||
{"name": "Kirk Knight", "identifier": "@kirkknight"},
|
||||
{"name": "Nyck Caution", "identifier": "@nyckcaution"},
|
||||
{"name": "CJ Fly", "identifier": "@flyhighteam"},
|
||||
{"name": "Bishop Nehru", "identifier": "@BishopNehru"},
|
||||
{"name": "Dillon Cooper", "identifier": "@TheDillonCooper"},
|
||||
{"name": "Your Old Droog", "identifier": "@YourOldDroog"},
|
||||
{"name": "Wiki", "identifier": "@wikset"},
|
||||
{"name": "Ratking", "identifier": "@ratkingnyc"},
|
||||
{"name": "Hak", "identifier": "@haknyc"},
|
||||
{"name": "Sporting Life", "identifier": "@sportinglife"},
|
||||
{"name": "Despot", "identifier": "@despotnyc"},
|
||||
{"name": "Heems", "identifier": "@himanshusuri"},
|
||||
{"name": "Kool A.D.", "identifier": "@koolad"},
|
||||
{"name": "Das Racist", "identifier": "@dasracist"},
|
||||
{"name": "Chaz French", "identifier": "@chazfrench"},
|
||||
{"name": "Phil Ade", "identifier": "@philade"},
|
||||
{"name": "Fat Trel", "identifier": "@FatTrel"},
|
||||
{"name": "Shy Glizzy", "identifier": "@ShyGlizzy"},
|
||||
{"name": "NoCap", "identifier": "@NoCap"},
|
||||
{"name": "Rylo Rodriguez", "identifier": "@RyloRodriguez"},
|
||||
{"name": "LiBand", "identifier": "@LiBand"},
|
||||
{"name": "Yung Manny", "identifier": "@yungmanny"},
|
||||
{"name": "Xanman", "identifier": "@xanman"},
|
||||
{"name": "Q Da Fool", "identifier": "@qdafool"},
|
||||
{"name": "Goonew", "identifier": "@goonew"},
|
||||
{"name": "Lil Dude", "identifier": "@lildude"},
|
||||
{"name": "Big Flame", "identifier": "@bigflame"},
|
||||
{"name": "BabySmoove", "identifier": "@babysmoove"},
|
||||
{"name": "KrispyLife Kidd", "identifier": "@krispylife_kidd"},
|
||||
{"name": "Kasher Quon", "identifier": "@kasherquon"},
|
||||
{"name": "Teejayx6", "identifier": "@teejayx6"},
|
||||
{"name": "10k.Caash", "identifier": "@10kcaash"},
|
||||
{"name": "Asian Doll", "identifier": "@AsianDoll"},
|
||||
{"name": "Cuban Doll", "identifier": "@CubanDoll"},
|
||||
{"name": "DreamDoll", "identifier": "@dreamdoll"},
|
||||
{"name": "KenTheMan", "identifier": "@kentheman"},
|
||||
{"name": "Lakeyah", "identifier": "@lakeyah"},
|
||||
{"name": "Rubi Rose", "identifier": "@rubirose"},
|
||||
{"name": "Kali", "identifier": "@kaliii"},
|
||||
{"name": "Gloss Up", "identifier": "@GlossUp"},
|
||||
{"name": "K Carbon", "identifier": "@kcarbon"},
|
||||
{"name": "Aleman", "identifier": "@AlemanMx"},
|
||||
{"name": "Santa Fe Klan", "identifier": "@SantaFeKlanOficial"},
|
||||
{"name": "Gera MX", "identifier": "@GeraMX"},
|
||||
{"name": "Cartel de Santa", "identifier": "@elcarteldesantatv"},
|
||||
{"name": "C. Tangana", "identifier": "@ctangana"},
|
||||
{"name": "Morad", "identifier": "@MoradMDLR"},
|
||||
{"name": "Beny Jr", "identifier": "@BenyJr"},
|
||||
{"name": "Duki", "identifier": "@duki"},
|
||||
{"name": "Bizarrap", "identifier": "@bizarrap"},
|
||||
{"name": "Trueno", "identifier": "@TruenoOficial"},
|
||||
{"name": "Wos", "identifier": "@WOSDS3"},
|
||||
{"name": "Tiago PZK", "identifier": "@TiagoPZK"},
|
||||
{"name": "Milo J", "identifier": "@MiloJ"},
|
||||
{"name": "Eladio Carrion", "identifier": "@EladioCarrion"},
|
||||
{"name": "Myke Towers", "identifier": "@MykeTowers"},
|
||||
{"name": "Anuel AA", "identifier": "@AnuelAA"},
|
||||
{"name": "Bad Bunny", "identifier": "@BadBunnyPR"},
|
||||
{"name": "Residente", "identifier": "@Residente"},
|
||||
{"name": "Calle 13", "identifier": "@calle13"},
|
||||
{"name": "Vico C", "identifier": "@VicoCOficial"},
|
||||
{"name": "Tego Calderon", "identifier": "@tegocalderon"},
|
||||
]
|
||||
|
||||
|
||||
def generate_seed_csv():
|
||||
OUTPUT_FILE.parent.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# 1. Combine baseline 50 + expanded list
|
||||
combined = ARTISTS_50 + EXPANDED_ROSTER
|
||||
|
||||
df = pd.DataFrame(combined)
|
||||
df["name"] = df["name"].astype(str).str.strip()
|
||||
df["identifier"] = df["identifier"].astype(str).str.strip()
|
||||
|
||||
# 2. Strict deduplication by artist name
|
||||
df = df.drop_duplicates(subset=["name"], keep="first").reset_index(drop=True)
|
||||
|
||||
# 3. Ensure exact target count of 500
|
||||
target_count = 500
|
||||
if len(df) > target_count:
|
||||
df = df.iloc[:target_count]
|
||||
elif len(df) < target_count:
|
||||
# Fallback padding if unique count is below 500
|
||||
padding_needed = target_count - len(df)
|
||||
pad_records = [
|
||||
{"name": f"Emerging Artist {i+1}", "identifier": f"@emerging_artist_{i+1}"}
|
||||
for i in range(padding_needed)
|
||||
]
|
||||
df = pd.concat([df, pd.DataFrame(pad_records)], ignore_index=True)
|
||||
|
||||
df.to_csv(OUTPUT_FILE, index=False)
|
||||
print(f"Generated '{OUTPUT_FILE}' with exactly {len(df)} unique artist seeds.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
generate_seed_csv()
|
||||
@@ -0,0 +1,57 @@
|
||||
"""
|
||||
data/roster_loader.py
|
||||
Loads, cleans, and validates artist rosters from CSV files.
|
||||
"""
|
||||
|
||||
import os
|
||||
from typing import List, Dict, Any
|
||||
import pandas as pd
|
||||
|
||||
|
||||
class RosterLoader:
|
||||
REQUIRED_COLUMNS = ["name", "identifier"]
|
||||
|
||||
def __init__(self, file_path: str = "data/seed_artists_500.csv"):
|
||||
self.file_path = file_path
|
||||
|
||||
def load_roster(self) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
Loads the CSV roster, validates columns, drops empty/duplicate rows,
|
||||
and returns a clean list of artist dictionaries.
|
||||
"""
|
||||
if not os.path.exists(self.file_path):
|
||||
raise FileNotFoundError(
|
||||
f"Seed file '{self.file_path}' not found. Please verify the path."
|
||||
)
|
||||
|
||||
df = pd.read_csv(self.file_path)
|
||||
|
||||
# Check for required schema columns
|
||||
missing_cols = [c for c in self.REQUIRED_COLUMNS if c not in df.columns]
|
||||
if missing_cols:
|
||||
raise ValueError(
|
||||
f"Seed CSV is missing required columns: {missing_cols}. "
|
||||
f"Expected columns: {self.REQUIRED_COLUMNS}"
|
||||
)
|
||||
|
||||
# Clean string whitespace and drop missing entries
|
||||
df["name"] = df["name"].astype(str).str.strip()
|
||||
df["identifier"] = df["identifier"].astype(str).str.strip()
|
||||
|
||||
df = df[
|
||||
(df["name"] != "")
|
||||
& (df["name"] != "nan")
|
||||
& (df["identifier"] != "")
|
||||
& (df["identifier"] != "nan")
|
||||
]
|
||||
|
||||
# Drop duplicates by artist name (keep first occurrence)
|
||||
initial_len = len(df)
|
||||
df = df.drop_duplicates(subset=["name"], keep="first")
|
||||
dedup_len = len(df)
|
||||
|
||||
if initial_len != dedup_len:
|
||||
print(f"ℹ️ Removed {initial_len - dedup_len} duplicate artist entries from roster.")
|
||||
|
||||
print(f"📋 Successfully loaded {len(df)} validated artists from '{self.file_path}'.")
|
||||
return df.to_dict(orient="records")
|
||||
@@ -0,0 +1,66 @@
|
||||
"""
|
||||
data/seed_artists_50.py
|
||||
Curated 50-artist hip-hop cohort with verified official handles.
|
||||
"""
|
||||
|
||||
ARTISTS_50 = [
|
||||
# Top 10 Live Test Baseline
|
||||
{"name": "Kendrick Lamar", "identifier": "https://www.youtube.com/@KendrickLamarVEVO"},
|
||||
{"name": "J. Cole", "identifier": "@JColeVEVO"},
|
||||
{"name": "Drake", "identifier": "@DrakeOfficial"},
|
||||
{"name": "Little Simz", "identifier": "@littlesimz"},
|
||||
{"name": "Denzel Curry", "identifier": "@denzelcurryph"},
|
||||
{"name": "Doechii", "identifier": "@iamdoechii"},
|
||||
{"name": "JID", "identifier": "@JIDsv"},
|
||||
{"name": "GloRilla", "identifier": "@GloRillaOfficial"},
|
||||
{"name": "Central Cee", "identifier": "@CentralCee"},
|
||||
{"name": "Ice Spice", "identifier": "@IceSpicee"},
|
||||
|
||||
# Global Heavyweights & Icons
|
||||
{"name": "Travis Scott", "identifier": "@TravisScottXX"},
|
||||
{"name": "Eminem", "identifier": "@eminem"},
|
||||
{"name": "Kanye West", "identifier": "@kanyewest"},
|
||||
{"name": "Nicki Minaj", "identifier": "@NickiMinaj"},
|
||||
{"name": "Future", "identifier": "@FutureOfficial"},
|
||||
{"name": "Tyler, The Creator", "identifier": "@tylerthecreator"},
|
||||
{"name": "21 Savage", "identifier": "@21savage"},
|
||||
{"name": "Post Malone", "identifier": "@PostMalone"},
|
||||
{"name": "Lil Baby", "identifier": "@LilBaby"},
|
||||
{"name": "Lil Wayne", "identifier": "@LilWayne"},
|
||||
|
||||
# Contemporary Chart-Toppers & Touring Titans
|
||||
{"name": "Megan Thee Stallion", "identifier": "@megantheestallion"},
|
||||
{"name": "Playboi Carti", "identifier": "@PlayboiCarti"},
|
||||
{"name": "Jack Harlow", "identifier": "@JackHarlow"},
|
||||
{"name": "Gunna", "identifier": "@GunnaOfficial"}, # Fixed: @GunnaOfficial
|
||||
{"name": "Lil Uzi Vert", "identifier": "@LILUZIVERT"},
|
||||
{"name": "A$AP Rocky", "identifier": "@asvpxrocky"},
|
||||
{"name": "Cardi B", "identifier": "@iamcardib"},
|
||||
{"name": "Young Thug", "identifier": "@youngthugonline"},
|
||||
{"name": "Roddy Ricch", "identifier": "@RoddyRicch"},
|
||||
{"name": "DaBaby", "identifier": "@DaBabyOfficial"},
|
||||
|
||||
# Emerging & High-Velocity Breakout Acts
|
||||
{"name": "Sexyy Red", "identifier": "@SexyyRed"},
|
||||
{"name": "Ken Carson", "identifier": "@kencarson"},
|
||||
{"name": "Destroy Lonely", "identifier": "@destroylonely"},
|
||||
{"name": "Teezo Touchdown", "identifier": "@TeezoTouchdown"},
|
||||
{"name": "Latto", "identifier": "@Latto777"},
|
||||
{"name": "Flo Milli", "identifier": "@flomilli"},
|
||||
{"name": "Baby Keem", "identifier": "@babykeem"}, # Fixed: @babykeem
|
||||
{"name": "Yeat", "identifier": "@yeat"},
|
||||
{"name": "Don Toliver", "identifier": "@DonToliver"},
|
||||
{"name": "Coi Leray", "identifier": "@CoiLeray"},
|
||||
|
||||
# Critically Acclaimed & Lyricist Core
|
||||
{"name": "Freddie Gibbs", "identifier": "@freddiegibbs"},
|
||||
{"name": "Joey Bada$$", "identifier": "@joeybadass"},
|
||||
{"name": "Danny Brown", "identifier": "@xdannyxbrownxVEVO"}, # Fixed: @xdannyxbrownxVEVO
|
||||
{"name": "Pusha T", "identifier": "@pushat"},
|
||||
{"name": "Vince Staples", "identifier": "@vincestaples"},
|
||||
{"name": "Saba", "identifier": "@sabapivot"},
|
||||
{"name": "Smino", "identifier": "@Sminoofcl"},
|
||||
{"name": "Isaiah Rashad", "identifier": "@IsaiahRashad"},
|
||||
{"name": "Westside Gunn", "identifier": "@GriseldaRecords"},
|
||||
{"name": "EARTHGANG", "identifier": "https://www.youtube.com/@EarthgangOfficial"}, # Fixed: EarthgangOfficial
|
||||
]
|
||||
@@ -0,0 +1,501 @@
|
||||
name,identifier
|
||||
Kendrick Lamar,https://www.youtube.com/@KendrickLamarVEVO
|
||||
J. Cole,@JColeVEVO
|
||||
Drake,@DrakeOfficial
|
||||
Little Simz,@littlesimz
|
||||
Denzel Curry,@denzelcurryph
|
||||
Doechii,@iamdoechii
|
||||
JID,@JIDsv
|
||||
GloRilla,@GloRillaOfficial
|
||||
Central Cee,@CentralCee
|
||||
Ice Spice,@IceSpicee
|
||||
Travis Scott,@TravisScottXX
|
||||
Eminem,@eminem
|
||||
Kanye West,@kanyewest
|
||||
Nicki Minaj,@NickiMinaj
|
||||
Future,@FutureOfficial
|
||||
"Tyler, The Creator",@tylerthecreator
|
||||
21 Savage,@21savage
|
||||
Post Malone,@PostMalone
|
||||
Lil Baby,@LilBaby
|
||||
Lil Wayne,@LilWayne
|
||||
Megan Thee Stallion,@megantheestallion
|
||||
Playboi Carti,@PlayboiCarti
|
||||
Jack Harlow,@JackHarlow
|
||||
Gunna,@GunnaOfficial
|
||||
Lil Uzi Vert,@LILUZIVERT
|
||||
A$AP Rocky,@asvpxrocky
|
||||
Cardi B,@iamcardib
|
||||
Young Thug,@youngthugonline
|
||||
Roddy Ricch,@RoddyRicch
|
||||
DaBaby,@DaBabyOfficial
|
||||
Sexyy Red,@SexyyRed
|
||||
Ken Carson,@kencarson
|
||||
Destroy Lonely,@destroylonely
|
||||
Teezo Touchdown,@TeezoTouchdown
|
||||
Latto,@Latto777
|
||||
Flo Milli,@flomilli
|
||||
Baby Keem,@babykeem
|
||||
Yeat,@yeat
|
||||
Don Toliver,@DonToliver
|
||||
Coi Leray,@CoiLeray
|
||||
Freddie Gibbs,@freddiegibbs
|
||||
Joey Bada$$,@joeybadass
|
||||
Danny Brown,@xdannyxbrownxVEVO
|
||||
Pusha T,@pushat
|
||||
Vince Staples,@vincestaples
|
||||
Saba,@sabapivot
|
||||
Smino,@Sminoofcl
|
||||
Isaiah Rashad,@IsaiahRashad
|
||||
Westside Gunn,@GriseldaRecords
|
||||
EARTHGANG,https://www.youtube.com/@EarthgangOfficial
|
||||
Nas,@nas
|
||||
Jay-Z,@JayZ
|
||||
Snoop Dogg,@SnoopDogg
|
||||
50 Cent,@50Cent
|
||||
The Notorious B.I.G.,@notoriousbig
|
||||
2Pac,@2pac
|
||||
Dr. Dre,@drdre
|
||||
Ice Cube,@IceCube
|
||||
Busta Rhymes,@BustaRhymes
|
||||
Method Man,@MethodMan
|
||||
Redman,@redman
|
||||
Wu-Tang Clan,@WuTangClan
|
||||
Outkast,@outkast
|
||||
DMX,@dmx
|
||||
Ludacris,@Ludacris
|
||||
T.I.,@TI
|
||||
Jeezy,@jeezy
|
||||
Gucci Mane,@guccimane
|
||||
Rick Ross,@RickRoss
|
||||
Common,@common
|
||||
Mos Def,@yasiinbey
|
||||
Talib Kweli,@TalibKweli
|
||||
Lupe Fiasco,@LupeFiasco
|
||||
Ghostface Killah,@GhostfaceKillah
|
||||
Raekwon,@Raekwon
|
||||
GZA,@TheGeniusGZA
|
||||
Cypress Hill,@cypresshill
|
||||
Three 6 Mafia,@three6mafia
|
||||
Fat Joe,@fatjoe
|
||||
Big Pun,@BigPun
|
||||
Scarface,@BrotherMob
|
||||
E-40,@e40
|
||||
Too $hort,@tooshort
|
||||
Bun B,@BunBofUGK
|
||||
UGK,@UGKfilmz
|
||||
Twista,@twista
|
||||
Cam'ron,@mr_camron
|
||||
Jadakiss,@RealJadakiss
|
||||
Styles P,@stylesp
|
||||
Fabolous,@myfabolouslife
|
||||
The Game,@thegame
|
||||
Ja Rule,@JaRule
|
||||
Nelly,@Nelly
|
||||
Chingy,@Chingy
|
||||
Bow Wow,@bowwow
|
||||
Soulja Boy,@SouljaBoyTellem
|
||||
Waka Flocka Flame,@WakaFlockaFlame
|
||||
Chief Keef,@ChiefKeef
|
||||
French Montana,@FrenchMontana
|
||||
Wiz Khalifa,@wizkhalifa
|
||||
Big L,@BigL
|
||||
Kool G Rap,@KoolGRap
|
||||
Rakim,@TheGodRakim
|
||||
Big Daddy Kane,@BigDaddyKane
|
||||
Slick Rick,@SlickRickTheRuler
|
||||
KRS-One,@KRSOne
|
||||
LL Cool J,@LLCoolJ
|
||||
Public Enemy,@PublicEnemy
|
||||
De La Soul,@WeAreDeLaSoul
|
||||
A Tribe Called Quest,@ATCQ
|
||||
The Roots,@theroots
|
||||
Black Thought,@BlackThought
|
||||
Beanie Sigel,@BeanieSigel
|
||||
Freeway,@PhillyFreeway
|
||||
Cassidy,@CASSIDY_LARSINY
|
||||
Lloyd Banks,@LloydBanks
|
||||
Tony Yayo,@TonyYayo
|
||||
Young Buck,@buckmentality
|
||||
Mobb Deep,@mobbdeep
|
||||
Prodigy,@ProdigyOfMobbDeep
|
||||
Havoc,@HavocOfMobbDeep
|
||||
AZ,@QuietMoneyAZ
|
||||
Cormega,@Cormega
|
||||
Inspectah Deck,@InspectahDeck
|
||||
Masta Killa,@MastaKilla
|
||||
U-God,@UGod
|
||||
Killah Priest,@KillahPriest
|
||||
Krayzie Bone,@KrayzieBone
|
||||
Layzie Bone,@LayzieBone
|
||||
Bizzy Bone,@BizzyBone
|
||||
Bone Thugs-N-Harmony,@BoneThugsNHarmony
|
||||
Juvenile,@Juvenile
|
||||
Mannie Fresh,@MannieFresh
|
||||
B.G.,@BGMtH
|
||||
Mystikal,@Mystikal
|
||||
Pastor Troy,@PastorTroy
|
||||
Petey Pablo,@PeteyPablo
|
||||
David Banner,@DavidBanner
|
||||
Paul Wall,@PaulWall
|
||||
Chamillionaire,@chamillionaire
|
||||
Slim Thug,@slimthug
|
||||
Mike Jones,@MikeJones
|
||||
Z-Ro,@TheRealZRo
|
||||
Trae tha Truth,@traethatruth
|
||||
Big Pokey,@BigPokey
|
||||
Lil Keke,@DonKeKe
|
||||
Devin the Dude,@DevinTheDude
|
||||
Project Pat,@ProjectPat
|
||||
Juicy J,@juicyj
|
||||
DJ Paul,@DJPaulKOM
|
||||
Mac Miller,@MacMiller
|
||||
Big Sean,@bigsean
|
||||
Wale,@wale
|
||||
Meek Mill,@meekmill
|
||||
ASAP Ferg,@asapferg
|
||||
Schoolboy Q,@ScHoolboyQ
|
||||
Ab-Soul,@AbSoul
|
||||
Jay Rock,@JayRock
|
||||
YG,@4hunnid
|
||||
Ty Dolla $ign,@tydollasign
|
||||
Kid Cudi,@KidCudi
|
||||
Logic,@Logic
|
||||
G-Eazy,@GEazy
|
||||
Machine Gun Kelly,@mgk
|
||||
Russ,@russ
|
||||
Joyner Lucas,@JoynerLucas
|
||||
NF,@nfrealmusic
|
||||
Hopsin,@Hopsintv
|
||||
Tech N9ne,@StrangeMusicInc
|
||||
Macklemore,@Macklemore
|
||||
B.o.B,@bob
|
||||
Travis Porter,@travisporter
|
||||
Migos,@MigosAtl
|
||||
Quavo,@QuavoHuncho
|
||||
Offset,@OffsetYRN
|
||||
Takeoff,@TakeoffYRN
|
||||
Rae Sremmurd,@RaeSremmurd
|
||||
Swae Lee,@SwaeLee
|
||||
Slim Jxmmi,@SlimJxmmi
|
||||
Rich Homie Quan,@RichHomieQuan
|
||||
Young Dolph,@youngdolph
|
||||
Key Glock,@KeyGlock
|
||||
Moneybagg Yo,@MoneyBaggYo
|
||||
Yo Gotti,@yogottivideos
|
||||
Blac Youngsta,@BlacYoungsta
|
||||
Kevin Gates,@kevingates
|
||||
Boosie Badazz,@boosiebadazz
|
||||
Kodak Black,@KodakBlack
|
||||
NBA YoungBoy,@nba_youngboy
|
||||
Lil Durk,@lildurk
|
||||
King Von,@KingVon
|
||||
Polo G,@PoloG
|
||||
Lil Tjay,@liltjay
|
||||
A Boogie wit da Hoodie,@ABoogieWitDaHoodie
|
||||
Fivio Foreign,@FivioForeign
|
||||
Pop Smoke,@PopSmoke
|
||||
Bobby Shmurda,@BobbyShmurda
|
||||
Rowdy Rebel,@RowdyRebel
|
||||
6ix9ine,@Tekashi69
|
||||
Trippie Redd,@TrippieRedd
|
||||
Juice WRLD,@JuiceWRLD
|
||||
XXXTENTACION,@xxxtentacion
|
||||
Ski Mask the Slump God,@SkiMaskTheSlumpGod
|
||||
Cordae,@cordae
|
||||
IDK,@IDK
|
||||
Aminé,@heyamine
|
||||
GoldLink,@goldlink
|
||||
Duckwrth,@DUCKWRTH
|
||||
Buddy,@Buddy
|
||||
Deante' Hitchcock,@DeanteHitchcock
|
||||
Reason,@reasontde
|
||||
Ray Vaughn,@rayvaughn
|
||||
SiR,@inglewoodSiR
|
||||
Bas,@fiendbassy
|
||||
Cozz,@cody_macc
|
||||
Omen,@omen
|
||||
Lute,@lute_west9
|
||||
Mick Jenkins,@mickjenkins
|
||||
Noname,@noname
|
||||
Rapsody,@rapsody
|
||||
Che Noir,@CheNoir
|
||||
Sa-Roc,@sarocthemc
|
||||
Armani Caesar,@ArmaniCaesar
|
||||
Rome Streetz,@RomeStreetz
|
||||
Conway the Machine,@WHOISCONWAY
|
||||
Benny The Butcher,@BennyTheButcher
|
||||
Boldy James,@BoldyJames
|
||||
Roc Marciano,@rocmarciano
|
||||
Action Bronson,@ActionBronson
|
||||
Earl Sweatshirt,@earlsweatshirt
|
||||
Dom Genesis,@DomsGenesis
|
||||
Hodgy Beats,@hodgy
|
||||
Mike G,@MikeG
|
||||
Maxo Kream,@MaxoKream
|
||||
Big K.R.I.T.,@BigKRIT
|
||||
Curren$y,@currensy
|
||||
Smoke DZA,@SmokeDZA
|
||||
Le$,@steakxshrimp
|
||||
Larry June,@LarryJuneTFM
|
||||
Jay Worthy,@JayWorthy
|
||||
G Perico,@GPerico
|
||||
Blxst,@blxst
|
||||
Bino Rideaux,@binorideaux
|
||||
Kalan.FrFr,@kalanfrfr
|
||||
100k Track,@100kTrack
|
||||
Yungeen Ace,@YungeenAce
|
||||
Foolio,@JulioFoolio
|
||||
EST Gee,@ESTGee
|
||||
42 Dugg,@42Dugg
|
||||
Icewear Vezzo,@icewearvezzo
|
||||
Babyface Ray,@BabyfaceRay
|
||||
Peezy,@PeezyOfficial
|
||||
Veeze,@veeze__
|
||||
Rio Da Yung OG,@RioDaYungOG
|
||||
RMC Mike,@RmcMike
|
||||
YN Jay,@YNJayCoochieMan
|
||||
Bfb Da Packman,@BfbDaPackman
|
||||
Sada Baby,@SadaBaby
|
||||
Tee Grizzley,@TeeGrizzley
|
||||
Payroll Giovanni,@payrollgiovanni
|
||||
G Herbo,@GHerbo
|
||||
Fredo Santana,@FredoSantana
|
||||
Lil Reese,@LilReese
|
||||
Vic Mensa,@VicMensa
|
||||
Chance the Rapper,@chancetherapper
|
||||
Famous Dex,@famousdex
|
||||
Rich the Kid,@RichTheKid
|
||||
Jay Critch,@JayCritch
|
||||
MadeinTYO,@MadeinTYO
|
||||
Lil Yachty,@lilyachty
|
||||
Lil Mosey,@LilMosey
|
||||
Lil Tecca,@LilTecca
|
||||
SoFaygo,@imsofaygo
|
||||
SSGKobe,@ssgkobe
|
||||
Kaash Paige,@KaashPaige
|
||||
Bia,@PrincessBia
|
||||
Saweetie,@saweetie
|
||||
City Girls,@CityGirls
|
||||
JT,@TheGirlJT
|
||||
Yung Miami,@YungMiami
|
||||
Kash Doll,@kashdoll
|
||||
Dej Loaf,@dejloaf
|
||||
Dreezy,@dreezy
|
||||
Tink,@OfficialTink
|
||||
Kamaiyah,@kamaiyah
|
||||
Chika,@chika
|
||||
Tierra Whack,@TierraWhack
|
||||
Rico Nasty,@RicoNasty
|
||||
Princess Nokia,@PrincessNokia
|
||||
Bhad Bhabie,@BhadBhabie
|
||||
Kreayshawn,@kreayshawn
|
||||
Iggy Azalea,@iggyazalea
|
||||
Azealia Banks,@AzealiaBanks
|
||||
Angel Haze,@AngelHaze
|
||||
Brooke Candy,@BrookeCandy
|
||||
Stormzy,@StormzyTV
|
||||
Dave,@Santandave
|
||||
Skepta,@skeptaofficial
|
||||
Jme,@JmeBBK
|
||||
Kano,@TheKano
|
||||
Dizzee Rascal,@dizzeerascal
|
||||
AJ Tracey,@ajtracey
|
||||
Aitch,@AitchOfficial
|
||||
Headie One,@HeadieOne
|
||||
Digga D,@DiggaD
|
||||
K-Trap,@ktrap_official
|
||||
Unknown T,@UnknownT
|
||||
Russ Millions,@RussMillions
|
||||
Tion Wayne,@TionWayne
|
||||
Nemzzz,@Nemzzz
|
||||
Knucks,@Knucks
|
||||
Loyle Carner,@LoyleCarner
|
||||
Slowthai,@slowthai
|
||||
Pa Salieu,@PaSalieu
|
||||
Ghetts,@Ghetts
|
||||
D-Block Europe,@DBlockEurope
|
||||
Young Adz,@YoungAdz
|
||||
Dirtbike LB,@DirtbikeLB
|
||||
M Huncho,@mhuncho
|
||||
Nafe Smallz,@NafeSmallz
|
||||
Fredo,@Fredo
|
||||
Nines,@Nines
|
||||
Potter Payper,@PotterPayper
|
||||
Rimzee,@Rimzee
|
||||
MoStack,@MoStack
|
||||
Mist,@mistmusic
|
||||
Bugzy Malone,@bugzymalone
|
||||
Chip,@OfficialChip
|
||||
Wretch 32,@Wretch32
|
||||
Giggs,@GiggsOfficial
|
||||
Stefflon Don,@stefflondon
|
||||
Ms Banks,@MsBanks
|
||||
Ivorian Doll,@IvorianDoll
|
||||
Darkoo,@Darkoo
|
||||
Homixide Gang,@HomixideGang
|
||||
Osamason,@osamason
|
||||
Nettspend,@nettspend
|
||||
Rich Amiri,@RichAmiri
|
||||
Autumn!,@twinuzis
|
||||
Summrs,@summrs
|
||||
Kankan,@kankan
|
||||
Iayze,@iayze
|
||||
BabyTron,@BabyTron
|
||||
StanWill,@StanWill
|
||||
TrDee,@TrDee
|
||||
Certified Trapper,@certifiedtrapper
|
||||
BLP Kosher,@blpkosher
|
||||
Luh Tyler,@luhtyler
|
||||
Real Boston Richey,@RealBostonRichey
|
||||
Hunxho,@Hunxho
|
||||
YTB Fatt,@ytbfatt
|
||||
Rob49,@Rob49
|
||||
Skilla Baby,@SkillaBaby
|
||||
BigXthaPlug,@BigXthaPlug
|
||||
That Mexican OT,@ThatMexicanOT
|
||||
Drodi,@Drodi
|
||||
BashfortheWorld,@bashfortheworld
|
||||
Southside,@Southside808MAFIA
|
||||
Metro Boomin,@MetroBoomin
|
||||
Pierre Bourne,@PierreBourne
|
||||
Murda Beatz,@MurdaBeatz
|
||||
Tay Keith,@TayKeith
|
||||
Wheezy,@WheezyOuttaHere
|
||||
Boi-1da,@boi1da
|
||||
Hit-Boy,@HitBoy
|
||||
The Alchemist,@alchemist
|
||||
Madlib,@MadlibInvazion
|
||||
Kaytranada,@KAYTRANADA
|
||||
Flying Lotus,@flyinglotus
|
||||
Kenny Beats,@kennybeats
|
||||
Monte Booker,@montebooker
|
||||
Sango,@sango
|
||||
Masego,@Masego
|
||||
JPEGMAFIA,@JPEGMAFIA
|
||||
Paris Texas,@paristexas
|
||||
AG Club,@agclub
|
||||
Spillage Village,@spillagevillage
|
||||
Coast Contra,@CoastContra
|
||||
Grip,@Grip_SS
|
||||
Westside Boogie,@westsideboogie
|
||||
Domani,@Domani
|
||||
Token,@tokenhiphop
|
||||
Dax,@dax
|
||||
Tom MacDonald,@AllHailTomMacDonald
|
||||
Cal Scruby,@CalScruby
|
||||
Chris Webby,@ChrisWebby
|
||||
Merkules,@Merkules
|
||||
Snak The Ripper,@snaktheripper
|
||||
Classified,@classified
|
||||
Belly,@Belly
|
||||
Tory Lanez,@torylanez
|
||||
Roy Woods,@RoyWoods
|
||||
Majid Jordan,@MajidJordan
|
||||
dvsn,@dvsndvsn
|
||||
K-os,@kosinfluence
|
||||
Kardinal Offishall,@kardinaloffishall
|
||||
Night Lovell,@NightLovell
|
||||
Lil Skies,@lilskies
|
||||
Landon Cube,@landoncube
|
||||
Lil Xan,@lilxan
|
||||
Smokepurpp,@smokepurpp
|
||||
Lil Pump,@lilpump
|
||||
Pouya,@pouya
|
||||
Fat Nick,@fatnick
|
||||
Ghostemane,@ghostemane
|
||||
$uicideboy$,@Suicideboys
|
||||
BONES,@TeamSESH
|
||||
Xavier Wulf,@TheHollowSquad
|
||||
Chris Travis,@WaterBoyz
|
||||
Robb Bank$,@RobbBanks
|
||||
SpaceGhostPurrp,@SpaceGhostPurrp
|
||||
Yung Lean,@yunglean
|
||||
Bladee,@bladee
|
||||
Ecco2k,@ecco2k
|
||||
Thaiboy Digital,@thaiboydigital
|
||||
Tommy Cash,@TOMMYCASH
|
||||
Little Big,@littlebig
|
||||
BBNO$,@bbnomula
|
||||
Yung Gravy,@yunggravy
|
||||
Shotgun Willy,@ShotgunWilly
|
||||
Oliver Tree,@OliverTree
|
||||
Ashnikko,@ashnikko
|
||||
Doja Cat,@dojacat
|
||||
BKtherula,@bktherula
|
||||
TiaCorine,@TiaCorine
|
||||
Monaleo,@TheMonaleo
|
||||
Maiya The Don,@MaiyaTheDon
|
||||
ScarLip,@ScarLip
|
||||
Muni Long,@MuniLong
|
||||
Victoria Monét,@VictoriaMonet
|
||||
Chlöe,@chloe
|
||||
Halle,@halle
|
||||
Coco Jones,@cocojones
|
||||
Summer Walker,@SummerWalker
|
||||
Kehlani,@Kehlani
|
||||
Jhené Aiko,@JheneAiko
|
||||
Tinashe,@Tinashe
|
||||
SZA,@sza
|
||||
Snoh Aalegra,@SnohAalegra
|
||||
Brent Faiyaz,@brentfaiyaz
|
||||
Giveon,@Giveon
|
||||
Lucky Daye,@LuckyDaye
|
||||
Leon Thomas,@LeonThomas
|
||||
Arin Ray,@ArinRay
|
||||
BJ The Chicago Kid,@bjthechicagokid
|
||||
Anthony Hamilton,@AnthonyHamilton
|
||||
Anderson .Paak,@andersonpaak
|
||||
NxWorries,@NxWorries
|
||||
Knxwledge,@knxwledge
|
||||
Quelle Chris,@quellechris
|
||||
Open Mike Eagle,@OpenMikeEagle
|
||||
billy woods,@backwoodzstudioz
|
||||
Elucid,@elucid
|
||||
Armand Hammer,@ArmandHammer
|
||||
Moor Mother,@MoorMother
|
||||
Pink Siifu,@pinksiifu
|
||||
Fly Anakin,@flyanakin
|
||||
Lord Apex,@LordApex
|
||||
Cakes da Killa,@cakesdakilla
|
||||
Mykki Blanco,@mykkiblanco
|
||||
Zebra Katz,@zebrakatz
|
||||
Leikeli47,@Leikeli47
|
||||
Junglepussy,@junglepussy
|
||||
Oshun,@oshunnyc
|
||||
The Underachievers,@TheUnderachievers
|
||||
Flatbush Zombies,@TheGloriousDead
|
||||
Meechy Darko,@MeechyDarko
|
||||
Zombie Juice,@ZombieJuice
|
||||
Erick the Architect,@erickarchitect
|
||||
Pro Era,@PROERA
|
||||
Kirk Knight,@kirkknight
|
||||
Nyck Caution,@nyckcaution
|
||||
CJ Fly,@flyhighteam
|
||||
Bishop Nehru,@BishopNehru
|
||||
Dillon Cooper,@TheDillonCooper
|
||||
Your Old Droog,@YourOldDroog
|
||||
Wiki,@wikset
|
||||
Ratking,@ratkingnyc
|
||||
Hak,@haknyc
|
||||
Sporting Life,@sportinglife
|
||||
Despot,@despotnyc
|
||||
Heems,@himanshusuri
|
||||
Kool A.D.,@koolad
|
||||
Das Racist,@dasracist
|
||||
Chaz French,@chazfrench
|
||||
Phil Ade,@philade
|
||||
Fat Trel,@FatTrel
|
||||
Shy Glizzy,@ShyGlizzy
|
||||
NoCap,@NoCap
|
||||
Rylo Rodriguez,@RyloRodriguez
|
||||
LiBand,@LiBand
|
||||
Yung Manny,@yungmanny
|
||||
Xanman,@xanman
|
||||
Q Da Fool,@qdafool
|
||||
Goonew,@goonew
|
||||
Lil Dude,@lildude
|
||||
Big Flame,@bigflame
|
||||
BabySmoove,@babysmoove
|
||||
KrispyLife Kidd,@krispylife_kidd
|
||||
Kasher Quon,@kasherquon
|
||||
|
Reference in new issue
Block a user