{"id":24306671,"url":"https://github.com/vipyne/weather-bot","last_synced_at":"2025-10-08T01:10:22.234Z","repository":{"id":271635950,"uuid":"914090164","full_name":"vipyne/weather-bot","owner":"vipyne","description":"just another weather bot tool-calling demo using Pipecat AI \u0026 Gemini Multimodal Live API","archived":false,"fork":false,"pushed_at":"2025-03-06T02:45:11.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T03:29:15.236Z","etag":null,"topics":["gemini","pipecat","tool-calling"],"latest_commit_sha":null,"homepage":"","language":"Python","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/vipyne.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":"2025-01-08T23:42:38.000Z","updated_at":"2025-03-06T02:45:14.000Z","dependencies_parsed_at":"2025-03-06T03:25:20.155Z","dependency_job_id":"cc1e2b6f-77db-4969-9022-3fa50a651f63","html_url":"https://github.com/vipyne/weather-bot","commit_stats":null,"previous_names":["vipyne/weather-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vipyne/weather-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipyne%2Fweather-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipyne%2Fweather-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipyne%2Fweather-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipyne%2Fweather-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vipyne","download_url":"https://codeload.github.com/vipyne/weather-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipyne%2Fweather-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278872668,"owners_count":26060621,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"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":["gemini","pipecat","tool-calling"],"created_at":"2025-01-17T03:38:33.029Z","updated_at":"2025-10-08T01:10:22.207Z","avatar_url":"https://github.com/vipyne.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# weather-bot\n\nA weather bot is the 'hello world' of LLM function calling. I've found the documentation for most function calling / tool calling to gloss over any actual API calls made. (I call peanut butter on it always being 75 and sunny in NYC). So here is a tool calling 'hello world' that _actually_ calls an API. Shout out to [NOAA](https://www.noaa.gov/) for providing API access without a key, which makes running this example _a breeze_.* And thanks to the [Pipecat AI](https://github.com/pipecat-ai/pipecat) framework, it's all done in ~200 lines of code. Lastly but not leastly, Gemini Multimodal Live is really fast and cool.\n\n## dependencies\nGet a few free keys.\n\n- Daily API Key\n1. Signup at [Daily](https://dashboard.daily.co/u/signup?pipecat=y).\n2. Verify email address and choose a subdomain to complete onboarding.\n3. Click on \"Developers\" in left-side menu of Daily dashboard to reveal API Key.\n\n- Gemini API key\n1. Obtain that [here](https://aistudio.google.com/apikey).\n\n## setup\n```bash\ncp env.example .env\n# add Daily and Gemini keys\nsource .env\npython3.12 -m venv venv\nsource venv/bin/activate\npip install \"pipecat-ai[daily,google,openai,silero]\" noaa_sdk python-dotenv\n```\n\n## run\n```bash\npython weather-bot.py\n```\nor, if you have a Daily room already created:\n\n```bash\nDAILY_ROOM=https://my-domain.daily.co/room python weather-bot.py\n```\n\n## profit\n\nNot really. But this demo could be updated and totally used for profit.\n\n* yes, that was a weather joke.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvipyne%2Fweather-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvipyne%2Fweather-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvipyne%2Fweather-bot/lists"}