| import requests | |
| def search_github(query, max_results=3): | |
| url = f"https://api.github.com/search/repositories?q={query}&sort=stars&order=desc" | |
| response = requests.get(url) | |
| if response.status_code == 200: | |
| items = response.json().get('items', [])[:max_results] | |
| repo_data = [] | |
| for item in items: | |
| readme_url = f"https://raw.githubusercontent.com/{item['full_name']}/main/README.md" | |
| readme_content = "README not found." | |
| r_readme = requests.get(readme_url) | |
| if r_readme.status_code == 200: | |
| readme_content = r_readme.text[:1500] | |
| repo_data.append({ | |
| "name": item['full_name'], | |
| "description": item['description'], | |
| "url": item['html_url'], | |
| "stars": item['stargazers_count'], | |
| "readme": readme_content | |
| }) | |
| return repo_data | |
| return "Failed to search GitHub." | |