{"id":20780057,"url":"https://github.com/sajjad425/edaipl","last_synced_at":"2026-05-05T10:31:42.840Z","repository":{"id":249441944,"uuid":"831521397","full_name":"sajjad425/edaIPL","owner":"sajjad425","description":"The dataset covers the Indian Premier League (IPL) with details on matches (date, teams, venue, results), player stats (runs, wickets), team stats (wins, losses), season summaries, and umpire info. The EDA reveals patterns and insights, highlighting dominant teams, star players, and trends across seasons.","archived":false,"fork":false,"pushed_at":"2024-10-21T01:56:48.000Z","size":1501,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-25T22:31:57.014Z","etag":null,"topics":["data-analysis","eda","exploratory-data-analysis","ipl","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sajjad425.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-20T19:57:40.000Z","updated_at":"2024-10-21T01:56:51.000Z","dependencies_parsed_at":"2024-11-18T00:31:21.475Z","dependency_job_id":null,"html_url":"https://github.com/sajjad425/edaIPL","commit_stats":null,"previous_names":["sajjad425/edaipl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sajjad425/edaIPL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajjad425%2FedaIPL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajjad425%2FedaIPL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajjad425%2FedaIPL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajjad425%2FedaIPL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sajjad425","download_url":"https://codeload.github.com/sajjad425/edaIPL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajjad425%2FedaIPL/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32645955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["data-analysis","eda","exploratory-data-analysis","ipl","python"],"created_at":"2024-11-17T13:31:38.967Z","updated_at":"2026-05-05T10:31:42.822Z","avatar_url":"https://github.com/sajjad425.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Exploratory Data Analysis (EDA) of IPL Dataset\n\n\nImport necessary libraries\n\n```python\nimport pandas as pd\nimport matplotlib.pyplot as plt\nfrom sklearn.cluster import KMeans\nfrom sklearn.preprocessing import StandardScaler\n```\n\n# IPL Matches Dataset Overview\n\nThe IPL matches dataset provides a summary of the details for each match played in the Indian Premier League (IPL). This dataset includes information about the teams, match outcomes, and other relevant details for each game.\n\n## General Information:\n- **Total Records:** 756 entries\n- **Total Columns:** 18\n\n## Columns Description:\n- **id:** Unique identifier for each match.\n- **season:** The season/year of the IPL.\n- **city:** The city where the match was played.\n- **date:** The date when the match took place.\n- **team1:** The first team participating in the match.\n- **team2:** The second team participating in the match.\n- **toss_winner:** The team that won the toss.\n- **toss_decision:** The decision made by the toss winner (field or bat).\n- **result:** The result of the match (normal, tie, no result).\n- **dl_applied:** Indicates if the Duckworth-Lewis method was applied (0 or 1).\n- **winner:** The team that won the match.\n- **win_by_runs:** The number of runs by which the match was won (if applicable).\n- **win_by_wickets:** The number of wickets by which the match was won (if applicable).\n- **player_of_match:** The player awarded as the player of the match.\n- **venue:** The venue where the match was played.\n- **umpire1:** The name of the first umpire.\n- **umpire2:** The name of the second umpire.\n- **umpire3:** The name of the third umpire (if applicable).\n\n\n```python\n# Load the dataset\nmatches_df = pd.read_csv('C:\\\\Users\\\\anonymous\\\\Desktop\\\\TSF GRIP Task\\\\Indian Premier League\\\\matches.csv')\n\n# Display the first few rows of the dataset to understand its structure\nmatches_df.head()\n```\n\n```python\n#shape calculate of match data set\nmatches_df.shape\n```\n\n```python\n# Display basic information about the dataset\nmatches_df.info()\n```\n\n```\n\u003cclass 'pandas.core.frame.DataFrame'\u003e\nRangeIndex: 756 entries, 0 to 755\nData columns (total 18 columns):\n #   Column           Non-Null Count  Dtype \n---  ------           --------------  ----- \n 0   id               756 non-null    int64 \n 1   season           756 non-null    int64 \n 2   city             749 non-null    object\n 3   date             756 non-null    object\n 4   team1            756 non-null    object\n 5   team2            756 non-null    object\n 6   toss_winner      756 non-null    object\n 7   toss_decision    756 non-null    object\n 8   result           756 non-null    object\n 9   dl_applied       756 non-null    int64 \n 10  winner           752 non-null    object\n 11  win_by_runs      756 non-null    int64 \n 12  win_by_wickets   756 non-null    int64 \n 13  player_of_match  752 non-null    object\n 14  venue            756 non-null    object\n 15  umpire1          754 non-null    object\n 16  umpire2          754 non-null    object\n 17  umpire3          119 non-null    object\ndtypes: int64(5), object(13)\nmemory usage: 106.4+ KB\n\n```\n\n# IPL Deliveries Dataset Overview\n\nThe IPL deliveries dataset provides comprehensive ball-by-ball details of Indian Premier League (IPL) matches. This extensive dataset includes various aspects of each delivery, covering the participating teams, players, outcomes of deliveries, and more.\n\n## General Information:\n- **Total Records:** 179,078 entries\n- **Total Columns:** 21\n\n## Columns Description:\n- **match_id:** A unique identifier for each match.\n- **inning:** The inning number (1 or 2).\n- **batting_team:** The team currently batting.\n- **bowling_team:** The team currently bowling.\n- **over:** The over number in the match.\n- **ball:** The ball number within the over.\n- **batsman:** The name of the batsman facing the delivery.\n- **non_striker:** The name of the batsman at the non-striker end.\n- **bowler:** The name of the bowler delivering the ball.\n- **is_super_over:** Indicates if the delivery is part of a super over (binary: 0 or 1).\n- **wide_runs:** Runs scored off wide deliveries.\n- **bye_runs:** Runs scored off byes.\n- **legbye_runs:** Runs scored off leg byes.\n- **noball_runs:** Runs scored off no-balls.\n- **penalty_runs:** Runs awarded as penalty.\n- **batsman_runs:** Runs scored by the batsman from the delivery.\n- **extra_runs:** Total extra runs conceded (sum of wide, bye, legbye, noball, and penalty runs).\n- **total_runs:** Total runs scored from the delivery (batsman_runs + extra_runs).\n- **player_dismissed:** Name of the dismissed player, if any.\n- **dismissal_kind:** Type of dismissal (e.g., caught, bowled, etc.).\n- **fielder:** Name of the fielder involved in the dismissal, if any.\n\n\n```python\n# Load the dataset\ndeliveries_df = pd.read_csv('C:\\\\Users\\\\anonymous\\\\Desktop\\\\TSF GRIP Task\\\\Indian Premier League\\\\deliveries.csv')\n\n# Display the first few rows of the dataset to understand its structure\ndeliveries_df.head()\n\n```\n\n```python\n#shape calculate of deleveries data set\ndeliveries_df.shape\n```\n\n```python\n# Display basic information about the dataset\ndeliveries_df.info()\n```\n\n```\n\u003cclass 'pandas.core.frame.DataFrame'\u003e\nRangeIndex: 179078 entries, 0 to 179077\nData columns (total 21 columns):\n #   Column            Non-Null Count   Dtype \n---  ------            --------------   ----- \n 0   match_id          179078 non-null  int64 \n 1   inning            179078 non-null  int64 \n 2   batting_team      179078 non-null  object\n 3   bowling_team      179078 non-null  object\n 4   over              179078 non-null  int64 \n 5   ball              179078 non-null  int64 \n 6   batsman           179078 non-null  object\n 7   non_striker       179078 non-null  object\n 8   bowler            179078 non-null  object\n 9   is_super_over     179078 non-null  int64 \n 10  wide_runs         179078 non-null  int64 \n 11  bye_runs          179078 non-null  int64 \n 12  legbye_runs       179078 non-null  int64 \n 13  noball_runs       179078 non-null  int64 \n 14  penalty_runs      179078 non-null  int64 \n 15  batsman_runs      179078 non-null  int64 \n 16  extra_runs        179078 non-null  int64 \n 17  total_runs        179078 non-null  int64 \n 18  player_dismissed  8834 non-null    object\n 19  dismissal_kind    8834 non-null    object\n 20  fielder           6448 non-null    object\ndtypes: int64(13), object(8)\nmemory usage: 28.7+ MB\n\n```\n\n```python\n# Check for missing values in the matches dataset\ndeliveries_df.isnull().sum()\n```\n\n```python\n# Check for missing values in the matches dataset\nmatches_df.isnull().sum()\n```\n\n# Issues with the IPL Matches and Deliveries Datasets\n\n## Missing Values:\n\n### Deliveries Dataset:\n- **player_dismissed:** Missing values because not every delivery results in a dismissal.\n- **dismissal_kind:** Missing values for the same reason as player_dismissed.\n- **fielder:** Missing values when no fielder is involved in the dismissal.\n\n### Matches Dataset:\n- **city:** 7 missing entries.\n- **winner:** 4 missing entries.\n- **player_of_match:** 4 missing entries.\n- **umpire1:** 2 missing entries.\n- **umpire2:** 2 missing entries.\n- **umpire3:** 637 missing entries (often umpire3 is not present).\n\n\nDrop the unnecessary Column\n\n```python\n# Drop the umpire3 column\nmatches_df.drop(columns=['umpire3'], inplace=True)\n\n# Check for remaining missing values in the dataset\nmatches_df.isnull().sum()\n\n```\n\n```python\n# Drop the dismissal-related columns with inplace=True\ndeliveries_df.drop(columns=['player_dismissed', 'dismissal_kind', 'fielder'], inplace=True)\n\n# Check the structure of the modified dataset to confirm the columns have been dropped\ndeliveries_df.info()\n\n```\n\n```\n\u003cclass 'pandas.core.frame.DataFrame'\u003e\nRangeIndex: 179078 entries, 0 to 179077\nData columns (total 18 columns):\n #   Column         Non-Null Count   Dtype \n---  ------         --------------   ----- \n 0   match_id       179078 non-null  int64 \n 1   inning         179078 non-null  int64 \n 2   batting_team   179078 non-null  object\n 3   bowling_team   179078 non-null  object\n 4   over           179078 non-null  int64 \n 5   ball           179078 non-null  int64 \n 6   batsman        179078 non-null  object\n 7   non_striker    179078 non-null  object\n 8   bowler         179078 non-null  object\n 9   is_super_over  179078 non-null  int64 \n 10  wide_runs      179078 non-null  int64 \n 11  bye_runs       179078 non-null  int64 \n 12  legbye_runs    179078 non-null  int64 \n 13  noball_runs    179078 non-null  int64 \n 14  penalty_runs   179078 non-null  int64 \n 15  batsman_runs   179078 non-null  int64 \n 16  extra_runs     179078 non-null  int64 \n 17  total_runs     179078 non-null  int64 \ndtypes: int64(13), object(5)\nmemory usage: 24.6+ MB\n\n```\n\n```python\n# Clean the matches dataset\n# Fill missing city values based on the venue\nvenue_city_mapping = {\n    \"Dubai International Cricket Stadium\": \"Dubai\",\n    # Add more mappings as necessary\n}\n\nmatches_df['city'] = matches_df.apply(\n    lambda row: venue_city_mapping.get(row['venue'], row['city']) if pd.isnull(row['city']) else row['city'],\n    axis=1\n)\n\n# Replace missing values in the winner column with 'Match Cancelled' where matches were canceled due to rain\nmatches_df['winner'] = matches_df.apply(\n    lambda row: 'Match Cancelled' if pd.isnull(row['winner']) else row['winner'],\n    axis=1\n)\n\n# Fill missing values in the player_of_match column with 'No Award'\nmatches_df['player_of_match'].fillna('No Award', inplace=True)\n\n# Replace missing values in the umpire1 column with 'Sundaram Ravi'\nmatches_df['umpire1'].fillna('Sundaram Ravi', inplace=True)\n\n# Replace missing values in the umpire2 column with 'Virender Sharma'\nmatches_df['umpire2'].fillna('Virender Sharma', inplace=True)\n\n\n```\n\n```python\nmatches_df.info()\n```\n\n```\n\u003cclass 'pandas.core.frame.DataFrame'\u003e\nRangeIndex: 756 entries, 0 to 755\nData columns (total 17 columns):\n #   Column           Non-Null Count  Dtype \n---  ------           --------------  ----- \n 0   id               756 non-null    int64 \n 1   season           756 non-null    int64 \n 2   city             756 non-null    object\n 3   date             756 non-null    object\n 4   team1            756 non-null    object\n 5   team2            756 non-null    object\n 6   toss_winner      756 non-null    object\n 7   toss_decision    756 non-null    object\n 8   result           756 non-null    object\n 9   dl_applied       756 non-null    int64 \n 10  winner           756 non-null    object\n 11  win_by_runs      756 non-null    int64 \n 12  win_by_wickets   756 non-null    int64 \n 13  player_of_match  756 non-null    object\n 14  venue            756 non-null    object\n 15  umpire1          756 non-null    object\n 16  umpire2          756 non-null    object\ndtypes: int64(5), object(12)\nmemory usage: 100.5+ KB\n\n```\n\n# Cleaned Datasets Summary\n\n## Deliveries Dataset\n- **Columns:** match_id, inning, batting_team, bowling_team, over, ball, batsman, non_striker, bowler, is_super_over, wide_runs, bye_runs, legbye_runs, noball_runs, penalty_runs, batsman_runs, extra_runs, total_runs\n- **Removed Columns:** player_dismissed, dismissal_kind, fielder\n- **Status:** No missing values\n\n## Matches Dataset\n- **Columns:** id, season, city, date, team1, team2, toss_winner, toss_decision, result, dl_applied, winner, win_by_runs, win_by_wickets, player_of_match, venue, umpire1, umpire2\n- **Handled Missing Values:**\n  - **city:** filled based on venue\n  - **winner:** filled with \"Match Cancelled\" where applicable\n  - **player_of_match:** filled with \"No Award\"\n  - **umpire1:** filled with \"Sundaram Ravi\"\n  - **umpire2:** filled with \"Virender Sharma\"\n- **Status:** No missing values\n\n# EDA\n\nExploratory Data Analysis (EDA) is an analysis approach that identifies general patterns in the data. These patterns include outliers and features of the data that might be unexpected.\n\n## Why do EDA\n- Model building\n- Analysis and reporting\n- Validate assumptions\n- Handling missing values\n- Feature engineering\n- Detecting outliers\n\n```python\nmatches_df.describe()\n```\n\n```python\ndeliveries_df.describe()\n```\n\nStep 1: Identify the Most Successful Team\n\n```python\n# Calculate total number of wins for each team\nteam_wins = matches_df['winner'].value_counts()\nprint(\"Total Wins by Team:\\n\", team_wins)\n\n# Identify the team with the most wins\nmost_successful_team = team_wins.idxmax()\nprint(\"Most Successful Team:\", most_successful_team)\n\n# Plot total wins by team\nplt.figure(figsize=(10, 6))\nteam_wins.plot(kind='bar')\nplt.title('Total Wins by Team')\nplt.xlabel('Team')\nplt.ylabel('Number of Wins')\nplt.show()\n```\n\n```\nTotal Wins by Team:\n winner\nMumbai Indians                 109\nChennai Super Kings            100\nKolkata Knight Riders           92\nRoyal Challengers Bangalore     84\nKings XI Punjab                 82\nRajasthan Royals                75\nDelhi Daredevils                67\nSunrisers Hyderabad             58\nDeccan Chargers                 29\nGujarat Lions                   13\nPune Warriors                   12\nRising Pune Supergiant          10\nDelhi Capitals                  10\nKochi Tuskers Kerala             6\nRising Pune Supergiants          5\nMatch Cancelled                  4\nName: count, dtype: int64\nMost Successful Team: Mumbai Indians\n\n```\n![image](https://github.com/user-attachments/assets/24b57732-8e0a-421f-a3cb-5cfbfbbbb833)\n\nStep 2: Identify the Most Successful Batsmen\n\n```python\n# Calculate total runs scored by each batsman\nbatsman_runs = deliveries_df.groupby('batsman')['batsman_runs'].sum()\nprint(\"Total Runs by Batsmen:\\n\", batsman_runs.sort_values(ascending=False).head(10))\n\n# Identify the batsman with the highest total runs\ntop_batsman = batsman_runs.idxmax()\nprint(\"Most Successful Batsman:\", top_batsman)\n\n# Plot top 10 batsmen by runs\nplt.figure(figsize=(10, 6))\nbatsman_runs.sort_values(ascending=False).head(10).plot(kind='bar')\nplt.title('Top 10 Batsmen by Total Runs')\nplt.xlabel('Batsman')\nplt.ylabel('Total Runs')\nplt.show()\n```\n\n```\nTotal Runs by Batsmen:\n batsman\nV Kohli           5434\nSK Raina          5415\nRG Sharma         4914\nDA Warner         4741\nS Dhawan          4632\nCH Gayle          4560\nMS Dhoni          4477\nRV Uthappa        4446\nAB de Villiers    4428\nG Gambhir         4223\nName: batsman_runs, dtype: int64\nMost Successful Batsman: V Kohli\n\n```\n![image](https://github.com/user-attachments/assets/efa389f1-9641-466b-bd6d-e86019e6a7fe)\n\nStep 3: Factors Contributing to Win or Loss\n\nToss Decisions\n\n```python\n# Analyze the impact of toss decisions on match outcomes\ntoss_impact = pd.crosstab(matches_df['toss_decision'], matches_df['winner'] == matches_df['toss_winner'])\nprint(\"Impact of Toss Decision:\\n\", toss_impact)\n\n# Plot the impact of toss decisions\ntoss_impact.plot(kind='bar', stacked=True, figsize=(10, 6))\nplt.title('Impact of Toss Decisions on Match Outcomes')\nplt.xlabel('Toss Decision')\nplt.ylabel('Number of Matches')\nplt.show()\n```\n\n```\nImpact of Toss Decision:\n col_0          False  True \ntoss_decision              \nbat              159    134\nfield            204    259\n\n```\n![image](https://github.com/user-attachments/assets/8ac82ff5-e4f0-4394-b5fe-b56716bd8803)\n\nWinning Margin\n\n```python\n# Analyze the impact of winning margin (runs)\nplt.figure(figsize=(10, 6))\nmatches_df['win_by_runs'].hist(bins=30, edgecolor='black')\nplt.title('Winning Margin by Runs Distribution')\nplt.xlabel('Winning Margin (Runs)')\nplt.ylabel('Frequency')\nplt.show()\n\n# Analyze the impact of winning margin (wickets)\nplt.figure(figsize=(10, 6))\nmatches_df['win_by_wickets'].hist(bins=9, edgecolor='black')\nplt.title('Winning Margin by Wickets Distribution')\nplt.xlabel('Winning Margin (Wickets)')\nplt.ylabel('Frequency')\nplt.show()\n```\n![image](https://github.com/user-attachments/assets/639d72df-8027-4850-9ec4-d100fa44af4b)\n\n![image](https://github.com/user-attachments/assets/df6ddb92-9d1e-423b-a4cb-acc15c8cfd86)\n\nVenue Impact\n\n```python\n# Analyze the impact of different venues\nvenue_wins = matches_df.groupby('venue')['winner'].value_counts().unstack().fillna(0)\nprint(\"Wins by Venue:\\n\", venue_wins)\n\n# Plot the impact of venues\nvenue_wins.sum(axis=1).sort_values(ascending=False).head(10).plot(kind='bar', figsize=(10, 6))\nplt.title('Top Venues by Number of Matches')\nplt.xlabel('Venue')\nplt.ylabel('Number of Matches')\nplt.show()\n```\n\n```\nWins by Venue:\n winner                                              Chennai Super Kings  \\\nvenue                                                                     \nACA-VDCA Stadium                                                    1.0   \nBarabati Stadium                                                    0.0   \nBrabourne Stadium                                                   1.0   \nBuffalo Park                                                        1.0   \nDe Beers Diamond Oval                                               1.0   \nDr DY Patil Sports Academy                                          3.0   \nDr. Y.S. Rajasekhara Reddy ACA-VDCA Cricket Sta...                  1.0   \nDubai International Cricket Stadium                                 2.0   \nEden Gardens                                                        5.0   \nFeroz Shah Kotla                                                    5.0   \nFeroz Shah Kotla Ground                                             1.0   \nGreen Park                                                          0.0   \nHimachal Pradesh Cricket Association Stadium                        1.0   \nHolkar Cricket Stadium                                              0.0   \nIS Bindra Stadium                                                   0.0   \nJSCA International Stadium Complex                                  3.0   \nKingsmead                                                           1.0   \nM Chinnaswamy Stadium                                               5.0   \nM. A. Chidambaram Stadium                                           6.0   \nM. Chinnaswamy Stadium                                              0.0   \nMA Chidambaram Stadium, Chepauk                                    34.0   \nMaharashtra Cricket Association Stadium                             5.0   \nNehru Stadium                                                       0.0   \nNew Wanderers Stadium                                               1.0   \n\n```\n![image](https://github.com/user-attachments/assets/d5e71396-a771-4815-80c5-e03e73fd3e22)\n\n# Suggest Team or Players a Company Should Endorse for its Product\n\n## Team Recommendation\n**Mumbai Indians**\n\n**Reason:** Mumbai Indians have consistently performed well in the IPL, winning the most titles. Their strong team performance and large fan base make them an excellent choice for endorsement.\n\n## Player Recommendation\n**Virat Kohli**\n\n**Reason:** Virat Kohli is one of the top-performing batsmen with a significant number of runs in the IPL. He is highly popular and has a strong presence both on and off the field, making him an ideal choice for endorsement.\n\n## Summary\n- **Team to Endorse:** Mumbai Indians\n- **Player to Endorse:** Virat Kohli\n\n```python\n# Team Recommendation\nteam_wins = matches_df['winner'].value_counts()\nmost_successful_team = team_wins.idxmax()\n\n# Player Recommendation\nbatsman_runs = deliveries_df.groupby('batsman')['batsman_runs'].sum()\ntop_batsman = batsman_runs.idxmax()\n\nprint(\"Most Successful Team:\", most_successful_team)\nprint(\"Most Successful Batsman:\", top_batsman)\n```\n\n```\nMost Successful Team: Mumbai Indians\nMost Successful Batsman: V Kohli\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsajjad425%2Fedaipl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsajjad425%2Fedaipl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsajjad425%2Fedaipl/lists"}